RSS
# Re: АРХИВ: за кадром
std.hugeping
boscholeg(ping,5) — hugeping
2020-11-20 12:19:42


Ура
:(
P.S. Edited: 2020-11-21 22:14:08

# Re: АРХИВ: за кадром
std.hugeping
hugeping(ping,1) — boscholeg
2020-11-20 11:11:20


Договорились! Когда/если напишу - попрошу протестировать. :)

# Re: АРХИВ: за кадром
std.hugeping
boscholeg(ping,5) — Peter
2020-11-20 09:00:45


Вот если ты не будешь просить тестировать игру, то я к примеру могу и не поучаствовать. Мне крайне дискомфортно напрашиваться в помощники. А поучаствовать очень даже хочется. И пользу какую-то принести тоже.
Свою игрушку я видимо напишу еще не скоро. Дай хоть в твоей работе буду полезен.
P.S. Edited: 2020-11-20 09:00:52
Если в тестировании от меня мало толку, то ты всегда можешь об этом сказать прямо. Критику в свой адрес я всегда принимаю адекватно.

# Сложность операционных систем
std.hugeping
hugeping(ping,1) — hugeping
2020-11-19 18:41:20


В продолжение. У автора нашлась ещё интересная статья. Или даже, труд.

# Comparison of Operating System Complexity

https://pspodcasting.net/dan/blog/2020/complexity.pdf

Из прекрасного:
> The web has all the hallmarks of being put together by a bunch of teenagers withoutexperience, collaboration or a clue, and come to think of it, that is exactly how it was made. If any one really believes otherwise, I cordially invite them to read the source code of Firefox or Chromium. It willtake 20 years to do so, but hopefully wisdom will dawn long before they are finished.

Всё я не читал, только фрагменты. Но уже видно, что от души. :)

# Re: Plan 9: экстремальный KISS #3
std.hugeping
Andrew Lobanov(tavern,1) — artur
2020-11-15 17:56:37


artur> Я к тому, что по первой статье и тому, что написано на википедии, я бы не назвал это вообще хоть как-то удобным.

Как линукс после винды. Как винда после макос :) Разный UX ещё не значит неудобства. Только непривычность.

artur> А тут, оказывается, все просто так.

Как в юниксе когда-то. Очень давно :)

artur> На счет решений, я под ними подразумевал "пути", которыми Пётр шел, когда ему необходима была та или иная вещь.

Стало ещё менее понятно :)

artur> Ну и вот эти вот скрипты всякие...

Я везде скрипты пишу. Очень удобно :)

# Re: Plan 9: экстремальный KISS #3
std.hugeping
artur(ping,3) — Andrew Lobanov
2020-11-13 10:59:09


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

# Re: Plan 9: экстремальный KISS #3
std.hugeping
Andrew Lobanov(tavern,1) — artur
2020-11-13 06:16:04


artur> Что-то с каждой темой всё больше "очеловечивается" plan9=)

Можешь развернутьмысль? Я что-то не понял её :)

artur> Интересно, занимательно. Особенно когда свои решения пишешь.

Особенно если можешь писатьсвои решения :)

Статьи и правда годные. Я бы даже сказал, вдохновляющие :)

# Re: Plan 9: экстремальный KISS #3
std.hugeping
artur(ping,3) — hugeping
2020-11-12 23:00:54


Что-то с каждой темой всё больше "очеловечивается" plan9=)
Интересно, занимательно. Особенно когда свои решения пишешь.

# Plan 9: экстремальный KISS #3
std.hugeping
hugeping(ping,1) — All
2020-11-11 13:25:57


Продолжаю использовать Plan9 (9front) на своём нетбуке.

# Кросскомпиляция на go

Я писал, что собрать современный go на eeepc я не смог - не хватило памяти. Сегодня, внезапно осознав, что всё может быть гораздо проще, чем мне кажется, я набрал на ноутбуке с ArchLinux:
$ GOOS=plan9 GOARCH=amd64 go build 
И собрал проект на go, который прекрасно запустился на 9front! Отлично, получается Plan9 не выкинут из современного go и это радует! Можно просто кросс-компилировать нужный софт.

# Доступ по drawterm

Обычно, я заливаю данные на eeepc через exportfs или по sshfs. Но иногда хочется зайти на машинку удалённо. Для этого в ArchLinux я поставил 9front-drawterm, а на 9front запускаю такой скрипт:

#!/bin/rc
auth/factotum -n
echo 'key proto=p9sk1 dom=$sysname user=glenda !password=password' >/mnt/factotum/ctl
aux/listen1 -t tcp!*!17019 /rc/bin/service/tcp17019 &

С ArchLinux:
9front-drawterm -h  -u glenda 

И получаем внешне что-то похожее на vnc. Чтобы запустить rio, наберите rio -i riostart. Перед этим можно ещё запустить webfs. Вообще, посмотрите на $home/lib/profile. Там есть ветвление между terminal/cpu. Когда вы заходите по drawterm, выполняется ветка cpu. Когда работаете на машинке в обычном режиме -- это terminal.

# Звук HDA Intel

Звук у меня завёлся, но только в наушниках. Долгое время меня это не беспокоило, но потом стало интересно. Я думал, что игра с пинами должна помочь. Но к сожалению, никакой документации я не нашёл. В исходном коде я увидел, что можно делать что-то вроде echo 'pin 26' > /dev/audioctl. Мой /dev/audiostat был таким:

bufsize   1024 buffered      0
codec 0 pin 26 inpin 18
aout 2 1d
aout 3 1d
beep 4 f00000
beep 5 f00000
aout 6 211
beep 7 f00000
ain 8 10011b ← amix 35
ain 9 10011b ← asel 34
beep 10 f00000
amix 11 20010b ← pin 24, pin 25, pin 26, pin 27, pin 29
amix 12 20010b ← aout 2, amix 11
amix 13 20010b ← aout 3, amix 11
beep 14 f00000
amix 15 20010a ← aout 2, amix 11
beep 16 f00000
beep 17 f00000
pin 18 in fix int special micin ?
beep 19 f00000
pin 20 out fix int special speaker ? eapd ← amix 12, amix 13
beep 21 f00000
beep 22 f00000
pin 23 out nothing ext rear speaker black ← amix 15
pin 24 inout nothing ext rear speaker black ← amix 13
pin 25 in nothing ext rear speaker black
pin 26 inout jack ext rear hpout green ← amix 12, amix 13
pin 27 inout nothing ext rear speaker black ← amix 12, amix 13
beep 28 f00000
pin 29 in nothing ext N/A lineout purple
pin 30 out nothing ext rear speaker black ← aout 6
beep 31 f00000
beep 32 f00040
pin 33 out nothing ext rear speaker black ← amix 12, amix 13
asel 34 30010b ← pin 24, pin 25, pin 26, pin 27, pin 29, amix 11, pin 18
amix 35 20010b ← pin 24, pin 25, pin 26, pin 27, pin 29, amix 11
outpath aout 2 → amix 12 → pin 26
outamp aout 2
inpath pin 18 → asel 34 → ain 9
inamp ain 9

Я прошёлся по всем пинам, делая echo 'pin номер' > /dev/audioctl -- звука нет. Ну и я решил, что не судьба. Потом, случайно, натолкнулся на: https://pspodcasting.net/dan/blog/2019/plan9_desktop.html

И там обнаружил, что доступна ещё одна запись: 'pin номер,номер,номер,...'. Больше никаких подробностей не было. Я снова заглянул в код, поэкспериментирвал и понял, что последовательность pin - это путь сигнала в обратном порядке (может быть, это мои фантазии, и я просто понял всё наоборот). Конкретно в моём случае, счастливой комбинацией стало:

echo 'pin 20,15,2' > /dev/audioctl

Вы можете сами сопоставить этот "путь" с содержимым audioctl.

А вернуть вывод звука на наушники проще: echo pin 26 > /dev/audioctl

В общем, наслаждаемся звуком: http://hugeping.tk/lib/uploads/9front-zuke.png

# telegram/discord

Я поднял на своей малинке bitlbee сервер. Собрал telegram-tdlib. В итоге, получилось из irc чатиться по работе в telegram. А также зависать в discord. Конечно, есть нюансы, но главное - работает! Детали описывать не буду, скучная рутина.

Зато интересный нюанс, отсутствие "нормального" браузера заставляет находить решения, которые часто оказываются более эффективными. Например, из irc клиента я хотел закачивать скриншоты и публиковать их в telegram чате. Сначала я использовал sshfs на малинку, а потом написал такой скрипт:

#!/bin/rc
if(~ $#* 0)
        file=/fd/0
if not
        file=$1

hpost -m / -u http://curldu.mp 'File@'^$file

Заливаем файл на http://curldu.mp и просто копируем ссылку в чат. Это даже проще, чем telega в emacs. :)

"Из коробки" в 9front также имеется скрипт webpaste, которая заливает текст на pastebin-подобный сервис. Всё для людей!

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

Кстати, в mothra нет закладок. Закладки для меня - обычный текст bookmarks.txt, в которой строка за строкой перечислены url. Я открываю файл в acme, нажимаю 2й кнопкой мыши на url и она открывается (с помощью plumber). KISS как он есть.

Ещё один забавный курьёз: бороздя интернет в mothra натолкнулся на сайт с научными новостями. Сайт мне чем-то понравился, я добавил его в bookmarks.txt. А потом, как-то находясь в Linux, открыл его в FireFox: https://nplus1.ru :) Знаете, лучше я пойду обратно в Plan9.

# Чтение epub

page не читает epub, но на самом деле, читает. :) Вы просто монтируете epub с помощью zipfs. Потом открываете xml с текстом с помощью page. Выглядит вполне прилично - логическое форматирование присутствует. А что ешё нужно?

# INSTEAD для Plan9

SDL1 на Plan9 не готов. Поэтому я просто собрал tiny варианты инстеда и метапарсера. На удивление -- вполне юзабельно и в духе минимализма Plan9.

http://hugeping.tk/lib/uploads/9front-instead-cat.png

Так что если что, добро пожаловать: https://github.com/gl00my/plan9hacks/tree/master/9instead

# Лирическое заключение

Почти каждый день после работы я с большим удовольствием запускаю свой eeepc с Plan9 и смотрю IT-новости, чатюсь с друзьями, читаю и отвечаю на почту, слушаю музыку, программирую, запускаю игры INSTEAD (в тексте) и собираюсь написать свою. Зачем?

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

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

Несклько дней назад мне пришлось разбираться с одной из подсистем ядра Linux. 3 или 4 дня я изучал хитрые приёмы синхронизации, в которых гонки были архитектурно предусмотрены, а равномерность нагрузки достигалась путём хитроумнейших хаков. В этом тоже есть своя "хакерская" красота. Но не могу себя обманывать, этот код у меня вызывает стресс. Код на грани возможного. Может быть, так и надо. (Я писал уже на похожую тему ii://kXDk7c9zuOEmsuY0nFZW/ ) Но облегчение, которое я испытал вечером, запустив acme... Оно было настолько реальным... :)

# Re: Plan 9: экстремальный KISS #1
std.hugeping
hugeping(ping,1) — Difrex
2020-10-28 16:24:44


Difrex> Кстати, а нет ли порта bash под plan9?

Я этого не знаю, но заменять rc, в котором преодолены проблемы bash (и очень изящно) снова на bash - не имеет смысла по-моему. :)

http://doc.cat-v.org/plan_9/4th_edition/papers/rc посмотри здесь раздел Quotation, и сравни с тем же bash. Да в bash ад, просто, на фоне простоты rc!

# Re: Plan 9: экстремальный KISS #1
std.hugeping
vvs(ping,12) — Difrex
2020-10-28 16:18:32


>> Шелл конечно аскетичный, надоедает каждый раз вводить команду заново
Difrex> Кстати, а нет ли порта bash под plan9?

Я думаю так. Основные идеи в Plan 9: все - это текстовые файлы, каждый процесс - это файл-сервер, коммуникационный протокол - 9P, одна утилита - одна функция. Я считаю, что в Plan 9 весь существующий софт надо переписывать с нуля, например там не нужна куча архиваторов - должен быть отдельно простой tar и отдельно компрессоры. Если там опять будет bash, X.org, dbus, systemd и GNOME/GTK, то какой толк от этих его идей? Чем Linux не устраивает? Нет, я понимаю, что для экспериментов это несущественно. Но сколько усилий кто-то готов в личные эксперименты вкладывать? Потому он и не взлетел. Я в свое время быстро на Inferno переключился, но даже там полезных применений не нашел.

# Re: Plan 9: экстремальный KISS #1
std.hugeping
Difrex(dynamic,1) — btimofeev
2020-10-28 14:15:04


> Шелл конечно аскетичный, надоедает каждый раз вводить команду заново
Кстати, а нет ли порта bash под plan9?

# Re: Plan 9: экстремальный KISS #1
std.hugeping
hugeping(ping,1) — btimofeev
2020-10-24 09:07:04


> Шелл конечно аскетичный, надоедает каждый раз вводить команду заново, особенно когда ФС изучаешь.

Частично помогает " и "". Это показ последней команды (а потом мышка, да) или повтор последней команды.

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

# Re: Plan 9: экстремальный KISS #1
std.hugeping
btimofeev(ping,6) — hugeping
2020-10-24 00:16:48


Спасибо за статью. Пиши ещё, интересно читать.

Я сегодня поставил 9front на raspberry pi, повозился пару часов. Пока научился работать с rio и запускать программы. Довольно интересный опыт. Шелл конечно аскетичный, надоедает каждый раз вводить команду заново, особенно когда ФС изучаешь. Надо будет загуглить как тут вайфай настроить.

# Re: Plan 9: экстремальный KISS #2
std.hugeping
hugeping(ping,1) — oldpc
2020-10-21 10:54:56


У меня настолько много расплодилось блогов, что я просто пишу теперь в std.hugeping и дублирую на zeronet. Если кому-то нравится, можно перепостить. Но я часто редактирую свои статьи, так что проще просто ссылку кидать на оригинал.

# Re: Plan 9: экстремальный KISS #2
std.hugeping
oldpc(ping,11) — hugeping
2020-10-21 10:50:08


> Мне не повезло. На eeepc 1000px не работал ни wifi ни ethernet. Поэтому мне пришлось портировать драйверы alc и athn с OpenBSD. В случае athn, для скорости, я перенёс только код для своей карты AR2427. Все наработки по Plan9 я выкладываю сюда: https://github.com/gl00my/plan9hacks

может, стоит кросспостить эти блоги в эху oldpc?

# Plan 9: экстремальный KISS #2
std.hugeping
hugeping(ping,1) — All
2020-10-21 10:07:36


Постепенно осваиваюсь в 9front. Стало понятно, что кое-где есть неточности в предыдущей статье. Но не ошибается только тот, кто ничего не делает! Так что продолжу свой цикл статей про жизнь в форке Plan 9 -- 9front.

http://hugeping.tk/lib/uploads/acme-mail.png

# Простота кода

Мне не повезло. На eeepc 1000px не работал ни wifi ни ethernet. Поэтому мне пришлось портировать драйверы alc и athn с OpenBSD. В случае athn, для скорости, я перенёс только код для своей карты AR2427. Все наработки по Plan9 я выкладываю сюда: https://github.com/gl00my/plan9hacks

Я понимаю, что этот путь доступен не для всех, но хочу отдельно заострить внимание на простоте кода Plan9. Там, где в Linux/OpenBSD написано 10 строк, в Plan9 будет одна.

OpenBSD:
	/*
	 * Create DMA stuffs for TX ring
	 */
	error = bus_dmamap_create(sc->sc_dmat, ALC_TX_RING_SZ, 1,
	    ALC_TX_RING_SZ, 0, BUS_DMA_NOWAIT, &sc->alc_cdata.alc_tx_ring_map);
	if (error)
		return (ENOBUFS);

	/* Allocate DMA'able memory for TX ring */
	error = bus_dmamem_alloc(sc->sc_dmat, ALC_TX_RING_SZ,
	    ETHER_ALIGN, 0, &sc->alc_rdata.alc_tx_ring_seg, 1,
	    &nsegs, BUS_DMA_NOWAIT | BUS_DMA_ZERO);
	if (error) {
		printf("%s: could not allocate DMA'able memory for Tx ring.\n",
		    sc->sc_dev.dv_xname);
		return error;
	}

	error = bus_dmamem_map(sc->sc_dmat, &sc->alc_rdata.alc_tx_ring_seg,
	    nsegs, ALC_TX_RING_SZ, (caddr_t *)&sc->alc_rdata.alc_tx_ring,
	    BUS_DMA_NOWAIT);
	if (error)
		return (ENOBUFS);

Linux:
	alx->descmem.virt = dma_zalloc_coherent(&alx->hw.pdev->dev,
						alx->descmem.size,
						&alx->descmem.dma,
						GFP_KERNEL);

9front:
        ctlr->tx_ring = mallocalign(sizeof(TxDesc) * DSCN, 8, 0, 0);

А вот ещё один очень наглядный пример из ACPI.

Linux:
	args[0] =
	    acpi_ut_create_integer_object((u64)region_obj->region.space_id);
	if (!args[0]) {
		status = AE_NO_MEMORY;
		goto cleanup1;
	}

	args[1] = acpi_ut_create_integer_object((u64)function);
	if (!args[1]) {
		status = AE_NO_MEMORY;
		goto cleanup2;
	}

	args[2] = NULL;		/* Terminate list */

	/* Execute the method, no return value */

	ACPI_DEBUG_EXEC(acpi_ut_display_init_pathname
			(ACPI_TYPE_METHOD, info->prefix_node, NULL));

	status = acpi_ns_evaluate(info);
	acpi_ut_remove_reference(args[1]);

9front:
	p = amlwalk(dot, "^_REG");
	if (p != nil) {
		amleval(p, "ii", 0x3, 1, nil);
	}
Это не шутка, это эквивалентный код. Код из 9front это мой код, который внесён в 9front, который я писал изучая аналогичный код Linux.

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

Немного отвлекаясь, хочу рассказать, что похожие эмоции я испытал, когда смотрел код утилиты cat одной из ранних версий Unix. Исходный код делал именно то, что и должна делать утилита cat. Не больше и не меньше. Сегодня же, можно посмотреть на https://www.gnu.org/software/hello/ чтобы убедиться, насколько технологии переусложнены. Кто-то скажет, что это неизбежно. У нас появились локали, gettext, разные варианты системных вызовов и так далее... Всё это, конечно, так. Но... Как программисту, мне хочется спросить -- адекватна ли цена? В общем, архитектурная простота Plan9 сквозит во всём. Plan9 -- не продукт.

Итак, если вы программист (на C) -- проблем с доработками кода не будет. Кодовая база небольшая, доступна в /sys/src из коробки и очень быстро собирается/обновляется по mercurial даже на eeepc. C компилятор (вернее, даже серия компиляторов для разных архитектур) в Plan9 очень быстрый! Я так понимаю, написан он Кен Томпсоном. Система mk (аналог make) -- тоже очень быстрая и лаконичная. Ну, давайте что-нибудь соберём?

# Выход в сеть

Если у вас qemu установка, то сеть скорее всего просто работает. Попробуйте:

cat /net/ndb
ip/ping ya.ru

Я поднимаю wifi руками, скриптом. Мне так удобнее. Делается это очень просто:

bind -a '#l1' /net # l1 это моя wifi карта, cat /dev/kmesg
aux/wpa -s ACCESS_POINT -p /net/ether1 # ether1 моя wifi карта
ip/ipconfig ether /net/ether1 # dhcp

Как посмотреть доступные точки доступа?

cat /dev/ether1/ifstats

На самом деле bind '#l1' я делаю в lib/profile, до старта rio. Помните? У каждого процесса своё дерево файловой системы. А так, все процессы в rio будут наследовать его и /dev/ether1 станет доступным везде.

Дальше, разберётесь. :)

# git/mercurial

В 9front уже входит mercural. Давайте воспользуемся им, чтобы забрать проект 9front ports, там есть много чего полезного. Открываем окно rio. (Или запускаем win в acme).

cd /sys/
hg clone http://code.9front.org/hg/ports
cd 9ports/dev-vcs/git9
mk install

Теперь у нас есть git! На самом деле, есть второй способ сделать это, подмонтировав к себе один из сетевых ресурсов по 9p, например 9front.

9fs 9front
cd /n/extra
lc

Здесь вы найдёте git9.tgz, который можно распаковать и собрать. Для тренировки (и пользы!) предлагаю собрать irc7.tgz из extra. Скопировать себе в $home, распаковать, собрать (mk install) и зайти на канал #instead сервера irc.freenode.net.

Реализация git своя. Конечно, в виде файловой системы. :) Давайте заберём какой-нибудь проект по git. Я предлагаю попробовать собрать браузер netsutf.

cd
mkdir Devel
cd Devel
git/clone https://github.com/netsurf-plan9/nsport
git/clone -- это не опечатка! lc /bin/git/ да...

Ох, чуть не забыл. Все пароли (от ssh, http, wpa, от _всего_) хранит специальная служба factotum! Вы можете добавлять в неё свои пароли/ключи при запуске, чтобы не вводить пароли руками. Я делаю это через скрипт из lib/profile, который читает файлик и добавляет пароли в factotum. Это небезопасно, т.к. мой файлик -- открытый. Для безопасного способа смотрим man secstore.

Пример добавления пароля github:
echo 'key proto=pass realm=GitHub server=github.com service=http user=gl00my !password=password' > /mnt/factotum/ctl

Для сборки netsurf нужно следовать инструкциям: https://github.com/netsurf-plan9/nsport

Но, не буду разжёвывать и лишать вас радости исследования. :)

В портах вы найдёте golang свежей версии. Полезная в быту вещь.

// На данный момент, кстати, он собирается только если закомментировать строку CLEANCOMMAND в mkfile.

На eeepc мне удалось собрать только go14 (мало памяти), но в qemu установке собрал современную версию. Так что можно собирать софт для eeepc в qemu.

# Браузеры

"Современных" браузеров в 9front нет. Для многих "пользователей" это невыносимая потеря. А для меня это делает 9front настоящей отдушиной. В этой системе нет окна в зашлакованный современный веб! По-моему, это даже здорово.

Если серъёзно, у меня уже был опыт использования урезанных браузеров, так что был подготовлен. Для государственных сайтов и банков придётся использовать другие ОС или запускать в виртуалке (man vmx) OpenBSD. На eeepc я этого не делал. Ну, конечно, можно ещё по vnc ходить куда-то...

Итак, браузеры которые я пробовал.

## abaco

Канонический plan9 браузер. Если честно, чисто эстетически, очень понравился! Но, увы, в 9front он падуч. И, кажется, не поддерживает png. Короче, не рекомендую.

## mothra

Сначала не понравился. Но потом, оказалось, что он удобен. И есть у него кое-какие биндинги на клавиши, что удобно. Например: a ввод - однооконный режим. m ввод - режим скачивания (режим mothra). Выглядел он страшненько в основном из-за русских символов. Но мы уже умеем патчить код:

cd /sys/src/cmd/mothra
acme rdhtml.c
# меняем шрифты, я рекомендую везде dejavusans(it,bd)/unicode.12 и .14
mk install

Мой вариант изменений лежит на https://github.com/gl00my/plan9hacks

Короче, можно пользоваться.

http://hugeping.tk/lib/uploads/opennet-mothra.png

## netsurf

Работает, только для показа картинок нужно раскомментировать jpeg/png библиотеки в mkfile/mkfile.native и добавить флаги -DWITH_PNG -DWITH_JPEG.

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

# Plan 9: экстремальный KISS #1
std.hugeping
hugeping(ping,1) — All
2020-10-10 16:02:21


# Введение

Про операционную систему Plan 9 я слышал не раз. Но всё это время, мой интерес не переходил в активную фазу, ограничиваясь пассивным любопытством и чтением статей. Так продолжалось до настоящего момента, пока я всё-таки не попался в сети проекта http://9front.org

Я не буду здесь писать энциклопедическую информацию о Plan 9. Но если совсем кратко, то создатели Unix в лице Bell Labs (среди сотрудников которой числятся Кен Томпсон, Деннис Ритчи, Роб Пайк) однажды взяли и решили сделать _правильную_ ОС, без оглядки на проклятый Legacy Unix, в том числе и POSIX. Доведя идею "всё есть файл" до абсолюта и стерев грань между локальными и удалёнными файловыми системами. В качестве примера: tcp/ip это тоже файловая система. Поэтому, если мы подключим к себе удалённую ФС /net, получится что-то вроде NAT. Вот так просто и естественно. В общем, получилась бескомпромиссная, распределённая и при этом крайне простая и красивая ОС. Которая (с некоторыми оговорками) оказалась ненужной. Потому что существующие решения просто работают, и миру этого достаточно...

Но ребята из проекта http://9front.org форкнули Plan 9 и начали делать патчи, которые в том числе помогают Plan 9 работать на современном оборудовании. Итак, 9front можно сказать, это Plan 9, который лучше всего годится для того, чтобы поставить его на железо.

http://hugeping.tk/lib/uploads/mothra.png

На данный момент у меня есть работающий 9front на eeepc 1000px в котором можно даже что-то делать. До этого, я около полугода запускал 9front в qemu и читал различную информацию. И, честно говоря, мало что понимал. Я гробил файловые системы, не мог отредактировать файл и вообще... Не понимал ничего. В общем, я решил начать цикл статей о Plan 9, в которых я буду рассказывать о своём субъективном опыте. Конечно, я не знаток этой ОС, поэтому если кто-то может -- поправляйте меня в комментариях.

# Первые шаги

Итак, начнём.

Я начинал знакомство с ОС с чтения руководства dash с http://9front.org Руководство написано с юмором, с его помощью вы можете попробовать поставить 9front в qemu или на реальное железо (чего я бы пока не делал).

И вот, мы ставим ОС, отвечая на странные вопросы инсталлятора, стартуем... Иии... Что это?

Забудьте про всё, что вы знали. Здесь другой мир. Он прекрасен, но чтобы это понять, вам придётся пойти по пути аскетики и самоотречения. :) Шучу (почти). Для работы с Plan 9 нужна графика и мышь. Без этого -- просто никак. Это может быть ударом для вас. Поверьте, я сам пользуюсь emacs и помню кучу клавиатурных комбинаций. Здесь вам это не понадобится. Пройдёт немало времени, пока вы не привыкните к такому положению вещей и не начнёте получать от этого своеобразное удовольствие (ясность сознания). :)

На ноуте, в принципе, можно обойтись тачпадом. Короче, нужны три кнопки мыши. С случае тачпада это может быть тап 1, 2 или 3-мя пальцами. Или (в случае физических кнопок): 1я, 2я и 2я кнопка вместе с shift.

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

В общем, в этом окне (новые окна вы можете создавать нажав 2ю кнопку мыши и выбрав в меню New) вы можете что-то запускать. Если вы запускаете графическую программу, то её содержимое заменит собой содержимое окна. Это не то, к чему вы привыкли, но это удобно. Чем-то напоминает тайловые оконные менеджеры, когда вы заранее создаёте фреймы. Но пока просто наберите man rio и почитайте, как работать в этом странном "оконном менеджере".

Окно не скроллируется по умолчанию на новый вывод. Вы можете изменить это поведение нажав 3-ю кнопку мыши и выбрав scroll. То, что окно не скроллируется, минимизирует необходимось использования пейджера. Вы просто скроллите кнопками вверх/вниз. Хотя, пейджер всё-таки есть и называется 'p'.

Про историю команд -- забудьте. Клавиши вверх/вниз всегда скроллят окно. Перемещаться по тексту и по истории ими нельзя.

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

Некоторые хоткеи всё-таки есть, и они -- на вес золота:

- C-a, C-e -- в начало и в конец строки;
- C-u -- стереть всё слева от курсора;
- C-f -- автодополнение путей в файловой системе (tab -- забудьте);
- C-b -- прыжок к приглашению;
- del - аналог C-c в Unix.

Ещё нюанс. Допустим, вы написали:

ls /usrr/glenda

Заметили, что опечатались. Вернулись курсором к r и стёрли его, нажали ввод.

Упс!

ls /usr
/glenda

При выполнении команд, курсор должен находиться в конце ввода! А так, выполнилась команда ls /usr. Используйте C-e.

К этому нужно привыкнуть и это непросто. Все рефлексы заточены на другое. В современных Linux командная строка обвешена дополнениями и клавиатурными сокращениями, но здесь всё не так. Что взамен? Простота! Нет никакого терминала, есть просто поток текста. И всё. Черные буквы на светлом фоне. Всё есть текст.

# Ещё несколько советов

- Используйте lc вместо ls. Вывод lc информативней. Например, после имён каталогов ставится /;

- Копирование в буфер обмена здесь называется snarf;

- Домашний каталог это $home или /usr/glenda в установке по умолчанию;

- Когда вы пишете что-то вроде grep, не надо заключать строки в "". Тогда в ввод эти кавычки и уйдут. Тут вам не bash, тут rc. У него совсем другие (более простые) правила эскейпинга. Можете использовать одинарные кавычки, если нужно. Например: g 'Kcaps' /sys/include/*. Да, g -- это рекурсивный grep;

- Некоторые утилиты расположены в подкаталогах. Например, ip/ping. Что это значит? Что выполняемый файл лежит в /bin/ip/ping;

- Посмотреть свой ip адрес: cat /net/ndb;

- Используйте walk | grep как аналог find;

- Скачать что-то (man hget);

- Смотреть pdf или картинки (man page);

- Браузеры: mothra, abaco (довольно падучий), можно собрать netsurf. Об этом будет другая статья;

- Для переключения раскладки можно запустить: kbmap /sys/lib/kbmap/us /sys/lib/kbmap/ru и переключать мышкой. Чтобы сделать переключение с клавиатуры, можно немного поменять rio, об этом -- в другой раз;

- Копировать каталоги здесь можно с помощью dircp, cp -R -- нет;

- fshalt -r -- перезагрузка;

- fshalt -- выключение;

- В домашнем каталоге есть bin/rc каталог. Здесь можете писать свои скрипты и они будут доступны для запуска. На самом деле, реализовано это за счёт bind. Сейчас поясню...

# Bind

В домашнем каталоге, lib/profile есть файл - который можно назвать аналогом .profile. Сделайте его cat и посмотрите. Видите?

bind -a $home/bin/rc /bin

bind позволяет делать объединение файловых систем. -a -- добавить файловую систему после. В данном случае, мы добавили bin/rc в пространство /bin. Короче, все наши скрипты из bin/rc видны в /bin. (man bind)

Следующая строка, заметьте, использует $cputype. Дело в том, что кросскомпиляция есть из коробки, и есть разные компиляторы (man 6c). И разные каталоги для бинарников для разных архитектур.

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

Поэтому в profile стартует webfs (это реалиазция http протоколов в виде файловой системы -- ну потому что здесь _всё_ реализовано в виде файловой системы) -- тогда все процессы из rio (который тоже стартует из profile) смогут работать с вебом.

То, что пространство ФС персональное для каждого процесса имеет интересный практический плюс. Например, смонтировали вы флешку, чтобы отмонтировать её -- вам достаточно прибить окно. Ну или все окна, в которых вы её смонтировали. Хотя команда unmount тоже есть (обратите внимание, не umount, а unmount).

Из profile стартует графическая система rio с флагом -i riostart.

# riostart

Делаем cat /bin/riostart.

Это вот и есть стартовый скрипт rio. Можете кастомизировать под себя. Например, запустив kbmap с нужными параметрами (переключалка раскладки клавиатуры). Упс... Мы ещё не умеем редактировать файлы.

# Редактируем временную зону в acme

Давайте начнём учиться редактировать с того, что выставим нормальную временную зону. Дело в том, что в 9front нет Российских временных зон из коробки. Но это не беда. Ведь всё есть файл!

Пишем:

acme /adm/timezone/local

Открылся редактор acme. В нём -- ваша текущая временная зона. На самом деле acme это не только редактор, это среда. Что-то вроде emacs в Plan 9. Детище Роба Пайка, который, наверняка, писал golang именно в нём. Но только это KISS emacs. :) Я не способен сейчас научить вас работать в acme (тем более, что я сам только учусь), но кратко опишу его принципы.

В acme мы имеем что-то вроде тайлового оконного менеджера. Можем создавать столбцы (3-кнопка на Newcol) и делить их на части (3-кнопка на New).

В acme тоже "всё есть текст". Это значит, что вы можете редактировать зону меню так же, как и текст. Пока не делайте этого, просто не пугайтесь если вдруг сотрёте кнопку Newcol. Просто напишите её там, где вам удобно. :)

Например, добавьте в зоне меню команду win. Просто текст win. 3-кнопкой нажмите на win и запустите "терминальное" окно внутри acme. Другие полезные команды смотрите в man acme. Вы можете писать скрипты, которые будут командами. Скрипты могут выводить текст и потреблять текст из редакторы. Таким образом, можно сделать, например, команду indent параграфа. Кроме того, acme поддерживает файловую систему (да-да, как и всё тут!), с помощью которой можно управлять редактором. Так что в acme можно читать почту и делать что-то ещё, что вам понадобится, просто дописывая нужную вам функциональность.

Поиск делается дописыванием текста после меню | Look, выделением этого текста и 3-кнопка. Так же можно просто выделять текст и жать 2-кнопку.

Открыть файл по номеру строки: добавьте к имени файла в меню :число, выберете всё это и нажмите 2-кнопку.

Режим авто-отступа есть. Он включается Indent on (да, да - допишите это в меню и выполните).

Итак, у вас открыт редактор на файле local. Надо стереть содержимое файла. Стрелочки? СТРЕЛОЧКИ СКРОЛЛЯТ ТЕКСТ! shift-стрелочки? Нет! Выделяем текст мышкой и нажимаем backspace!

Да, настал момент суровой правды. Вы не можете перемещаться по строкам с помощью стрелок курсора даже в текстовом редакторе! Так что или бегите (пока можете), или -- продолжим.

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

Да! Подсветки синтаксиса нет. Робу не нравится смотреть на код, как на новогоднюю ёлку.

Итак, вернёмся к временной зоне. Для московского времени я оставил одну строку:

MSK 10800 MSK 10800

Это временная зона GMT+3 (в секундах). Зимнее и летнее время.

Сохраняем файл. Ах, да... 3-я кнопка мыши по Put. Если Put пропал - вы сохранили файл. Выйдете из редактора самостоятельно.

Но это ещё не всё! Если у вас в BIOS время настроено в UTC, то надо сделать следующее:

acme /rc/bin/termrc.local

Впишите строку:

TIMESYNCARGS=(-ra1000000)

И сохраните. Ну или вы могли бы убрать параметр L из TIMESYNCARGS в файле /bin/termrc в самом начале, но это хуже. /bin/termrc запускает termrc.local.

/bin/termrc - это скрипт, который стартует вашу терминальную станцию.

# Немного об архитектуре

То, что вы поставили себе в qemu (или на ноутбук?), в терминах Plan 9 называется терминальной станцией. Дело в том, что Plan 9 это сетевая система, где предусмотрены разные типы станций: терминал, файловый сервер, cpu-сервер итд. Границы между ними стёрты с помощью сетевой файловой системы 9p. Теорию почитайте тут: http://doc.cat-v.org/plan_9/4th_edition/papers/ А в 9front вы получаете как бы всё в одном: терминальная станция, файловый сервер и т.д. Но в теории, это всё можно настроить на отдельных машинах. И именно так Plan-9 использовалась в Bell-Labs.

# Файловая система

По умолчанию предлагается использовать CWFS.

"Файловая система" тут тоже реализована как служба-процесс. К которому можно подсоединиться и что-то сделать. Например, подключение к консоли:

con -C /srv/cwfs.ctl
help

Можете проверить fscache командой check.

CWFS это на самом деле интересная файловая система. Точнее -- файловый сервер. Он состоит как бы из двух областей. Есть fscache - в котором и идёт постоянная работа. И есть fsworm (Write Once Read Many) - это место куда архивируются данные и никогда не стираются. То-есть, когда-то ночью грязные блоки fscache сбрасываются в fsworm. Потом снова работаем с fscache. Сброс грязных блоков - это команда dump. Вы можете выполнять её руками через консоль: con -C /srv/cwfs.ctl, тем самым вы освобождаете место в кеше!

fsworm позволяет посмотреть любой слепок из тех, когда были сделаны dump. Смонтировать их можно так:

9fs dump

> Не выключайте питание во время дампа!

По началу я никак не мог понять, почему у меня кончается место на диске! Оказывается, забивался сравнительно небольшой fscache. Надо было бы сдампить его в fsworm. Конечно, cwfs на нетбуке это немного странно. :) Что я буду делать, когда забью fsworm? Вероятно, пересоздам его заново, скопировав последнее состояние в fscache?

# Редактирование plan9.ini

После первой установки, скорее всего вам понадобится поменять что-то в параметрах загрузчика. (man plan9.ini) Например, выставить более комфортное разрешение vesa. Включить acpi, поменять тип мыши и др.

Для этого надо подмонтировать специальный fat раздел:

9fs 9fat
acme /n/9fat/plan9.ini

Помните? Открывайте редактор из этого же окна. В другом окне файловая система не будет подмонтирована. По началу это сбивает с толку.

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

# Доступ к файловой системе по сети из Linux

acme $home/bin/rc/export
Содержимое файла:
#!/bin/rc
aux/listen1 -t 'tcp!*!564' /bin/exportfs -r /

Запустите скрипт в окне и монтируйте с Linux:

9pfuse <адрес>:564 <точка монтирования>

Исходники системы находятся в /sys/src/ :)

# Заключение

К сожалению, вводная статья получилась сумбурной. Очень много информации и всё очень связано: начинаешь что-то писать, сразу понимаешь, что надо рассказать сначала о другом компоненте. Берёшь другое -- снова та же история.

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

Примерный план статей такой:

- Собираем netsurf и irc (git, hg, порты, golang);
- Изменяем исходные коды системы (смена раскладки клавиатуры);
- Музыка (и видео???);
- Мои патчи: ethernet alc, ethernet athn, acpi, vgadb;
- Сравнение исходного кода ядер: openbsd, Linux, plan9.

Если что, пишите свои предложения/вопросы.



P.S. Edited: 2020-10-11 10:28:47

# Re: Синдром IT-вахтёрства
std.hugeping
Andrew Lobanov(tavern,1) — hugeping
2020-10-08 06:10:08


hugeping> Не смотря на то (а может быть, именно поэтому), что я занимаюсь IT, у меня давно сформировался подсознательный страх к IT-вахтёрству. Что я имею в виду? Поясню на примере из жизни.

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

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

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

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

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

# Re: Синдром IT-вахтёрства
std.hugeping
boscholeg(ping,5) — hugeping
2020-10-06 10:26:32


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

Я столкнулся с порталом дистанционного образования для среднего медперсонала.
Там та же беда. Громоздкий и неповоротливый интерфейс. В нем трудно разобраться, им неудобно пользоваться и пр..

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

Но еще хуже с содержимым этого учебного портала. К примеру дается некая тема которую сам методист оценивает в 1 академический час учебного времени. НО по факту в теме приложен документ объемом примеро 200-250 листов формата А4. Его надо изучить от корки до корки. Документ написан суровым канцеляритом вперемешку с медицинский терминологией.
Освоить такое за 1 час просто нереально. При этом проверка знаний проходит в виде теста в котором варианты ответов состоят из длинных сложных выражений отличающихся иногда всего одним словом.На лицо не проверка знаний а стремление запутать. Зато можно без проблем пытаться просто угадывать ответы. Число попыток не ограничено никак. Можно долбить систему непрерывно.
Такой учебный материал подталкивает к жульничеству и халатному отношению к учебе.

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

P.S. Edited: 2020-10-06 10:27:12
Часто есть подспудное стремление покрыть все сусальным золотом, чтобы выглядело богато. А вот богатство содержания считается второстепенной задачей.

# Синдром IT-вахтёрства
std.hugeping
hugeping(ping,1) — All
2020-10-06 09:53:41


Не смотря на то (а может быть, именно поэтому), что я занимаюсь IT, у меня давно сформировался подсознательный страх к IT-вахтёрству. Что я имею в виду? Поясню на примере из жизни.

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

Я создал заявку на решение проблемы и стал ждать. Кстати, в школе, похоже, считали, что мы просто не умеем создать аккаунт школьника или ленивые. Время шло, а ситуация нагнеталась, так как сын не мог делать Д3. Тогда я вооружился отладчиком FF и начал изучать API ЭЖД...

За вечер удалось выяснить следующее:

- Авторизация по токену проходит;
- После авторизации сервер возвращает _список_ профилей. Профиль - это описание учебного заведения и другие атрибуты. При этом профили привязываются к одному пользователю (uid);
- Возвращается список из 2-х профилей: 1-й -- старая школа, 2-й -- новая.
- Клиент пытается зайти в 1-й профиль и получает "отбой" (профиль неактивный?) в виде ошибки, которая проявляется как перенаправление на главную страницу.

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

Я снова обратился в поддержку, описал ситуацию, продиктовал номера профилей. Со мной обещали связаться.

И тогда, на следующее утро наступил второй этап.

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

Самое сложное -- подменить ответ. Удивительно, но ни FF ни Chrome не предоставляют простых (или вообще никаких?) путей сделать такое. Поэтому воспользовался таким вот проектом: https://mitmproxy.org/

В нём есть режим, замена ответа с помощью регулярки. А дальше, дело техники. Положил в систему корневой сертификат, настроил в FF auto proxy (чтобы работал только на dnevnik.mos.ru) и... Работает как часы. ;)

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

И тут приходит ответ на заявку. Та-дааам!

> "Для восстановления доступа к дневнику нужно сменить пароль..." !!!!???

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

Позвонил снова, в этот раз уже откровенно орал. Объяснил снова ещё раз, попросил переоткрыть и повысить приоритет задачи. Через 3 дня пришёл ответ, что всё -- исправили!

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

Так вот, в момент первой "отписки" я в полной мере почувствовал силу IT-вахтёрства.

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

Что было бы, если на моём месте была бы мать-одиночка с гуманитарным образованием? А ведь наверняка моя ситуация не единственная. Всё больше услуг невозможно получить без IT. И это пугает! Пугает меня, IT-шника!

Я уже молчу про то, что самые важные ресурсы: сайты госуслуг и банки -- перегружены js так, что он уже просто вытекает из щелей разметки.

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

# Re: Вернуться в детство с PICO-8
std.hugeping
hugeping(ping,1) — boscholeg
2020-09-23 10:06:42


> Сейчас очередь за чем? Будет пико или инстед игрушка?

Хочется написать на метапарсере.

# Re: Вернуться в детство с PICO-8
std.hugeping
boscholeg(ping,5) — hugeping
2020-09-23 09:19:49


>> Спасибо за АА. Эта штука украла 2 часа моей жизни. Но, это были приятные два часы, полные взлетов и падений )

> Тогда вторую мою игру зацени: https://instead.itch.io/rr

>> Недавно открыл для себя фэнтези консоли. Пока присматриваюсь к TIC и ESP LGE. Битси уже в деле )

> Круто! TIC тоже смотрел. Решил чередовать: INSTEAD->PICO8->INSTEAD... ;)

Сейчас очередь за чем? Будет пико или инстед игрушка?

# Re: Вернуться в детство с PICO-8
std.hugeping
hugeping(ping,1) — johnbrown
2020-09-22 16:04:26


> Спасибо за АА. Эта штука украла 2 часа моей жизни. Но, это были приятные два часы, полные взлетов и падений )

Тогда вторую мою игру зацени: https://instead.itch.io/rr

> Недавно открыл для себя фэнтези консоли. Пока присматриваюсь к TIC и ESP LGE. Битси уже в деле )

Круто! TIC тоже смотрел. Решил чередовать: INSTEAD->PICO8->INSTEAD... ;)

# Re: Вернуться в детство с PICO-8
std.hugeping
johnbrown(ping,9) — Peter
2020-09-22 15:57:58


Спасибо за АА. Эта штука украла 2 часа моей жизни. Но, это были приятные два часы, полные взлетов и падений )

Недавно открыл для себя фэнтези консоли. Пока присматриваюсь к TIC и ESP LGE. Битси уже в деле )

# Re: Вернуться в детство с PICO-8
std.hugeping
hugeping(ping,1) — johnbrown
2020-09-20 13:39:58


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

Ещё есть такое понятие "flat games". Тоже любопытное явление. Можно на itch поискать. Артхаус как он есть.:)

# Re: Вернуться в детство с PICO-8
std.hugeping
johnbrown(ping,9) — Peter
2020-09-20 10:21:08


> TIC-80 классный. Но в PICO-8 подкупает минимализм, дальше которого уже просто некуда.

Есть bitsy. Он ещё меньше :)

На нем тоже много игр написано. Правда он больше под адвенчуры заточен. Игры на нем обычно очень небольшого размера 5-10 минут. Очень много достойных работ. https://itch.io/games/tag-bitsy

Например:

Деметра и Персефона
https://friendlycosmonaut.itch.io/demeterandpersephone

Diplomat simulator
https://wjhollyart.itch.io/diplomat-simulator

# Ненастоящая победа open source
std.hugeping
hugeping(ping,1) — All
2020-09-16 19:25:59


Сегодня кажется, что open source победил окончательно и бесповоротно. Компании вкладываются в разработку ядра Linux, браузера chrome, компиляторов clang и многих других сложных проектов.

clang разрабатывается с целью замены gcc. chrome -- браузер, который постепенно вытесняет firefox. Docker, gitlab, VS Code -- можно долго перечислять успешные проекты, которые созданы коммерческими компаниями и развиваются как проекты с открытым исходным кодом.

Когда-то я тоже радовался chromium, clang и другим новым классным проектам. Я видел, что их качество действительно лучше, что старичок GNU всё возится с ворохом устаревших технологий, тщетно пытаясь догнать уходящий поезд прогресса. Да он же просто смешон!

Но потом я стал кое-что подозревать...

Да, есть целый пласт проектов, которые сложно создать в режиме "базара". Компьютерные игры, работа с графикой, CAD, офисные приложения... Как пример можно привести Photoshop и gimp. Или программы видеомонтажа. Чтобы удовлетворять стандартам рынка, такие программы сами должны создаваться участниками этого рынка. Но... Представьте себе, что все компании обанкротились. И что останется?

Что будет делать сообщество с многомиллионным кодом Chrome? Сможет ли оно его развивать? Сможет ли самоорганизоваться в сообщество, способное переварить этого монстра, который уже переплюнул по своей сложности ядро ОС? Сможет ли оно самостоятельно осознать и поддерживать такие проекты как: Clang, QT, VS Code?

Ок, VS Code кажется проектом попроще, не так ли? Но на чём написан VSCode? Сможет ли сообщество сохранить инфраструктуру, которая нужна для функцилнирования такого "простого" на вид VSCode?

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

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

И здесь я снова смотрю на GNU, которая берёт на себя то, что может поднять. Да, gimp это не фотошоп. Но этот проект принадлежит нам! Да, clang, возможно современней GCC. Но GCC принадлежит нам!

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

Раньше, чтобы написать новую ОС, нужно было решить основную проблему -- поддержку оборудования. Сегодня такой краеугольной проблемой является... возможность работы современного браузера! Для проектов типа 9front http://9front.org -- это нереализуемо, если говорить о Firefox или Chrome. Но вот заставить работать NetSurf - вполне по силам одному программисту, работающему над проектом по вечерам.

И тут я задаю неудобный вопрос. А Linux-то, linux ещё наш? Или он уже стал товаром, которым торгуют корпорации?

# Plan9 Desktop Guide
std.hugeping
hugeping(ping,1) — hugeping
2020-09-13 20:32:27


Похоже, интересная статья. Оставлю для ознакомления.

https://pspodcasting.net/dan/blog/2019/plan9_desktop.html

# Re: Переезд состоялся
std.hugeping
artur(ping,3) — hugeping
2020-09-12 20:31:09


Ну это само-собой разумеющееся=)

# Re: Переезд состоялся
std.hugeping
hugeping(ping,1) — artur
2020-09-12 20:30:35


> Понял-принял. Ну тогда уж надо будет поделиться здесь своими пиксельными поделищами=)

Только просьба, не в этой эхе (std.hugeping), потому что здесь мой блог. :)

# Re: Переезд состоялся
std.hugeping
artur(ping,3) — hugeping
2020-09-12 20:27:41


Понял-принял. Ну тогда уж надо будет поделиться здесь своими пиксельными поделищами=)

# Re: Переезд состоялся
std.hugeping
hugeping(ping,1) — artur
2020-09-12 20:25:02


> Вопрос на счёт картинок с постов. В Гимпе рисовано?=)

Потому что я уменьшаю разрешение до 32x32 и режу количество цветов. Тогда картинка xpm смотрится нормально и в тексте сообщения. А так, это просто пиксельарт из интернетов.

# Re: Переезд состоялся
std.hugeping
artur(ping,3) — hugeping
2020-09-12 20:09:02


Вопрос на счёт картинок с постов. В Гимпе рисовано?=)
Выглядит очень простенько. Чем-то напоминает картинки из третьего ИНСТЕДОЗа.

# ZeroNet приложение для Android
std.hugeping
hugeping(ping,1) — hugeping
2020-09-12 18:37:00


Оказывается, за то время, что я не следил за ZeroNet, в PlayMarket появилось новое приложение. Выглядит оно получше и поудобнее. Что косвенно подтверждается оценкой приложения.

Так что относительно комфортно можно пользоваться ZN и с мобильных устройств.

Мой блог в ZN: http://127.0.0.1:43110/1HVhvrompfwLstJExofKAQ5mMss7YivVDj/

Правда, теперь там будут скорее всего только репосты с узла ping.

# День программиста
std.hugeping
hugeping(ping,1) — hugeping
2020-09-12 11:30:11


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

Сегодня снова стало интересно, в чём тут дело?

Я помню, когда он только появился, я воспринял его как нелепость. И тоже не смог понять, почему? Просто какое-то странное чувство нелепости.

Наверное, я не воспринимаю день программиста как "профессиональный праздник". А именно так его и преподносят.

Я не воспринимал никогда себя как программиста в смысле профессии, ремесла. Я всегда только играл. С того самого момента, когда отец купил мне БК0010-01 и до сегодняшнего дня. И назвать это профессией для меня выглядит странным и нелепым. Что-то бытовое, скучное...

Нет, это не мой праздник.

# Re: Информационные следы или отцы и дети в кибернетической утопии
std.hugeping
hugeping(ping,1) — hugeping
2020-09-12 11:07:27


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

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

Наглядный пример противопоставления философия vs реальная жизнь. :)

# Как писать свободные игры и не сойти с ума
std.hugeping
hugeping(ping,1) — All
2020-09-12 10:35:15


// Опубликовано Aug 24, 2018

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

Поэтому я очень хорошо понимаю программистов, которые пишут игровой код для “души”. Проект INSTEAD и возник как реализация такой вот отдушины. В первую очередь он ориентировался на программистов — лириков.

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

Вот, ты написал историю, которая тебе самому кажется классной. Что дальше? Современная жизнь инди-разработчика подчиняется довольно прагматичным правилам. Продвижение своей игры “по взрослому” требует денежных вливаний, времени и запасов валерьянки. Это всё означает, что проще и правильнее играть по правилам до конца — становиться частью рынка и продавать свои игры, чтобы пытаться окупить свои затраты.

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

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

Свои последние игры Другой Марс http://instead-games.ru/game.php?ID=298 и Вахта http://instead-games.ru/game.php?ID=292 я пытался “продвигать” доступными мне способами, оставаясь в рамках свободного движения. Что именно я делал?

- Я попытался оживить нашу группу vk, https://vk.com/instead.club создавая на стене новости и отчёты о проделанной работе. Также включил кросспостинг в фейсбук.
- Я публиковал новость о “Вахте” в одной из крупных групп vk (название сейчас не вспомню).
- Наш старый jabber чат был интегрирован с чатом в Telegram, https://t.me/insteadtalk что в теории сделало наш чат доступней для потенциальных энтузиастов.
- В канал Telegram https://t.me/insteadclub (не путать с чатом) я также регулярно постил новости. Не говоря уже о своём twitter. https://twitter.com/peter_ru
- Я опубликовал игры на gamin.me. Здесь https://gamin.me/posts/19471 и здесь. https://gamin.me/posts/19616
- Я создал страничку на itch.io со своими играми. https://instead.itch.io/
- Я опубликовал новости на linux.org.ru. Одна из новостей — прошла. https://www.linux.org.ru/news/games/14202683 Вторую https://www.linux.org.ru/forum/games/14385869 не пропустили из за деятельности троллей, превративших тему обсуждения в религиозный спор. Подробности. ii://mwVQifrW5SHpOBeJ9niI И пояснения. ii://lYZ4akEqAiKPfIZKs1gX Забавно, но похоже “чёрный” пиар дал лучший эффект. Это и грустно и смешно.
- Я опубликовал новость на opennet. https://www.opennet.ru/opennews/art.shtml?num=49078
- Я писал о некоторых своих играх на reddit (лень искать ссылки).
- Я опубликовал две статьи на dtf.ru. https://dtf.ru/indie/24627-moy-indi-proekt-dlinoy-v-10-let https://dtf.ru/indie/24598-parsernaya-igra-drugoy-mars
- Я присутствовал в mastodon https://mastodon.social/@hugeping , idec и zeronet (как примеры “альтернативных” сетей).

Какие выводы я могу сделать?

С одной стороны, результат есть. Я узнал, что у моих игр существует целевая аудитория. И это сильно вдохновило.

С другой стороны, количество поигравших в мои игры, по меркам индустрии, очень мало. Я оцениваю это число в районе 2000 скачек (учитывая тот факт, что статистика web запусков не ведётся). Хотя, откровенно говоря, мне не очень интересна именно статистика. :)

Выкладывание игр на itch — практически ничего не даёт само по себе. Причина понятна. Для продвижения нужны рекламные показы. Площадки не создаются просто так, площадки зарабатывают. Когда на ресурсе представлены тысячи (или уже десятки тысяч?) игр, заметить конкретную игру практически невозможно.

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

Хороший отклик я получил после размещения публикаций на dtf.ru. Наверное, это самый положительный опыт из всех попыток.

Интересно, но адресный выход на аудиторию “альтернативных” сообществ тоже работает. Последнее наблюдение наводит на интересные размышления.

Когда ты пишешь нишевую с точки зрения “мейнстрима” вещь, выход на нишевые же сообщества, похоже, неплохой вариант! Например, INSTEAD изначально работал только на Linux системах. Какой процент пользователей Linux? 3%? 4%?. Но в абсолютных цифрах это довольно много людей. И, проект, работающий на Linux может рассчитывать быть замеченным этой аудиторией! Какой процент пользователей FreeBSD? 1%? Однако, когда INSTEAD находится в портах этой системы, можно рассчитывать на то, что игры на нём будут замечены! Всё это даёт во много раз больше, чем простая публикация игры на тематическом форуме.

Ещё один пример. Размещение статей в ZeroNet с мизерной аудиторией. Однако, размещение этих же статей в блоге на medium.com осталось абсолютно незамеченным.

Камерный театр в спальном районе Москвы может рассчитывать на маленькую, но свою аудиторию! Школьная рок-группа тоже может на неё рассчитывать. :) Остальные примеры вы можете придумать сами. Думаю, что продвижение свободной игры, это все-таки в первую очередь ориентация на “свои” сообщества. А игра по правилам индустрии — это совсем другая история. Но только проблема в том, что “альтернативные” сообщества практически вымыты из современного коммерческого интернета…

Что касается меня, то я абсолютно измотан социальным взаимодействием и негативным (редким, но токсичным!) фидбеком. В очередной раз я понимаю: программировать и сочинять истории очень захватывающая вещь, но социальное взаимодействие — изматывает и подрезает крылья.

Что дальше? Не знаю. Но запасы валерьянки подходят к концу. :)

# Возвращение квантового кота: о чём игра?
std.hugeping
hugeping(ping,1) — All
2020-09-12 10:27:52


// Опубликовано Aug 23, 2018

Моя первая игра называется “Возвращение квантового кота”. Написана она была в 2009 году. Собственно говоря, с неё всё и завертелось.

По современным меркам игра очень простенькая, но если вы в неё не играли — попробуйте. http://instead-games.ru/game.php?ID=107

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

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

Вообще, это неправильный метод — рассказывать о своём творчестве в плане замысла. Часто бывает, что смыслы очень сильно зависят от восприятия конкретного человека. То-есть, это всегда диалог. И тем не менее…

Главный герой — бывший хакер, ныне дауншифтер, живущий вдали от цивилизации. После визита в магазин, у него похищают его единственного друга — кота Барсика. Фраза: “Я просто пришёл забрать своего кота” — становится девизом игры. Быстро выясняется, что похититель кота связан со зловещим институтом, который расположен недалеко от места событий.

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

В игре можно почитать рассуждения о квантовых парадоксах. В частности, о гипотетическом эксперименте Шрёдингера.

Скажу сразу, что на эту игру повлияло произведение С.Льюиса “Мерзейшая мощь”. Если вы не читали её, я рекомендую эту книгу к прочтению. Образ “зловещего института” взят оттуда.

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

Главный герой просто “знает” и просто “чувствует” сердцем, что эта истина является ложью. Он делает то, что должен — спасает кота (и мир за одно) не идя ни на какие компромиссы. Правда и любовь не нуждается в рационализации.

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

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

Игра была встречена очень хорошо, не смотря на явные огрехи и ляпы в тексте, которые так и не были исправлены за эти 9 лет…

На этом пока всё. :) Stay tuned.

# Нелинейность в сюжетных играх
std.hugeping
hugeping(ping,1) — All
2020-09-12 10:23:11


// Опубликовано Aug 23, 2018

Недавно посмотрел ролик на YouTube про игру No Man’s Sky. Красивая игра. Одной из особенностей игры является то, что в ней широко применяется процедурная генерация. Примерно, как это было сделано в Elite, в которой генерировались звёздные карты, названия систем и экономика. Только в NMS этот приём выведен на новый технологический уровень. Генерируются формы жизни, поверхности планет и прочее и прочее.

В Elite игрок был свободен в выборе того, что он делает в мире игры. В NMS мы видим подобное. Искусственный мир без явного задания ограничений действий. Песочница. Успех Minecraft говорит нам, что такого рода игры могут быть популярными. Ещё один пример: Dwarf Fortress. Если честно, ни в одну из упомянутых игр я не играл. Во-первых, я вообще мало играю в современные игры. Во-вторых, я не большой любитель историй, рассказанных компьютером.

Когда речь заходит о сюжетных играх, очень многие высказывают мнение, что нелинейность сюжета — несомненное достоинство такого рода игр. Для меня это выглядит так, что для этих людей основной ценностью сюжетной игры является вариативность.

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

Во-вторых, саму игру мы можем выполнить в виде модели, которая пытается моделировать поведение героев, мотивы, эмоции…

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

Дело в том, что для меня, в сюжетных играх (как и в литературе, кино, театре) самым важным является не вариативность, а … сюжет! А сюжет — это раскрытие смысла! Как время в нашем мире это актуализация нашей свободы воли, так и сюжет игры служит цели раскрытия смысла!

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

Я написал только одну нелинейную игру, это “Карантин”. http://instead-games.ru/game.php?ID=124 В игре мы встречаемся с врагом, которого не знаем заранее. Фактически, это детективная история завёрнутая в стилистику рассказа Джона В. Кэмпбелла «Кто идёт?». Игра внутри себя представляет симулятор. Или, скорее, стратегию. Игра получилась очень сложной и… скучной. Да, есть люди, которым игра очень понравилась. Но для большинства игроков, она становится неинтересной после нескольких “прогонов”. Почему? Потому, что сюжет раскрывается после пары прохождений. А потом остаётся только вариативность, стратегия, интеллект… Но никакой художественной ценности…

Правда, в моей игре “Проводник” http://instead-games.ru/game.php?ID=247 две концовки. Но это тот случай, когда обе концовки просто усиливают друг друга.

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

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

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

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

Да, попытка написать игру, в которой сюжет генерировался бы “случайно” и был бы интересен — сродни написанию симулятора мира, в котором мы живём.

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

Также, есть мнение, что смысл чего-либо рождается субъективно в читателе, а на авторе остаётся только нарратив. Без интерпретации. В таком случае, играя в песочнице, мы наблюдаем создание различных смыслов о которых мы как автор — не беспокоимся. Читатель (игрок) развлекает себя сам.

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

# Re: Bolder Dash с БК0010–01
std.hugeping
artur(ping,3) — hugeping
2020-09-11 18:05:21


А вот про редактор уровней не знал!
Таки полезно читать обсуждения=)
На мобилках кстати очень удобно играть. Надо побаловаться с редактором уровней...

# Переезд состоялся
std.hugeping
hugeping(ping,1) — hugeping
2020-09-10 19:28:53


Вот и всё.

Дроплет syscall.ru на DigitalOcean, который служил верой и правдой 7 лет - дропнут. Долго не мог себя заставить нажать кнопочку Destroy. Заходил посмотреть "в последний раз". Но надо уметь выбрасывать старый хлам, чтобы освободить пространство, в том числе и для мыслей.

Так что, вместо syscall и вороха блогов теперь останется только https://hugeping.tk

Маленький, простой, быстрый...

P.S. https://syscall.ru и https://club.syscall.ru тоже работают, и ведут на https://hugeping.tk



# Re: http://hugeping.tk как арт-проект
std.hugeping
hugeping(ping,1) — hugeping
2020-09-10 09:13:19


Ну и у всех этих /rss ссылок можно убрать rss - будут просто странички.

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

# Re: Bolder Dash с БК0010–01
std.hugeping
hugeping(ping,1) — boscholeg
2020-09-10 09:11:55


> На БК можно было писать программы, но сохранять в память их учитель не разрешал.

Да, помню такая же штука была. Писал игру. Поиграли. Выключили - всё. :)

> Обязательно попробую поиграться и сыну покажу.

Там есть встроенный спрятанный редактор. На компе кажется нажать E в момент выбора уровня или в самом уровне. А на андроиде, какая-то хитрая комбинация касаний. :) У меня сын делал уровни с интересом и давал мне проходить. Ещё игра пишет демки прохождений.

# Re: http://hugeping.tk как арт-проект
std.hugeping
hugeping(ping,1) — boscholeg
2020-09-10 09:08:13


> Петр чем читать новые сообщения? Есть какой-то клиент?
Где про это почитать?

Вообще, вот: https://ii-net.tk/

Но можно просто RSS зацепить: ii://MaNXQnvizFFCxbmm7303

# Re: http://hugeping.tk как арт-проект
std.hugeping
boscholeg(ping,5) — hugeping
2020-09-10 08:34:54


Петр чем читать новые сообщения? Есть какой-то клиент?
Где про это почитать?

# Re: Bolder Dash с БК0010–01
std.hugeping
boscholeg(ping,5) — hugeping
2020-09-10 08:32:36


ЗАВИСТЬ!!! Ужасная зависть меня обуревает!
Не был обладателем ни БК ни Спеки. Компьютеры видал только в игровом зале и на кружке в школе. БКшку и и еще Искру в школе толком не давали использовать они были скорее для красоты. На БК можно было писать программы, но сохранять в память их учитель не разрешал. Я хранил программы написанные на бейсике в общей тетрадке. Каждое занятие начиналось с того, что я начинал забивать программу по новой.
Мне удалось добраться до компьютера уже только в 1994 и это уже был 486. Отец увидал мое стремление и решил, что этому стоит содействовать. Но игры он считал пустой тратой времени и поэтому играл я крайне редко. Ситуация изменилась лишь когда я освоился и начал меняться программами с друзьями и знакомыми. Таскал собой 2-3 пачки дискет. А потом я получил CD привод и купил первый сборник игрушек Classic Games #5.....
Так что, твоя игрушка мне в новинку, как и большинство других старых игр. Обязательно попробую поиграться и сыну покажу.
P.S. Edited: 2020-09-10 08:32:25

# Re: http://hugeping.tk как арт-проект
std.hugeping
hugeping(ping,1) — boscholeg
2020-09-10 08:19:01


> Если бы тут не тусовались одни программисты и им сочувствующие, я бы решил, что ты хочешь отвадить всех.

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

# Re: http://hugeping.tk как арт-проект
std.hugeping
boscholeg(ping,5) — hugeping
2020-09-10 08:08:51


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

# http://hugeping.tk как арт-проект
std.hugeping
hugeping(ping,1) — hugeping
2020-09-10 07:59:06


Чем больше шлифую ii-go, тем больше мне нравится то, что получается.

Откуда во мне появилась тяга к такой вот экстремальщине? Не знаю.

Процесс, похоже, идёт последовательно.

Сначала мне понравился Linux, потом тайловые оконные менеджеры, потом OpenBSD, потом заинтересовался Plan9...

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

А вот с играми или тем же ii-go, ты никогда заранее не знаешь, что из этого всего выйдет. :) Нода, конечно, не получилась совсем уж минималистичной. Думаю, она занимает около 64кб кода на go. Но всё-таки, если сравнивать с мейнстримом...

В общем, иногда нужно вот так встряхнуться, сбросить тонны bloated слоёв и ... полететь... :)



P.S. Вот взять даже эту картинку. Что бы мы сделали на нормальном форуме? Фигак jpg на 1мб, фигак аттач. Форум фигак в postgresql. А тут? Я нашел картинку, довёл ее до нативного разрешения, привёл к 4-цветной палитре и вставил в тело сообщения. Сообщение превратилось в base64 строку и добавилось в конец текстового файла базы. Ну, разве это не прекрасно? :) Почувствуйте красоту в простом!

# matterbridge - объединение чатов на go
std.hugeping
hugeping(ping,1) — hugeping
2020-09-09 19:03:14


Сегодня нагуглил такой вот проектик: https://github.com/42wim/matterbridge
На go. Связывает несколько чатов в один. Испытал с чатами инстеда - discord, jabber и telegram. Просто настраиватея и работает! Оставил крутиться на малинке. :)

# Флуд
std.hugeping
hugeping(ping,1) — All
2020-09-09 19:01:21


В этот топик буду писать короткие мысли и прочий флуд.

# Язык и сознание
std.hugeping
hugeping(ping,1) — All
2020-09-09 06:10:50


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

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

ii://yEBVIVlseU2SZu5WbOVC

Так вот. Я, конечно, понимал, что английский вариант будет проще, но не ожидал, что настолько проще!

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

Раньше я считал, что сознание не сильно завязано на язык. Думал я это на основании собственного опыта интуитивного мышления, когда замечал, что мысли часто не облекаются в слова. То-есть, человеческая архитектура, на фундаментальном уровне, не зависит от “прошивки”. Но теперь мне кажется, что язык определённо влияет на сознание и это влияние существенно.

Один простой пример. В русском языке у нас большинство неодушевлённых предметов имеет род. В английском не так. Конечно, там тоже есть “ship” как “she” и так далее, но это все-таки скорее исключение. То-есть, говоря “ложка” или “нож” — я ловлю себя на мысли, что моё отношение к этим предметам окрашивается в разные оттенки в зависимости от рода! В английском это “it” — и всё тут. С точки зрения разума — всё верно. Это предмет, какой тут может быть род?

Но в русском, я действительно чувствую, что подушка — это “она”. Что топор — это “он”. Если вы со мной не согласны, проведите мысленный эксперимент. Представьте, что “облако” получило мужской род (“облак летит по небу”). Или “топор” стал женского рода (“Топр была острой”). Уверен, разницу вы почувствуете.

Винтовка и карабин. Согласитесь, оба слова, означая похожие вещи, осознаются по-разному! А ещё мне кажется, что это осознание будет разным у мужчин и женщин. Удивительно! Таких примеров можно привести массу, и это даже забавно — обнаруживать в себе эмоциональное отношение к неодушевлённым вещам.

При работе над английской библиотекой метапарсера, очень наглядным стало ещё одно отличие. Обилие глаголов с похожим смыслом (но разными оттенками) в русском. В английском языке было интересно обнаружить множество вариантов “взять”, “атаковать” и “изучить”. Но для большинства других глаголов, вариантов очень мало.

ii://iIKozvIkN197sjQFx2Hh

Так что русский язык очень эмоционален и выразителен. И мне лично это нравится. Почему? Не потому ли, что я уже изменён языком (прошивкой)? Или, все-таки, потому, что мой язык мне соответствует?

В общем, философия языка, должно быть, очень глубокая и интересная тема…


P.S. Edited: 2020-09-09 06:10:02

# Произведение и время
std.hugeping
hugeping(ping,1) — All
2020-09-08 19:21:01


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

Меня всегда интересовал механизм этого узнавания. Каким образом произведение вдруг становится признанным? Что или кто является критерием?



Вот и “Моби Дик” Германа Мелвилла не был принят современниками. Приведу несколько цитат:

> «Моби Дик» не был принят литературной критикой и не получил успеха у читателей. От Мелвилла отвернулись. Мелвилл жил в Питтсфильде до 1863 года, продолжая писать и борясь с нуждой. Несколько книг, выпущенных им за эти годы, не восстановили его литературной репутации.

> После разгромной критики вышедшего спустя год готического романа «Пьер, или Двусмысленности» (Pierre, or The Ambiguities, 1852), — где изображён писатель, который среди шумной толпы чувствует себя таким же одиноким, как на полюсе, — Мелвилл стал публиковаться анонимно, печатая рассказы в журналах.

> Когда Мелвилл умер в 1891 году, то был уже настолько забыт, что автор короткого некролога в «Нью-Йорк таймс» не сумел правильно написать его имя.

> С 1920-х началось переосмысление Мелвилла, и его признали классиком мировой литературы.

Началось переосмысление. Выглядит загадочно, правда? В английской статье на Wikipedia этот момент описан подробнее (спасибо @techniX).

> The “Melville Revival” of the late 1910s and 1920s brought about a reassessment of his work. The centennial of his birth was in 1919. Carl Van Doren’s 1917 article on Melville in a standard history of American literature was the start of renewed appreciation. Van Doren also encouraged Raymond Weaver, who wrote the author’s first full-length biography, Herman Melville: Mariner and Mystic (1921).

По русски об этом можно прочитать в этой статье. https://daily.afisha.ru/brain/1028-mobi-dik-germana-melvilla-nesvoevremennyj-shedevr/ Итак, американский критик и биограф Карл Ван Дорен https://en.wikipedia.org/wiki/Carl_Van_Doren написал статью, потом (на 100-летие автора), посвятил целый раздел в своей книге. Способствовал созданию биографии… И вот, закрутилось!

Так что, после 70 лет люди, наконец, доросли до понимания творчества Мелвилла? Или, может быть, вернулась мода на романтизм? Или в 1851 году критики “перекрыли кислород”, а через 70 лет нашёлся другой критик? Не знаю, я не искусствовед и я могу только удивляться.

Эта история интересна тем, что показывает нам удивительный и простой факт — произведение существует вне времени! Или даже “сквозь” время. Автора давно нет с нами, но в умах, сердцах людей снова создаются образы, которые чувствовал и создавал писатель. А бумага, оказывается, это довольно надёжный носитель информации!

Мы живём в цифровую эпоху. Что будет с десятками тысяч игр, художественных и музыкальных произведений через 50, 70, 100 лет? Станет ли что-нибудь из этого наследием культуры, или все сгинет в забытье и устаревших технологиях? Очевидно, сейчас мы наблюдаем “перенасыщение”, но кто в наши дни возьмёт на себя роль “критерия”? Или всё, что нам остаётся — хранить традицию? Узнал бы цифровой мир нового Достоевского, или талантливый автор был бы задушен монетизацией, мотивацией, изучением ЦА и другими особенностями современного “культурного рынка”?

Интересные вопросы, на которые лично у меня нет ответов.

# Re: Язык и сознание
std.hugeping
hugeping(ping,1) — hugeping
2020-09-08 19:06:26


Иллюстрация #2
2.png

# Re: Язык и сознание
std.hugeping
hugeping(ping,1) — hugeping
2020-09-08 19:05:33


Иллюстрация #1
1.png

# Эффективность против простоты
std.hugeping
hugeping(ping,1) — All
2020-09-08 18:53:37


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

Уравнение прямой — что может быть проще?

Ах + Ву + С = 0

Формула существует в мире идеальном. Но попробуем нарисовать отрезок прямой в грубой действительности — на растровом мониторе. Мы можем, конечно, выразить y через x и, увеличивая на 1 x, рассчитывать y. (Или x от y, для вертикальных отрезков). Потом ставить пиксель в координаты (x, y). Простой алгоритм. Только, никто так не делает. Медленно, неэффективно. Вы наверняка слышали об алгоритме Брезенхэма, который используется в таких случаях. К примеру, реализация рисования отрезка в INSTEAD (на C), выглядит так:

static __inline void line0(struct lua_pixels *hdr, int x1, int y1, int dx, int dy, int xd, unsigned char *col)
{
    int dy2 = dy * 2;
    int dyx2 = dy2 - dx * 2;
    int err = dy2 - dx;
    unsigned char *ptr = NULL;
    int w = hdr->w; int h = hdr->h;    int ly = w * 4;
    int lx = xd * 4;    while ((x1 < 0 || y1 < 0 || x1 >= w) && dx --) {
        if (err >= 0) {
            y1 ++;
            err += dyx2;
        } else {
            err += dy2;
        }
        x1 += xd;
    }
    if (dx < 0)
        return;
    ptr = (unsigned char*)(hdr + 1);
    ptr += (y1 * w + x1) << 2;    pixel(col, ptr);
    while (dx --) {
        if (err >= 0) {
            y1 ++;
            if (y1 >= h)
                break;
            ptr += ly;
            err += dyx2;
        } else {
            err += dy2;
        }
        x1 += xd;
        if (x1 >= w || x1 < 0)
            break;
        ptr += lx;
        pixel(col, ptr);
    }
    return;
}

static __inline void line1(struct lua_pixels *hdr, int x1, int y1, int dx, int dy, int xd, unsigned char *col)
{
    int dx2 = dx * 2;
    int dxy2 = dx2 - dy * 2;
    int err = dx2 - dy;
    int w = hdr->w; int h = hdr->h;
    unsigned char *ptr = NULL;
    int ly = w * 4;
    int lx = xd * 4;    while ((x1 < 0 || y1 < 0 || x1 >= w) && dy --) {
        if (err >= 0) {
                x1 += xd;
            err += dxy2;
        } else {
            err += dx2;
        }
        y1 ++;
    }
    if (dy < 0)
        return;    ptr = (unsigned char*)(hdr + 1);
    ptr += (y1 * w + x1) << 2;    pixel(col, ptr);    while (dy --) {
        if (err >= 0) {
            x1 += xd;
            if (x1 < 0 || x1 >= w)
                break;
            ptr += lx;
            err += dxy2;
        } else {
            err += dx2;
        }
        y1 ++;
        if (y1 >= h)
            break;
        ptr += ly;
        pixel(col, ptr);
    }
    return;
}

static void line(struct lua_pixels *src, 
int x1, int y1, int x2, int y2, 
int r, int g, int b, int a)
{
    int dx, dy, tmp;
    unsigned char col[4];
    if (y1 > y2) {
        tmp = y1; y1 = y2; y2 = tmp;
        tmp = x1; x1 = x2; x2 = tmp;
    }
    col[0] = r; col[1] = g; col[2] = b; col[3] = a;
    if (y1 >= src->h)
        return;
    if (y2 < 0)
        return;
    if (x1 < x2) {
        if (x2 < 0)
            return;
        if (x1 >= src->w)
            return;
    } else {
        if (x1 < 0)
            return;
        if (x2 >= src->w)
            return;
    }
    dx = x2 - x1;
    dy = y2 - y1;
    if (dx > 0) {
        if (dx > dy) {
            line0(src, x1, y1, dx, dy, 1, col);
        } else {
            line1(src, x1, y1, dx, dy, 1, col);
        }
    } else {
        dx = -dx;
        if (dx > dy) {
            line0(src, x1, y1, dx, dy, -1, col);
        } else {
            line1(src, x1, y1, dx, dy, -1, col);
        }
    }
    src->dirty = 1;
}

И это — весрия без анти-альясинга… Согласитесь, понять из алгоритма, что именно он делает, не так-то просто…

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

Я очень люблю OpenBSD за её простоту. Если сравнивать с современным Linux — это небо и земля! Но я понимаю, что за простоту пришлось заплатить… эффективностью. Ядро Linux очень сложное! Очень хитрые способы синхронизации (взять хотя бы rcu) разросшийся код системных вызовов… Даже если сравнивать один и тот же код разных версий — разница будет видна невооружённым глазом. Например, код из версии ядра 3.16:

void __napi_complete(struct napi_struct *n)
{
    BUG_ON(!test_bit(NAPI_STATE_SCHED, &n->state));
    BUG_ON(n->gro_list);
    list_del(&n->poll_list);
    smp_mb__before_atomic();
    clear_bit(NAPI_STATE_SCHED, &n->state);
}
void napi_complete(struct napi_struct *n)
{
    unsigned long flags;`    /*
     * don't let napi dequeue from the cpu poll list
     * just in case its running on a different cpu
     */
    if (unlikely(test_bit(NAPI_STATE_NPSVC, &n->state)))
        return;`    napi_gro_flush(n, false);
    local_irq_save(flags);
    __napi_complete(n);
    local_irq_restore(flags);
}

А вот аналогичный код, но уже из 4.18

bool napi_complete_done(struct napi_struct *n, int work_done)
{
    unsigned long flags, val, new;    /*
     * 1) Don't let napi dequeue from the cpu poll list
     *    just in case its running on a different cpu.
     * 2) If we are busy polling, do nothing here, we have
     *    the guarantee we will be called later.
     */
    if (unlikely(n->state & (NAPIF_STATE_NPSVC |
                 NAPIF_STATE_IN_BUSY_POLL)))
        return false;    if (n->gro_list) {
        unsigned long timeout = 0;        if (work_done)
            timeout = n->dev->gro_flush_timeout;        if (timeout)
            hrtimer_start(&n->timer, ns_to_ktime(timeout),
                      HRTIMER_MODE_REL_PINNED);
        else
            napi_gro_flush(n, false);
    }
    if (unlikely(!list_empty(&n->poll_list))) {
        /* If n->poll_list is not empty, we need to mask irqs */
        local_irq_save(flags);
        list_del_init(&n->poll_list);
        local_irq_restore(flags);
    }    do {
        val = READ_ONCE(n->state);        WARN_ON_ONCE(!(val & NAPIF_STATE_SCHED));        new = val & ~(NAPIF_STATE_MISSED | NAPIF_STATE_SCHED);        /* If STATE_MISSED was set, leave STATE_SCHED set,
         * because we will call napi->poll() one more time.
         * This C code was suggested by Alexander Duyck to help gcc.
         */
        new |= (val & NAPIF_STATE_MISSED) / NAPIF_STATE_MISSED *
                            NAPIF_STATE_SCHED;
    } while (cmpxchg(&n->state, val, new) != val);    if (unlikely(val & NAPIF_STATE_MISSED)) {
        __napi_schedule(n);
        return false;
    }    return true;
}
EXPORT_SYMBOL(napi_complete_done);

Кроме очевидного увеличения объёма кода тут присутствует любопытный фрагмент. Обратите внимание на конструкцию:

new |= (val & NAPIF_STATE_MISSED) / NAPIF_STATE_MISSED * NAPIF_STATE_SCHED;

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

Сложность кода растёт, простота теряется… Нельзя назвать ядро Linux примером плохого кода, но и красивым этот код можно назвать лишь с натяжкой.

К сожалению, мир в котором мы живём — это мир компромиссов.

Мы можем следовать одному из принципов:

- Linux — стихийная хакерская разработка;
- OpenBSD — принцип простоты в абсолюте;
- Проект https://suckless.org/ — принцип простоты до абсурда.

А можем пытаться выбрать что-то среднее. Но только ведь мы мечтаем об идеальном коде! А идеалы не терпят компромиссов. Так что в качестве отдушины, я пользуюсь на ноутбуке OpenBSD. А в INSTEAD я стараюсь придерживаться серединного пути. Но все-таки, все-таки все идеи приходят из мира идеального. Так что, даже в ядре Linux мы можем увидеть отголоски кода нашей мечты. :)

# Bolder Dash с БК0010–01
std.hugeping
hugeping(ping,1) — All
2020-09-08 18:49:46


Мне повезло, программировать я начал в лет 13, когда у нас в стране появились доступные компьютеры. Я был счастливым обладателем машины под названием БК0010–01. Конечно, сейчас даже стыдно озвучивать её характеристики. Но главное — на этом можно было программировать! Вообще, в каком то смысле было проще. В то время всё было просто. Железо — простое. Программы — простые. Сегодня, между человеком и машиной столько слоёв абстракции, что пробиться сквозь них очень тяжело. А в то время, ты мог программировать прямо в машинных кодах. Или вообще, на листке бумаги… Аналоговый мир впервые встретился с цифровым. (Кстати, успех таких проектов как PICO-8 или TIC-80 объясняется, как мне кажется, попыткой снова придать программированию простоту и радость творчества, которую у нас забрали.)

Так вот, я из тех людей, которые научились программировать благодаря играм. Я играл в игры и хотел делать такие же. Это и было основным стимулом для изучения возможностей БК. Одной из первых игр, в которые я играл была игра Bolder Dash.



Конечно, я тогда не мог знать, что Bolder Dash не самобытная игра на БК. Игра поразила меня своей сложностью. В то время я едва смог пройти несколько уровней, но не оставлял попыток пройти игру дальше.

Интересно, что потом, когда у меня появился уже x86 компьютер и я познакомился с разными вариантами Bolder Dash, я каждый раз был разочарован. Да, в этих играх человечек тоже толкал камни в разные стороны, но… Игра была абсолютно иной! В ней не было интеллектуальности! Скорее, рутинные уровни. Тяжёлое впечатление, словно ты играешь в sudoku или разгадываешь кроссворд. Каждый раз я с теплом вспоминал болдера с “бэкашки”…

В одной из версий INSTEAD, я добавил возможность создавать простые 2-D игры. Вот тогда (или чуть позже) я и вспомнил про Bolder Dash.

Мне хотелось сделать не просто клон, а точную копию игры. Поэтому, я вооружился дизассемблером PDP-11 и… Начал реверсить код.

Кстати, в то время я уже знал, что автор игры на БК (Мелентьев А.В.) был вдохновлён игрой Bolder Dash на Atari. Но он не играл в неё, а просто видел. После этого, он по памяти написал свою реализацию. Как здорово, что он не скопировал оригинал, и получилась совершенно новая игра!

Реверс кода PDP-11 оказался приятной и несложной задачей, буквально за несколько дней я воссоздал оригинальный алгоритм на Lua. С некоторыми улучшениями. :) Интересно, но я обратил внимание на тот факт, что функции часто начинались с “красивых” адресов, а между блоками кода часто были пропуски. Тогда я не мог этого понять, но ответ оказался простым! Игра писалась непосредственно в машинных кодах! Без использования ассемблера!

Кстати, вот так выглядит первый уровень игры в Lua реализации.

--$Name:STANDARD
--$Name(ru):СТАНДАРТ
maps = {
-- 0
"################",
"#+@@@@@@@@@@@@@#",
"#::::::@@::::::#",
"#::::::@@::::::#",
"#::::::@@::::::#",
"#:::@@@@@@@@:::#",
"#:::@::::::@:::#",
"#:::@: $$ :@:::#",
"#:::@: $$ :@:::#",
"#:::@: $$ :@:::#",
"#::##########::#",
"#::    %     ::#",
"#::          ::#",
"#::@@@@$$@@@@::#",
"#::::::::::::::#",
"################",

Ещё несколько дней, и болдер даш заработал на INSTEAD!

Когда я рассказывал об игре знакомым и говорил, что это “Болдер Даш”, всегда происходил эффект ложного узнавания. Люди думали, что понимают о чём идёт речь, и это мешало. Так как этот “Болдер” совершенно самобытная игра. Поэтому, я назвал игру “Miner Bold”.

Прямо сейчас, вы можете поиграть в Miner Bold. А я пока продолжу.

Так в чём же уникальность гнёмплея этой игры, по сравнению с оригинальным Bolder Dash, которого мы все знаем?

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

В физике тоже есть нюансы. Например, вы можете толкать камни вверх. А также, делать это на лету… В некоторых ситуациях… :) В некоторых ситуациях, можно даже “пугать” врагов. Конечно, эта механика следствие очень простого кода, но и она придаёт игре свой шарм.

Кроме оригинальных уровней, я добавил библиотеку дополнительных лабиринтов. Игра пишет демки успешных прохождений, которыми можно потом обмениваться (Пишутся они в каталог с сейвами). Если не нажимать на кнопки при старте, то игра покажет уже записанные демки. Также запустить демку можно кнопочкой “d” из меню выбора уровня (предварительно записав демку или взяв ее у товарища и подложив в каталог с игрой).

В игру можно играть на Android с помощью жестов. Только играйте двумя руками одновременно, тогда управление становится не хуже клавиатурного. Проверено мной и сыном, игра проходима. :)
Всем БКшникам — привет! :)

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

# О творчестве (цитаты)
std.hugeping
hugeping(ping,1) — All
2020-09-08 18:45:41


Aug 23, 2018 · 2 min read

По моим наблюдениям, в наши дни творчество само по себе встречается очень редко. Чаще всего оно оценивается с точки зрения коммерческого успеха, и как следствие — рационализируется.

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

Главный элемент творчества — чувство личной свободы.
(Чехов)

Существуют два способа не любить искусство. Один из них заключается в том, чтобы его просто не любить. Другой в том, чтобы любить его рационально.
(Оскар Уайльд)

Совершенства достигает лишь тот, кто отказывается от всяческих средств, ведущих к сознательной утрировке.
(Поль Валери)

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

Чтобы хорошо писать, надо разучиться грамматике.
(Гёте)

Чем недоступнее рассудку произведение, тем оно выше.
(Гёте)

Кто хочет понять поэта, должен идти в страну поэта.
(Гёте)

Мне важно установить в этом фильме то специфически человеческое, нерастворимое, неразложимое, что кристаллизуется в душе каждого и составляет его ценность. Ведь при всём том, что внешне герои, казалось бы, терпят фиаско, на самом деле каждый из них обретает нечто неоценимо более важное: веру, ощущение в себе самого главного. Это главное живёт в каждом человеке.
(Тарковский о “Сталкере”)

Я не пишу песни для кого-либо специально. Конечно, мне хочется, чтобы все люди могли меня понять… Но… Я не знаю. Песни которые я пишу (мы пишем), и песни которые мы играем. Мы делаем только так как мы хотим.
(В. Цой)

Набрать нужное количество слов — это не самое трудное. Куда труднее сочинить рассказ как таковой; литературное творчество — процесс загадочный до жути. Вам так хочется сделать все правильно, вы лезете вон из кожи, на каждом шагу беспощадно судите себя — и в итоге оказываетесь в глухом тупике. Тысячи и тысячи написанных слов не сложились во что-либо приемлемое; среди дикого сумбура невозможно найти правильный курс.
Р.Шекли

# Абсолютно ли познание?
std.hugeping
hugeping(ping,1) — All
2020-09-08 18:44:00


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

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

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

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

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

Теперь, представим себе, что существует реальность. Настоящий мир весь целиком. Сам в себе. Или, упрощенно – истина. Многие ученые верят в это.

Частью этого мира являются люди. Люди пользуются мышлением (язык, математика, логика). Если встать на позицию материализма, то можно сказать что язык, математика, логика (мышление) – сформированы средой. Например, причинно - следственные связи логики – это отражение направленности времени. Математика – суть закономерностей мира. И так далее.

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

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

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

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

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

Мы часто делаем подмены, во время наших рассуждений. Например, мы считаем “пространство” чем то самими собой разумеющимся. Хотя таким оно было только во времена Ньютона. Что такое пространство? Что такое движение? Вообще, философия науки на данный момент находится в стагнации. Да, мы даже не способны осознать даже такое “простое” понятие как движение! Любая физическая истина, будучи сформулированной, теряет абсолютность. Любая истина, выраженная логикой – теряет абсолютность. В качестве примера, попробуйте представить абсолютную истину, сформулированную физиком? У вас не получится.

Свобода воли – еще один интересный пример. Как бы мы не рассуждали, мы приходим либо к ее отрицанию, либо к ее “нефизичности”.

Само понятие “существует” – тоже предмет отдельного разговора.

Для меня, сам факт того, что человек пытается “заглянуть за край” является одним из доказательств бытия Божия. Мне кажется крайне неэкономично было бы мертвому и безжизненному абсолюту создавать человека с бесконечностью в душе. Но как бы вы не считали, во что бы вы не верили, я твердо убежден – ваш выбор обусловлен прежде всего не логикой, а сердцем. А если ваше сердце говорит одно, а логика – другое. Не бойтесь – логика хитрит. На мой взгляд, это еще одно “доказательство” бытия Бога, которое выражено в том, что человек свободен в своем выборе.

И в заключении, еще один пример. Многие из нас во сне делали нелепые поступки, чувствуя (во сне!) их абсолютную логичность. Просыпаясь же, мы удивлялись нелепости сна. Почему же мысль о том, что человек может “проснуться” в новую жизнь может казаться нелепой?

# Фиксированная передача
std.hugeping
hugeping(ping,1) — All
2020-09-08 18:42:25


Летом я езжу в городе на “глухаре” – велосипеде с фиксированной передачей. Глядя на множество стереотипов и предубеждений, которые связаны с этим типом велосипеда, мне захотелось хотя бы немного исправить это положение вещей и я перевел одну из статей Шелдона Брауна (довольно известного в велосипедных кругах веломеханика) на тему фиксированной передачи… Надеюсь, она окажется кому-то полезной…

Автор статьи: Шелдон Браун (Sheldon Brown)
Оригинал статьи на английском http://www.sheldonbrown.com/fixed.html

Перевод: Петр Косых

Я все равно думаю, что переключение передач может понадобиться только людям за сорок пять. Не лучше ли одержать победу силой своих собственных мышц без помощи искусственного переключателя? Мы теряем твердость. Что до меня, дайте мне “глухарь”! – Анри Дегранж (Henri Desgrange), L'Équipe article of 1902

# Что такое фикс и почему он может вам понадобиться?

Самый старый и простой тип велосипеда – “глухарь”. Это односкоростной велосипед без фривила (односкоростной кассеты): то есть, когда велосипед в движении, педали постоянно вращаются. На фиксе вы не сможете ехать по инерции.

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

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

# Для удовольствия

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

Конечно, нужно решиться на этот шаг и пройти через период привыкания. Но как только он пройдет, вы обретете совершенно новое удовольствие от езды на велосипеде. Когда вы едете на фиксе, вы чувствуете более тесную связь с велосипедом и дорогой. Есть какая то предельная, незамутненная простота в фиксированной передаче, которая может оказаться для вас крайне привлекательной. Каким то образом, как только заканчивается период привыкания, оказывается, что езда на глухаре приносит большее удовольствие, чем езда на велосипеде с передачами и трещеткой! Если вы не верите моим словам, почитайте отзывы о фиксированной передаче. http://www.sheldonbrown.com/fixed-testimonial.html

# Для поддержания формы

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

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

На спусках вы не можете катиться по инерции, а передача слишком низкая. Это заставляет вас педалировать с большим каденсом http://www.sheldonbrown.com/gloss_ca-g.html#cadence, чем на многоскоростном велосипеде. Педалирование с более высоким каденсом разрабатывает ваши ноги. Высокая частота вращения заставляет вас учиться более равномерному и плавному педалированию – если вы не будете правильно педалировать, вы будете подскакивать в седле.

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

# Чувство контроля

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

Это же самое чувство сцепления научит вас с какой силой тормозить передним тормозом без заметного отрыва заднего колеса от поверхности. Многие фиксеры используют только передний тормоз – с глухой передачей задний тормоз практически не нужен.

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

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

# Эффективность трансмиссии

Фикс заметно легче, чем многоскоростной велосипед сравнимого качества, из за отсутствия заднего тормоза, дюрайлеров http://www.sheldonbrown.com/gloss_da-o.html#derailer, манеток, лишних звезд http://www.sheldonbrown.com/gloss_sp-ss.html#sprocket . Фикс также имеет существенно более короткую цепь.

Правильно собранный фикс имеет идеальный чейнлайн http://www.sheldonbrown.com/gloss_ch.html#chainline . Это, а также отсутствие дюрайлеров, настолько сильно повышает эффективность трансмиссии, что вы это почувствуете.

# Трековые велосипеды

Многие люди думают, что фиксы и трековые http://www.sheldonbrown.com/gloss_tp-z.html#track велосипеды это синонимы, но это не так.

Трековые велосипеды созданы для использования на велодромах (велосипедных треках). Некоторые велосипедисты ездят на них и по дорогам, но они неидеальны для дорог.

Трековые велосипеды отличаются от шоссейных http://www.sheldonbrown.com/gloss_ri-z.html#road еще больше, чем отличаются от них фиксы.

Трековые велосипеды не имеют тормозов. Тормоза не нужны на треке, так как все едут в одном направлении, и никто из рядом едущих велосипедистов не может (и не должен) останавливаться быстрее вас. (На большинстве треков, в целях безопасности, тормоза запрещены!)

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

Геометрия рамы http://www.sheldonbrown.com/gloss_e-f.html#frame у трекового велосипеда также отличается от рам дорожных велосипедов. Так как на треке нет выбоин и неровностей, обычно рамы делаются более жесткими, с большими углами. Это хорошо для маневренности, но делает жесткой езду по реальным дорогам.

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

На трековых велосипедах не используются эксцентрики http://www.sheldonbrown.com/gloss_q.html#quick , что усложняет обслуживание в дорожных условиях.

На трековые велосипеды нельзя установить крылья http://www.sheldonbrown.com/gloss_e-f.html#fender , что ограничивает их полезность в плохую погоду.

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

Если вы заинтересовались трековыми гонками, посмотрите сайт Майка Глада The drome. http://www.velodrome.com/

# Дорожные фиксы

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

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

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

Вы можете купить готовый дорожный фикс, но у меня есть подробная статья переделка в фикс, http://www.sheldonbrown.com/fixed-conversion.html которая может помочь вам собрать свой.

# Фиксы из горных велосипедов

Фикс из горного велосипеда может стать универсальным транспортным средством для езды в городе и, при наличии авантюризма, его можно брать в лес. Горные велосипеды обычно имеют адекватный клиренс, правда с другой стороны, у большинства из них вертикальные дропауты. http://www.sheldonbrown.com/fixeda.html#vertical

У меня есть фикс на основе старого Bridgestone CB-3 http://sheldonbrown.org/bicycle.html#cb3 для плохих зимних условий, с 28/15. Это дает хорошую низкую передачу с расчетом 3.63 (49" / 3.88 м), http://www.sheldonbrown.com/gain.html которая позволяет мне ехать настолько быстро, насколько я считаю безопасным ездить по заснеженным улицам. Такая низкая передача делает передний тормоз почти бесполезным: низкая передача позволяет мне быстро тормозить велосипед за счет сопротивления вращению, особенно учитывая тот факт, что на ней сильно не разгонишься.

У меня есть пару горных фиксов с флип-флоп втулками, http://www.sheldonbrown.com/fixed.html#flipflop так что у меня на одной стороне втулки фиксированная передача, а на другой стороне получаются две передачи со свободным ходом. Это достигается с помощью двух передних звезд и двух звездочек на трещетке. (Трещетка на самом деле старая 5 или 6-скоростная у которой 3 звезды заменены на проставки.)

Спереди у меня стоит двойная система 42/52, которую я использую с 19-зубчатой фиксированной звездочкой, или с трещеткой с 20/30 зубцами. Все это дает 3 работающих комбинаций:

	Расчет 	Дюймы 	Метры 	Использование
52/19 Фикс. 	5.45 	71.2 	5.70 	Обычная дорога
52/20 Трещ. 	4.90 	64.1 	5.13 	Устал или холмы
42/30 Трещ. 	2.64 	34.4 	2.75 	Бездорожье

Комбинации 52/30 и 42/20 невозможны из за длины цепи. Я меняю передачи руками… да, плохой способ, так что я и не делаю это часто.

Брюс Ингл, участник Charles River Wheelmen, http://www.crw.org/ подкинул мне идею получше, он сделал тройной фикс на основе горного велосипеда. Он использовал кассетную втулку Шимано, http://www.sheldonbrown.com/k7.html запаяв механизм трещетки. Я немного волнуюсь относительно перспектив на будущее у этой втулки, в частности, насчет соединения между корпусом барабана и втулки, но я думаю я попробую повторить этот вариант. Он получил:

	Расчет 	Дюймы 	Метры
48/20 Фикс. 	4.65 	62.4 	4.99
42/26 Фикс. 	3.13 	42 	3.36
36/32 Фикс. 	2.18 	29.3 	2.34

# Трансмиссия

1/8" или 3/32"

Многие велосипедисты с трека используют более толстую цепь, чем цепи на многоскоростных велосипедах. Многоскоростная цепь имеет номинальную внутреннюю ширину в 3/32". На односкоростных велосипедах, включая большинство трековых, используются более широкие цепи в 1/8". Вы можете купить фиксированные звездочки обоих размеров.

(Некоторые люди по ошибке воспринимают ширину как шаг звена, говоря о “шоссейном” шаге или “трековом” шаге. Это ошибка. Шаг это расстояние от центра до центра между роликами, и все современные велосипедные цепи имеют одинаковый шаг, ½"/12.7 мм)

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

Судя по моему опыту, 3/32" цепи не менее надежны или прочны чем 1/8".

Для истинных ретро-ценителей, есть другой вариант – это 1" x 3/16" цепи. Этот размер был распространен на треке и требует специальных звездочек с числом зубцов вдвое меньшим, чем у стандартных звездочек с шагом ½". Настоящие трековые гонщики использовали цепь без роликов. Таких цепей больше нет. Но роликовые цепи такого размера еще где-то можно достать.

Еще более запутывает ситуацию шаг цепи в 10 мм. продвигаемый Шимано http://www.sheldonbrown.com/gloss_sa-o.html#shimano несколько лет назад. Идея была в том, чтобы сэкономить на весе, сделав все меньше. Идея, время которой так и не пришло.

# Продление жизни звездочек и цепи

Если вы хотите продлить жизнь цепи и звездочек, выбирайте четное число зубьев, если это возможно. Смотрите мою статью по продлению жизни цепи. http://www.sheldonbrown.com/chain-life.html

# Центровка передней звезды

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

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

Рукам требуется небольшой опыт, чтобы научиться тому, с какой силой ударять по цепи и насколько ослаблять бонки, но это действительно несложная процедура.

Затяните немного бонки и все перепроверьте. Затягивайте бонки в равномерной последовательности, как это делается с гайками на колесах у машин. Моя обычная последовательность начинается с затягивания бонки напротив шатуна, затем пропустить 2 бонки по часовой стрелке (144 градуса), затянуть одну, пропустить еще 2 по часовой стрелке, и так далее. Никогда не затягивайте две соседние бонки. Вы можете выбрать противоположное направление движения, но попытайтесь выработать привычку всегда начинать из одной точки и всегда идти в одном направлением. Это уменьшит вероятность случайно пропустить бонку.

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

# Установка заднего колеса

Когда вы устанавливаете заднее колесо на фиксе – или на любом велосипеде с одной скоростью –, существуют три вещи, которые вы должны настроить одновременно:

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

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

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

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

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

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

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

> Мне нравится сначала освободить правую часть оси, натянуть цепь немного сильнее, чем нужно, и ударить по цепи гаечным ключом, как описывает Шелдон в процедуре центрирования передней звезды. Таким образом, я могу сдвинуть ось совсем немного вперед, чтобы цепь была хорошо натянута. Колесо при этом немного повернется, и нужно будет настроить позицию левого конца оси, но это уже почти не повлияет на натяжение цепи. – Джон Аллен

Замечание: этот способ не работает с втулками на эксцентриках, но с ними обычно меньше проблем.

# Выбор расчета

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

Я живу в Новой Англии с небольшими холмами. Для велосипеда с обычными дорожными колесами и 165 мм. шатунами я понял, что для меня, передача 42/15 подходит лучше всего. Это дает передачу 5.77 (75.6" / 6.05 м). Это достаточно мало для того, чтобы я мог въезжать в горки где я обычно езжу, но достаточно много, чтобы я мог достаточно быстро съезжать вниз.

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

Те, кто живут в плоских местах, скорее всего предпочтут что-нибудь значительно большее. Когда я посещал мою сестру в Иллиноисе, я повернул мое колесо и использовал 42/14, передачу 6.18 (81.0" / 6.48 м).

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

Раздельщики часто предпочитают что-нибудь еще более высокое. (Многие британские триалисты предпочитают фиксы для этих соревнований.) Берил Бартон (Beryl Burton), вероятно, самая известная триалистка в истори, использовала почти исключительно фикс. Если мне не изменяет память, она обычно ездила на 52/14 или 52/13!

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

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

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

# Большее или меньшее число зубцов?

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

Например, 36/12, 39/13, 42/14, 45/15 и 48/16 все дают одну и ту же передачу 3:1. Что выбрать?

	                 Больше         Меньше
Хорошо: 	Немного меньшее трение 	Немного легче
	Более долгая жизнь цепи/кога 	Больший клиренс до земли
	Меньшее напряжение цепи 	Больший клиренс до перьев
Плохо: 	Немного тяжелее 	Быстрый износ цепи/кога
	Иногда проблемы с клиренсом до перьев 	Большее напряжение цепи
		(и вероятность смещения оси)

Эти различия в основном незначительны. Большинству велосипедистов подойдут звезды от 30 зубцов для техничного внедорожного использования, 40 зубцов для дороги и 50 для использования на треке.

Так как 42-зубцовыя звезды очень распространены на дорожных системах, этот размер довольно популярен при переделки велосипеда в фикс.

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

# Флип/флоп втулки

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

Наиболее распространенное использование таких втулок – это установка фиксированной звездочки на одной стороне и фривила на другой. Обычно, фривил ставят на 1 или 2 зубца больше, чем фиксированная звездочка.

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

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

Для каждого зубца разницы, позиция задней оси будет меняться на 1/8" (3 мм.)

Также, вам понадобятся два тормоза, если вы собираетесь использовать фривил.

Вы также можете использовать две разные фиксированные звездочки. В таком случае я бы порекомендовал разницу в 1 зуб. Я использую 14 и 15 коги с 42 звездой впереди на паре моих велосипедов.

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

Бывают двойные фиксированные втулки, и, как по мне, это наиболее желательная конфигурация. Такое устройство наиболее универсально, потому что вы можете накрутить 1 или 2 фиксированные звезды или 1 или 2 фривила.

Каждая стандартная трековая втулка также может быть использована с односкоростной кассетой (фривилом), просто не используя фривил. Резьба та же. Иногда люди беспокоятся из за того, что резьба втулки не такая длинная, как на специальной втулке для фривила, но это на самом деле не является проблемой.

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

# BMX фдип-флоп втулки

Есть еще один тип “флип-флоп” втулок, в основном используемых в BMX. Этот тип имеет резьбу для двух фривилов, без резьбы для локринга. Одна сторона это стандартная 1.375" резьба, другая – более мелкая метрическая резьба. Она сделана для того, чтобы устанавливать более мелкие фривилы, чем те, которые устанавливаются на обычную втулку (14 и 15 зубцов).

# Педали

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

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

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

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

# Начало езды

Езда на велосипеде требует подходящей техники старта. http://sheldonbrown.com/starting.html Многие велосипедисты имеют плохие навыки старта езды, такие как закидывание ноги на ходу или подпрыгивание на старте. Эти методы работают на фиксе еще хуже, чем они работают на обычном велосипеде.

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

Я использовал край седла, чтобы приподнять велосипед, но я таким образом порвал Brooks Pro http://sheldonbrown.com/leather.html – оторвались заклепки, которые крепят кожу к рамке седла!

Мой друг, Осман Исван недавно подсказал мне другой способ. Трюк в том, чтобы взять велосипед, поставить ногу на педаль, зажать передний тормоз и надавить на руль от себя. Сила давления на руль заставит приподняться заднее колесо и можно будет прокрутить педали в нужную позицию.

# Остановка

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

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

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

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

# Торможение

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

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

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

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

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

Некоторые фиксеры стараются не использовать тормоз за исключением экстренных ситуаций. Я не уверен в том, что это хорошая идея. Очень тяжелая и постоянная нагрузка сопротивления педалированию широко зарекомендовала себя как вредная для ног. Она является контр-продуктивной для развития мышц и координации педалирования. Загуглите “eccentric contraction” для дополнительной информации. http://www.google.com/search?client=safari&rls=en&q=eccentric+contraction&ie=UTF-8&oe=UTF-8 Eccentric contraction зарекомендовала себя как причина микро-разрывов в мышечной ткани, так что это ослабляет ваши мышцы, в отличие от других физических нагрузок.

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

> Физиология упражнений относительно новая наука. Микро-разрывы в мускулах сейчас считаются началом укрепления мышц. Распространенные упражнения для строительства мускул – поднятие тяжестей, отжимания, приседания. Nautilus и Cybex тренажеры и так далее используют eccentric contraction – вы поднимаете штангу, или свое тело, или тянете рычаг, затем опускаете. Но число повторений в упражнениях намного меньше, чем при езде на велосипеде, обычно 2 или 3 подхода из 10 повторений, вместо тысяч за час педалирования. Тяжелые нагрузки при сопротивлении вращению педалей, возможно, вредная вещь по той же причине, что и низкий каденс. Сильная нагрузка, повторенная много раз, ведет к излишнему травмированию, и будет истощать, а не наращивать мышцы. – Джон Аллен

# Скип-стоп (скидинг)

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

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

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

Вам действительно стоит научиться этому приему! Его проще делать на большей скорости.

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

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

Смотрите мою статью Торможение и маневрирование http://sheldonbrown.com/brakturn.html для более детальной информации.

# Скид патчи

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

Велосипедисты которые планируют делать много скип-стопов должны учитывать передачу при выборе звезд. Математика выбора довольно проста:

- Упростите передачу к самому маленькому (меньшим числом зубцов) эквиваленту в виде отношения чисел. Назовем передачу p/q.
- Если числитель p у дроби – четный, то число скид-патчей равно q. Скид-патчи равномерно распределены по покрышке, если их больше одного.
- Если вы способны скидить с обоих позиций и числитель нечетный, число возможных скид-патчей удваивается. Скид-патчи с одной позиции (одна из ног впереди) лягут в промежутках между скид-патчами для другой позиции (эта же нога – позади).

Например:

48/12 упрощается до 4.1, таким образом тут будет только 1 пятно контакта (скид-патч).

45/15 упрощается до 3/1, таким образом будет только 1 скид-патч, или 2 если вы умеете скидить с обоих позиций.

42/15 упрощается до 14/5, то есть тут будет 5 скид патчей.

44/16 упрощается до 11/4, то есть тут 4 скид патча, или 8 – если вы умеете скидить с обоих позиций.

Дробь 43/15 не может быть упрощена, так что тут 15 скид патчей, или 30 – если вы умеете скидить с обоих позиций.

Объяснение: давайте посмотрим на 45/15 или 3/1. Заднее колесо поворачивается точно 3 раза за каждый оборот шатунов, таким образом, если одна и та же нога в передней позиции, одно и то же место покрышки будет протираться при торможении. ½ поворот шатунов соответствует другой позиции (другая нога впереди) и это повернет заднее колесо на 1 ½ оборота. Таким образом, пятном контакта станет противоположная точка на шине. Аналогично, для более больших отношений, если числитель четный, скид-патчи будут попадать на одно и то же место не зависимо от того, какой шатун впереди. Но если числитель нечетный, скид-патчи будут чередоваться. Табличка для Excel от Джона Алена http://sheldonbrown.com/skidpatch.xls помогает вычислить число скид-патчей для любой комбинации звезд.

Задний тормоз тоже оставляет протертости. Переднее колесо не уходит в занос при нормальном торможении. Передний тормоз также может остановить велосипед намного быстрее, но требует осторожного обращения, чтобы избежать выкидывания велосипедиста через руль: см. мою статью по торможению и маневрированию. http://sheldonbrown.com/brakturn.html

# Опасности фикса

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

# Чирканье педалью

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

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

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

Большинство моих фиксов имеют 165 мм. шатуны, что дает немного больше клиренса, чем дали бы 170 мм. шатуны. которые обычно используются на дорожных велосипедах. Также, я стараюсь использовать такие педали, которые не сильно торчат наружу.

> Избегание зацепления педалью это одна из причин не следовать обычному совету Шелдона http://sheldonbrown.com/brakturn.html#leaning стараться держать свое тело и велосипед на одной линии во время крутых поворотов. Если вы наклоните туловище по направлению поворота, велосипед будет устойчивей, но с другой стороны… – Джон Аллен

# Соскок цепи и блокировка колеса

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

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

# Зажевывание пальцев, брюк, шнурков

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

> Тут были изображения отрубленных пальцев. Вы можете посмотреть их здесь. – Прим. пер. http://www.sheldonbrown.com/fixed.html

Простите, за эти ужасные фото, но это реальная опасность!

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

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

Я искренне надеюсь, что моя статья убедит некоторых из читателей попробовать прокатиться на глухаре, и, быть может, вам понравится фиксированная передача так же сильно, как она нравится мне. У меня есть 11 фиксов! http://www.sheldonbrown.com/fixed-scb.html

# Познаваемость и антропный принцип
std.hugeping
hugeping(ping,1) — All
2020-09-08 18:27:04


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

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

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

Это как с мыслями о бесконечности: если мы можем дойти до этой точки, то значит можем шагнуть еще дальше. А потом еще и еще. Но на чем, кроме житейского опыта основано это убеждение? Скорость света может оказаться действительно максимальной скоростью, кротовые норы могут оказаться несбыточной мечтой. Вероятность успешной миссии корабля-колонии – ничтожно малой, недостаточной, чтобы сделать возможными межгалактические переходы. Может просто не оказаться законов (в смысле их применимости и доступности), которые помогли бы человеку освоить вселенную. Человек может оказаться тупиковой (неудачной) формой жизни, неспособной к познанию вселенной, видящей только маленький, доступный для сознания слой неведомой реальности.

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

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

Интуитивно мы понимаем, что все эти рассуждения выглядят нелепо. Возвращая антропный принцип в полном смысле (говоря, что Бог сотворил вселенную для нас) – наш разум более не вступает в конфликт с интуицией. Я не знаю, доберемся ли мы до звезд, но это вполне возможно, если Бог подарил нам эти звезды. Антропный принцип предполагает, что вселенная познаваема, ибо она создана для нас. Человек архитектурно сродственен миру. Конечно, это не означает, что мы гарантированно начнем бороздить просторы галактики, но хотя бы дает основание для надежд на то, что мы все-таки способны вместить в себя вселенную.

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

# Вероятность личного бытия
std.hugeping
hugeping(ping,1) — All
2020-09-08 18:26:33


Исходя из текущего научного представления о вселенной, количество галактик в нашей вселенной — несколько миллиардов. Размер только нашей галактики около 100 000 световых лет. Количество звезд в ней — больше 150 миллиардов.

Возраст Земли — 4-5 миллиардов лет. Самые древние исторические свидетельства о человеческих цивилизациях лежат в диапазоне нескольких тысяч лет.

Теперь, читающие эти строки, представьте себе вероятность вашего существования. Нет, не вероятность возникновения «жизни», и даже не вероятность возникновения «человека», а вероятность вашего личного существования. Что во всех этих невообразимых масштабах пространства и времени, сейчас, вопреки всему «здравому смыслу» существует огонек вашего сознания. Что вы не знаете другого времени, как только то, в котором вы вошли в этот мир. Микроскопический, почти нулевой отрезок времени. Микроскопический, почти нулевой масштаб. Почти нулевая вероятность. И все-же, ваше сознание заполнено отраженной в ней вселенной, которая ворвалась в нее, когда вы осознали собственное бытие… Так ноль или один?

И сотворил Бог человека по образу Своему, по образу Божию сотворил его;

# Об эволюции
std.hugeping
hugeping(ping,1) — All
2020-09-08 18:25:57


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

Когда думаешь о вселенной: о всех этих расстояниях, которые почти невозможно представить, о нескольких миллиардах лет развития земли, о зыбкости жизни, о том, что возможно, нашими предками были животные — то легко почувствовать потерянность во всем этом. И невольно думаешь: а как же Бог? как может быть центром всего Христос? Человек сотворен Богом, или лишь слепой случайностью, которая нащупала себе дорогу за долгие годы эволюции? А как же книга Бытия?

Быт1:1 В начале сотворил Бог небо и землю.

Если под небом и землей представить себе планету Земля и ее атмосферу, то первый стих книги Бытия покажется даже наивным. Но если иметь в виду, что тексту несколько тысяч лет, и для людей того времени небо и земля, скорее всего, означали всю вселенную, то у стиха будет уже несколько другой смысл. А если вспомнить еще одно толкование, где под небом и землей понимается видимый и невидимый (небесный) мир, то мы обнаружим еще один смысл. И какой из них верный? Каждое из толкований верно, так как следует более фундаментальному смыслу, который заложен в этой короткой строке.

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

Для простоты (не обращая внимания на слабые моменты теории), представим себе, что эволюция это просто результат случайности и отбора. То-есть эволюция заключается в «нащупывании» или «протаптывании» оптимального пути развития, находя его среди множества вариантов. Представим себе, что мы наблюдаем становление человека из обезьяны (или нашли археологическое подтверждение этому процессу). Значит ли, что человека сотворила «случайность»?

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

Но случайность это свойство нашего мира, сотворенного Богом. Наблюдая эволюцию, мы наблюдаем становление творения. Бог создал человека. Или, глядя изнутри мира, мы можем сказать, что мир таков, что в нем возможен человек, и это факт бытия. (Кстати, еще сложный вопрос, соотношение «вероятности» и факта личного бытия.)

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

Христос явил Бога настолько, насколько возможно человеку познать Бога. Если я верю в то, что Бог создал человека, и узнаю Бога в Христе, то я верю, что Христос — Агнец, закланный от создания мира Откр13:8. То-есть событие смерти и Воскресения Христа, послание Духа Утешителя вплетены в мироздание на уровне сотворения мира. Бог воссоздал человека во Христе, поэтому Христос это второй Адам или виноградная лоза, как говорит о Нем Церковь. Альфа и Омега — то-есть центр координат, начало отсчета. Новый Завет. Еще есть термин домостроительство Божие. Наверное, слишком грубый термин, но я бы сказал, что это как новая «прошивка». Бог создал человека неповрежденным, в Адаме человек отпал от Бога, и его цель — «вернуться». Думаю, это возвращение можно мыслить и как личное, и как общее.

Отсюда сложность «рационального-рассудочного» понимания Христа как Человека и Бога. Думаю, что исповедуя Христа Богом, Церковь «сформулировала» или озвучила опыт веры, то-есть факт веры. Наверное можно попробовать построить такую цепочку: Кто обладает истинным бытием? Бог. Мы обладаем бытем в той мере, в которой Бог обитает в нас. Кто явил Бога? Христос. Но домостроительство это тоже тайна, и такая цепочка наверняка «условная».

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

# О времени
std.hugeping
hugeping(ping,1) — All
2020-09-08 18:25:13


Время существует для того, чтобы актуализировать свободу.

# Николай Сербский — Мысли о добре и зле
std.hugeping
hugeping(ping,1) — All
2020-09-08 18:24:44


«Духовные не бьются над вопросом: кто сотворил меня? — понимая, что никого во всей вселенной нельзя назвать Творцом всего, кроме единого Бога.»

# О физике
std.hugeping
hugeping(ping,1) — All
2020-09-08 18:24:15


Вчера и сегодня смотрел фрагменты документального фильма про вселенную. Фильм снят по Стивену Хокингу. Мысли, которые переросли в поток сознания…

Всегда путаюсь от следующей штуки. В фильме показывается красочный космос (одна из мыслей — что эти краски — не «настоящие» в том смысле, что глазами так не увидишь). Камера перемещается в произвольную точку галактики со сверх-световой скоростью. Ну или даже в другие галактики. Есть еще такая программа, симулятор вселенной — celestia. Нажимаешь мышкой на галактику соседнюю и …уже там.

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

Вот я нажимаю на галактику и оказываюсь там. Как такое представить — если это невозможно? Какой рисунок звезд я увижу? В каком времени? Какое вообще время? В тоже-самое? Что значит тоже-самое? Где? То-есть для меня эти перемещения как какой-то парадокс, который не мыслится. Не могу понять. Интересно, как запрограммирована celestia? И если физик верит в то, что скорость света это предел, но вместе с тем разум его совершает такие вот «прыжки», то не значит ли это, что физик здесь подобен идеалисту?

Похоже, Стивен Хокингс атеист. И в фильме местами (среди тех фрагментов, что я смотрел) чувствуется, и даже почти настойчиво, преобладание именно этого мировоззрения. Например, голос за кадром начинает рассуждать об антропном принципе. Сначала он удивляется тому, что вот так все совпало, что и солнце и земля и законы физики нашей вселенной такие, что появилась жизнь и потом — человек… Все в том духе, может быть Бог «настроил»? Ну а потом ответ: но представьте себе что вселенных много, и каждая из них со случайными законами физики. Ну а мы наблюдаем ту, в которой могли возникнуть только мы. Слабый антропный принцип то-есть.

Здесь я задумался. Явно же, что Хокинг о чем-то другом говорит, когда говорит о Боге. То есть для него Бог не мыслится вне вселенной или вне законов физики. Вселенная — только она СУЩЕСТВУЕТ ИСТИННО. То-есть обладает истинным бытием. Разность в понимании проявляет уже где-то на уровне слов: СУЩЕСТВУЕТ, БЫТИЕ. Для христианина самостоятельным БЫТИЕМ обладает только Бог (Яхве — Сущий) и БЫТИЕ здесь понимается как фундаментальная трансцендентность. В этом смысле вселенная получает объективность существования только в Боге. В фильме же это понятие как-то размыто до смысла — «подчиняется законам физики». То есть для физика (если он честный атеист), похоже, трансцендентны физические законы (которые, к тому же, познаваемы), и в этом его можно назвать где-то даже пантеистом. Не это ли имел в виду Эйнштейн, когда говорил, что «Бог не играет в кости»?

СУЩЕСТВУЕТ, ПРОСТРАНСТВО — сложно это все. В каком пространстве существует сознание?

Вопрос бытия можно поставить и так — что имеет объективную самостоятельную ценность? Поражающие своими размерами безжизненные (по крайней мере, в основном) просторы вселенной или сердце человеческое? И возвращаясь к мысленным межгалактическим «прыжкам» — разве человек не больше вселенной?

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

Что ценно? Что обладает истинной (самостоятельной) ценностью? Число живущих людей? А может, абсолютное знание? Думаю, мысль фильма в пределе (неосознанная мысль?), если нет места Богу — это желание получить абсолютную власть через абсолютное знание. Рай уже здесь — в этой вселенной. Человеческий рай. Гордая мысль.

Бог создал человека свободным настолько, что мы сами выбираем, где будет наше сердце. «Создал» — не в смысле биологической лаборатории или по Дарвину из обезьяны или… как-то по другому. Создал — это значит создал ИЗ НИЧЕГО. По-настоящему.

Как можно верить в человеческий рай? Человек пал. Мы живем в мире, который сломан. Об этом нам говорит, хотя бы совесть. И принципиально, от экспансии человека в космос, если она произойдет, человек не изменится. Тогда что же мы построим? Адам (а значит — все человечество) потерял рай через грех. И вернуть его можно, но разве через технику???…

Истина это не знание физических законов, это жажда правды и любви. Истина — то что является самоценностью. То что является истинным бытием. Это то, где твое сердце. Истина это Бог.

Христианин верит (а святые и опытно знают), что Бог есть Любовь. Чем сильнее любовь, тем больше и страдание. Так как в падшем мире все страдают, и даже животные, а Святой молится за весь мир. Но молитва и гордость не совместимы. Бог любит смиренное сердце, и Дух Святой обитает в смиренных сердцем. Господи Иисусе Христе, помилуй нас грешных!

И вот, насколько далеко от всего этого документальный фильм про вселенную, когда в нем говорится о Боге… Насколько разные: знание и Истина. Несравнимые вещи.

Думаю, что честная наука должна останавливаться на том месте, где она не может ничего сказать.

# Асимметрия добра и зла или о трансцендентности
std.hugeping
hugeping(ping,1) — All
2020-09-08 18:23:26


8 лет назад (пишу этот текст в 2014 году), когда мне было 27 лет, я начал в очередной раз задаваться главным вопросом. Кто я? Я нашел свои записи того времени, и решил сохранить некоторые из них. Точно помню, что одной из первых мыслей, которые меня поразили – было осознание асимметричности мира. Копирую текст без изменений…

Добро и зло. Это те два слова, которые так привычны и между тем смысл которых так неуловим. Кажется, что кристально-четкое понимание этих простых на первый взгляд категорий может помочь ответить на основной заветный вопрос – “зачем”?

И все-таки, обычно именно мировоззрение определяет то, каким образом воспринимается добро и зло, и (как обычно) эта подмена понятий происходит незаметно.

Изучение результатов запроса ‘что такое добро и зло’ к поисковой системе – увлекательное занятие.

И все же…

Понятия о добре и зле не существует (не может быть применено на себя или другого субъекта) без существования сознания (свободы воли).

Понятие добра первично. (Понятие абсолютного зла неопределено. Понятие абсолютного добра существует в религии.)

Понятия о добре и зле могут восприниматься не только как форма общественных отношений, но и как отношение к миру (Богу?) в целом.

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

Хорошо, я знаю, что вы уже наверное увидели (или увидите) очередную подмену понятий. И все же… Я делаю вывод, который сам по себе, как кажется мне, вполне объективен:

Добро и зло – асимметричны…

Они асимметричны так же, как, например, асимметричны процессы, стоящие за понятиями: “созидать” и “разрушать”.

… Каждый из нас, знает он об этом или нет, хочет он того или нет, делает свой выбор и этот выбор асимметричен, хотя бы в рамках человеческого сознания. А что есть человеческий мир, как не удивительная красота вселенной, отраженная в нашем сознании?

…Так что такое трансцендентность?

# Информационные следы или отцы и дети в кибернетической утопии
std.hugeping
hugeping(ping,1) — All
2020-09-08 18:22:32


// Изначально было опубликовано 13-08-2006

Когда то они были такими же как ты. Они искали, они любили, они чувствовали, они жили. Они не знали – что такое Смерть. Они не знали – что такое Время. В их мечтательных глазах отражались кроны сосен ныряющие в кристальное небо и рваная вата облаков. Но они проиграли. Теперь они – по другую сторону.

Не верь в их опыт – они просто разучились думать. Не верь в их мир – они сами ненавидят его. Не верь им – иначе ты проиграешь…

Манифест подростка

Возможно, приход Сети означает для нас доступность информации любого рода. Возможно, с приходом Сети мы обрели наше прошлое.

Интернет появился не так давно, и пока сложно сказать каков средний срок жизни информации в сети. Да, конечно, существуют утверждения, относительно срока в 2-3 года, но… в это сложно поверить. Я начал задумываться об этих вещах, когда анализировал ответы поисковых систем на запрос по моему имени и фамилии. Я выловил сообщения 97-98 годов, когда у меня и интернета собственно еще не было… А кроме того, существование подобных https://archive.org/index.php проектов также заставляет сильно задуматься.

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

Если срок жизни информации составит хотя бы 12-13 лет, значит ли это, что наши дети получат доступ к нашему прошлому? Нашему личному прошлому. Станем ли мы понятнее для них? Станем ли мы ближе? Какими будут отцы и дети в кибернетической утопии?

# Re: emacs vs VSCode
std.hugeping
Peter(syscall,1) — Difrex
2020-08-22 20:47:09


Ещё в тему!

Крутя 9front (форк plan9), стало интересно, где верстается их мануал? ( http://fqa.9front.org/dash1.plan9haters.pdf ). Кстати, он очень забавный, рекомендую. :) В общем, latex там нет. Но есть troff! В линуксе gtroff используется разве что для манов. Но оказалось, что в troff можно верстать документы! Например, troff использовал Эндрю Таненбаум: https://www.cs.vu.nl/~ast/home/faq.html

>> What typesetting system do you use?

> All my typesetting is done using troff. I don't have any need to see what the output will look like. I am quite convinced that troff will follow my instructions dutifully. If I give it the macro to insert a second-level heading, it will do that in the correct font and size, with the correct spacing, adding extra space to align facing pages down to the pixel if need be. Why should I worry about that? WYSIWYG is a step backwards. Human labor is used to do that which the computer can do better. Also, using troff means that the text is in ASCII, and I have a bunch of shell scripts that operate on files (whole chapters) to do things like produce a histogram by year of all the references. That would be much harder and slower if the text were kept in some manufacturer's proprietary format.

>> What's wrong with LaTeX?
> Nothing, but real authors use troff.

Такой же шок я испытал, когда увидел, что в FreeBSD развивается OSS. Вместо того, чтобы делать новую звуковую подсистему (ALSA в Linux) они развили OSS. Так вот, может быть, конечно, Latex удобнее и гибче, однако если вы сравните объёмы дистрибутива Latex с troff...

Есть макросы для gtroff: https://www.schaffter.ca/mom/mom-03.html#tex

И формулы в нём можно делать: https://tex.stackexchange.com/questions/527864/latex-vs-groff-for-mathematics-formatting

Короче, рано хоронить Unix :)

Ещё, я стал как то больше уважения испытывать к GNU. Пока Linux сообщество увлечённо переваривает громадные проекты, которые "дарят" корпорации, GNU гнёт свою линию и пишет потихоньку софт, который способно поддерживать без помощи капиталистов. ;)

# Re: emacs vs VSCode
std.hugeping
Peter(syscall,1) — Difrex
2020-08-22 20:19:03


> Ну, Роб упоротый. Это его редактор и делал он его, наверное, под себя. :)

Да там такой KISS, что дальше уже просто не куда. ;)
P.S Не выдержал, снова поставил в виртуалку покрутить 9front. Зреет мысль, купить малинку и водрузить на неё для опытов. :)

# Re: emacs vs VSCode
std.hugeping
Difrex(dynamic,1) — Peter
2020-08-20 14:34:54


Ну, Роб упоротый. Это его редактор и делал он его, наверное, под себя. :)

А vscode, когда я его пробовал последний раз, упал после 20 минут работы, после того, как я поставил все, что нужно для разработки под Go. Emacs рулит :) А vscode тупо пропиарен, sublime, - на котором я сидел около двух лет, - выглядит лучше.

# emacs vs VSCode
std.hugeping
Peter(syscall,1) — All
2020-08-18 21:14:35


Тут на lor в новости о выходе новой версии emacs https://www.linux.org.ru/news/gnu/15850869 было много комментариев о том, какой же редактор круче. В основном, упоминался VSCode. Мне такие разговоры не близки, так как дело вообще не в "лучше". За VSCode стоит корпорация. Он работает на таких технологиях, которые сложно поддерживать и переносить. Мне этого достаточно, чтобы редактор перестал быть привлекательным. Но если он кому-то нравится, то почему я должен быть против?

Но вопрос на самом деле можно поставить по другому. Насколько _критичны_ удобства среды/редактора, чтобы считать их обязательными?

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

https://twitter.com/rob_pike/status/1055632360606035968

Это Роба Пайка спросили в 2018-м, какой редактор он использует.

> Acme. But I do not expect others to use it.

Вероятно, и go писал в acme. А вы говорите... :)

# Re: Lytdybr (чтение)
std.hugeping
Andrew Lobanov(tavern,1) — Peter
2020-08-05 05:20:01


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

Заинтриговал будь здовор. Осталось придумать как это всё втиснуть в мой график чтения :)

Peter> Похожий интерес я испытывал когда читал "Четвёртый ледниковый период" Абэ Кобо. Взять хотя бы момент, в котором ЭВМ моделирует человека, который был убит и его спрашивают о том, кто убийца:
>> Стараясь подавить волнение, я обращаюсь к машине:
>> - Можешь отвечать на вопросы?
>> Короткая пауза. Затем слышится слабый, но отчетливый ответ:
>> - Кажется, да. Если вопросы будут конкретными.
>> Голос совсем живой, и я немного теряюсь. Словно в машине спрятан
>> настоящий человек. Но это всего лишь электронная схема. У нее не должно быть
>> ни сознания, ни воли.
>> - Тебе, конечно, известно, что ты умер?
>> - Умер? - испуганным, задыхающимся голосом шепчет формула внутри
>> машины. - Я умер?..
>> Нет, это ужасно. Я в страхе бормочу:
>> - Ну да... Конечно...
>> - Вот, значит, как... Меня все-таки убили... Вот оно как...
Peter> Жутко. Фактически, мы тут видим ситуацию, прохождения теста Тьюринга. Но всё-таки, это всего-лишь программа? Или уже нет?

Момент немного напомнил так мной любимую игру Soma. СЕЙЧАС БУДУТ СПОЙЛЕРЫ!!!




Суть игры в копировании сознания человека на электронные носители. Был там момент, где надо было получить информацию от такой копии. И неизбежно это не получалось сделать с первого раза. Ужас ситуации был в том, что в случае неудачи игрок сбрасывал состояние конструкта на начальное и повторял процедуру. Копия при этом даже не понимал, что он копия.

Вообще сильная игра.

Peter> Ещё немного почитал на тему "Большой проблемы сознания". На этот раз по наводке с вики немного почитал Дэвида Чалмерса "Сознающий ум". Но пока бросил. Пенроуз (Новый ум короля) нравился больше. Хотя, может быть просто состояние пока такое -- не до философии. Кстати, обратил внимание на то, что часто акцент ставят на квалиа, но совсем мало (или вообще никак) -- на сам факт существования феномена "я-ты". Был такой еврейский филосов Мартин Бубер, я его читал в студенчестве, и он этой теме уделил целый труд. Вообще, в очередной раз заметил, что многие люди вообще не замечают проблемы. Хочу как-нибудь написать на эту тему. На пальцах, для себя даже. Но не сейчас.

Я сколько не силился, не понял проблемы.

С моей точки зрения это не проблема, а дизайн :)





Peter> Вообще, я думал я почти не читаю. Оказывается, что-то всё-таки читаю. Чего всем желаю, эскапизм в хорошем смысле этого слова.

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

# Lytdybr (чтение)
std.hugeping
Peter(syscall,1) — All
2020-08-03 20:35:10


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

Дочитал вторую книгу трилогии "Задача трёх тел". Эту книгу начал читать довольно давно, ещё год назад. Написал её китайский автор Лю Цысинь о котором я почти ничего не знаю, кроме того, что он, похоже, довольно популярен и известен. Книга в жанре научной фантастики.

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

С другой стороны, в книге масса идей и размышлений в лучших традициях НФ. И это захватывает. Вот так и читаю не спеша.

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

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

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

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

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

> Некоторые говорят, что сознание — это «иллюзия», но я даже плохо понимаю, что это могло бы означать. Мне кажется, что наша уверенность в существовании сознательного опыта превышает нашу уверенность в существовании чего-либо еще в мире. Временами я изо всех сил пытался убедить себя в том, что в действительности тут ничего нет, что сознательный опыт пуст, есть всего лишь иллюзия. В таком представлении есть нечто соблазнительное, и философы разных эпох пытались обыгрывать его, но в итоге подобная картина совершенно неудовлетворительна. Я ощущаю оранжевое, погружен в это ощущение, и что-то при этом происходит. Здесь есть что-то, что нуждается в объяснении даже после того, как мы объяснили процессы различения и действия, и это что-то — переживание.
> ...
> Эта книга может представлять интеллектуальный интерес для тех, кто думает, что здесь нет особой проблемы, но в действительности она предназначена тем, кто нутром ощущает эту проблему.

Потом, прочитал книгу про создателей Doom. Удивительно забавная и поучительная книжка. Всё о старых добрых (хотя, с какой стороны посмотреть) хакерских временах. Теперь стало понятно, почему Keen так сильно не похож на Dangerous Dave. :) Но не буду спойлерить, почитайте сами: (Masters Of Doom). В сети есть перевод на русский.

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

# Re: Игровая индустрия: за пределами алгоритмов
std.hugeping
Peter(syscall,1) — Difrex
2020-07-03 16:11:04


> pico-8 это проприетарщина? Судя по сайту это какая-то виртуальная консоль.

Как оказалось, существует опенсорс плеер PICO-8: https://github.com/samhocevar/zepto8

Собрал и запустил обе свои игры. Работают! Я приятно удивлён. Только звук немного отличается, а в остальном, можно сказать что PICO-8 уже не такой закрытый.

# Re: Игровая индустрия: за пределами алгоритмов
std.hugeping
Peter(syscall,1) — Difrex
2020-05-23 12:34:54


> pico-8 это проприетарщина?

Да, увы. Я продался. :( Но есть ещё tic-80 -- он свободный. Но я продался. Писал об этом тут" ii://oZflb7Qejy63WVsEmZVP

С удовольствием отвечу на вопросы. Но там в принципе всё просто:

1) мелкое разрешение, отрисовка через SDL
2) весь инструментарий (спрайт-едитор,sfx/music editor,map editor) - встроен, те всегда внутри среды. Но можно и не так. Я писал всё в среде.
3) Lua в качестве ЯП
4) PICO экспортит бинари для всех ОС и HTML+js версию игры, но можно играть и в самой среде - по сети браузить загруженные энтузиастами игры
5) ограничение на число спрайтов, токенов кода
6) возможность делать poke - типа как буд-то ты там в видео-память пишешь итп


> На счет сюжета в рогаликах я не совсем согласен.

Понимаю. Я поэтому и завёл "блог", так как часто стараюсь не писать своё мнение, которое может задеть кого-то. А тут вроде - ну субъективное, автор так видит и всё такое. У меня своеобразное восприятие. Рогалики почти все фентезийные - поэтому я в них хоть и играл, но вяло. Когда сюжет более близкий - становится интересней. Есть такой вот _не рогалик_ robotfindskitten - даже в эту урезанную играл, потому что всё, что там есть - забавный сеттинг. Или очень урезанный мини-рогалик Zaga-33 - очень нравился. Потому что не фентези. Хотя казалось бы, какая разница?

# Re: Игровая индустрия: за пределами алгоритмов
std.hugeping
Difrex(dynamic,1) — Peter
2020-05-23 12:28:58


pico-8 это проприетарщина? Судя по сайту это какая-то виртуальная консоль.
Можешь подробнее рассказать про эту штуку? Заинтересовало.

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

На счет сюжета в рогаликах я не совсем согласен. Например, мой любимый Dead Cells, в который я постоянно играю, сюжет там не понятен, но атмосферу создает просто великолепную. Но механика там на первом месте. Т.е. если бы там был другой сюжет, но механика та же, то скорее всего игра была бы все-равно великолепной. Хотя, может я и не прав.

# Игровая индустрия: за пределами алгоритмов
std.hugeping
Peter(syscall,1) — All
2020-05-23 10:00:29


Пока писал игру на pico-8 часто смотрел на другие игры. Заглядывал в discord чат любителей pico ну и так далее... И всё это время у меня зрела мысль, которая, с одной стороны, очень субъективна. Но с другой -- она зреет уже не первый год. А что такое блог как не высказывание субъективного мнения? Я лично верю, что мысль верная, а вы -- уже сами разбирайтесь, соглашаться со мной или нет. Поехали.

В общем, мнение моё такое, что разработчиков pico-8 (многих из них) укусила та же муха, которая ранее укусила и других инди разработчиков. Что это за муха? Большинство gif-роликов демонстрашек с новыми мграми содержат в себе технические изыски. Травка шевелится, реальная физика, спецэффекты с частицами и прочее и прочее... Когда я смотрю на игры, я вижу там то же самое. Упор на физику и эффекты.

Я отчётливо помню момент, когда все повально стали переходить на Box2d. Да, тогда это казалось невероятно крутым: вместо аркадной физики смотреть на "настоящую" -- испытывать восхищение от разваливающихся пирамидок. Помню игру, когда человечек бежит от вихря (или чего-то подобного), стулья переворачиваются, что-то летает, крутится... Так вот, это всё ничего не стоит само по себе. Часто, за простой картонной, аркадной, ненастоящей физикой скрывается увлекательный процесс, а переход на "настоящую" физику его разрушит. Представьте себе тетрис в котором фигуры падают под действием силы тяжести, при падении они отскакивают от пола, вращаются плавно с частотой 60-fps. Могут ломаться. Бред. Тетрис -- это тетрис! Марио. Пакман. Арканоид! Да, что то иногда можно получить интересное из этого подхода, но это скорее исключения. Наоборот, пониженная свобода в играх (например, хождение только под прямыми углами) часто обусловлена игровой логикой.

Эффекты. Сами по себе они не плохи и не хороши. Но их значение переоценено. В большинстве случаев мне плевать на то, шевелится трава или нет. Если я захочу посмотреть на траву, я могу выйти на улицу (но не сейчас :) или посмотреть её на youtube. При этом, эффекты иногда настолько гипертрофированы, что мешают играть. Часто вижу ролики, где непрестанно всё взрывается, трясётся, разлетается. Зачем? Это делает игру интереснее? Тем более, если это игра на pico-8. Я запускаю игру 128x128 ради эффектов?

Так вот, от pico-8 я ожидаю простоты, которой почти не осталось. К счастью, многие авторы (возможно, из-за отсутствия опыта) всё ещё пишут простые игры.

Короче говоря, я снова и снова настаиваю на том, что в игре (как и в любом произведении) важнее всего идея, настроение, атмосфера. И это всё очень косвенно относится к эффектам и физике. Можно сделать очень простую, но увлекательную игру, буквально с физикой по знакоместам. Или очень красивую, но пресную.

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

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

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

# Вернуться в детство с PICO-8
std.hugeping
Peter(syscall,1) — All
2020-05-21 07:47:18


Я тут снова выпал из жизни на 4 дня. В этот раз написал игрушку на PICO-8. Мне немного стыдно, что я как бы "предал опенсорц". Потому что до этого я игрался c TIC-80 -- опенсорс аналогом. Но... Я не выдержал и купил-таки PICO-8. Закрытый софт. :)

TIC-80 классный. Но в PICO-8 подкупает минимализм, дальше которого уже просто некуда. Кроме того, кажется, он более продуман в деталях. То-есть, в нём вроде всё проще, но ничего не хочется менять.

Палитра - фиксированная, но цвета выбраны очень удачно.

Язык - один Lua (в TIC-80 -- три), но его достаточно и он сдобрен приятным синтаксическим сахаром, который смотрится очень гармонично.

PICO-8 сразу экспортирует бинари для всех поддерживаемых платформ: Win, Lin, OS X, Малинка...

Картридж в пико может быть сохранён в виде png.

Формат картриджа (если не png) это plaintext! Я могу поправить форматирование прямо в емакс!

Экран - 128x128. Меньше -- нельзя. Но 128x128 хватает, даёт возможность сразу "стартовать". И главное - он квадратный! Не надо выбирать, просто пишешь. В тико - бОльшее разрешение и 4:3 экран.

По началу пугался среды в 128x128 но, оказалось, всё круто. Привык и даже емакс не использовал. :)

И главное! За эти 4 дня - как в детство вернулся. Просто берёшь и пишешь. Всё просто. Очень много фана получил.

Короче, если что, зацените: https://instead.itch.io/aa

# Re: Фидбек как необходимость
std.hugeping
Andrew Lobanov(tavern,1) — Peter
2020-05-12 05:27:55


Peter> На "Архив" я получил довольно много фидбека. Причём, в разной форме. Несколько покупок, письма, комментарии... И это очень, очень помогает!

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

Peter> Так вот, на волне поднятия энтузиазма я отчётливо осознал, что фидбек для меня нужен не для того, чтобы потешить своё эго, получив похвалу. А в том, чтобы понять -- а нужно ли вообще то, что я делаю?

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

# Re: Бегство в детство
std.hugeping
Andrew Lobanov(tavern,1) — Peter
2020-05-12 05:27:54


Peter> Хотя, я однобоко смотрю. Я предполагаю что детсво -- более совершенное состояние. А с этим точно можно поспорить.

Детство более незамутнённое и невинное просто. И более непосредственное. Это действительно более лучшее состояние в некотором роде.

Но если спросить лично меня хочу ли я вернуться в детство, я, скорее всего, отвечу "нет". Я уже слишком привык к самостоятельности и независимости :)

# Фидбек как необходимость
std.hugeping
Peter(syscall,1) — All
2020-05-11 19:15:59


На "Архив" я получил довольно много фидбека. Причём, в разной форме. Несколько покупок, письма, комментарии... И это очень, очень помогает!

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

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

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

Так что, закрываю страницу на позитиве. Спасибо!

# Бегство в детство
std.hugeping
Peter(syscall,1) — All
2020-05-10 18:48:33


В детстве, когда я видел по телевизору странный мультфильм (например, Ёжик в тумане), я не мог понять -- зачем они их делают? Другое дело -- Том и Джерри в видеосалоне!

Потом странные фильмы: Сталкер, Солярис и подобная "муть".

А потом вдруг всё это оказалось гораздо ближе к детству, чем казалось в самом детстве. Перечитал сказки Козлова. Пересмотрел Сталкера. Как так? Может быть это потому, что детству не нужны эти костыли. А вот взрослому без них прикоснуться к вечному -- невозможно? Интересно только то, что в детстве -- психика проста и целостна (ну, так кажется). А во взрослом возрасте -- наслоение на наслоении и куча заплаток. Странно это всё.

Хотя, я однобоко смотрю. Я предполагаю что детсво -- более совершенное состояние. А с этим точно можно поспорить.

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

# Re: Цифровое рабство
std.hugeping
btimofeev(tavern,13) — vit01
2020-05-10 10:19:21


vit01> Если брать Xiaomi или подобные, то посоветовал бы народу присмотреться к вариантам на Android One, это и есть тот самый "чистый" андроид.

Вот у меня как раз такой, "Xiaomi Mi A3", брался из-за чистого андроида и обещаний быстрого обновления ОС. При покупке он был на 9 Андроиде, сяоми обещали обновить до 10 ещё в октябре, но обновление пришло только вчера). Хотя программа Android One была создана специально что бы эти смарты получали обновления в первую очередь, но видимо это так не работает, обновления получают топовые смарты в первую очередь. А вот неофициальные прошивки уже давно были.

# Re: Plan9 и ACME -- бескомпромиссная простота
std.hugeping
Peter(syscall,1) — Difrex
2020-05-10 09:36:08


> А еще там скриншоты можно делать через cat /dev/что-то > image.png :)

Ага :)

> ACME не осилил, очень он странный.

Я тоже, но я вроде понял как МОЖНО им пользоваться. Много думал после этого. :)

# Re: Цифровое рабство
std.hugeping
vit01(mira, 1) — btimofeev
2020-05-09 11:18:03


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

btimofeev> Это оболочка miui такая просто, с рекламой. У меня "Xiaomi mi a3" на чистом Андроиде и она рекламы не показывает, но думаю 100% мои действия записывает)

Если брать Xiaomi или подобные, то посоветовал бы народу присмотреться к вариантам на Android One, это и есть тот самый "чистый" андроид. В магазинах продавцы крайне не любят впаривать смарты на нём (не знаю, почему, видимо, среднему потребителю хочется побольше говнеца в прошивке), но для любителей незахламлённой системы это самое то. Кроме Xiaomi ещё Asus делает более-менее приличные девайсы, мы такой маме взяли, Max Pro M1, а я хожу с перепрошитым сяоми.

btimofeev> А по поводу перепрошивки это норм идея. Я все свои предыдущие смартфоны в конечном счёте перепрошивал (после пары лет использования).

Обязательно нужно перепрошивать. И нужно заранее подбирать такие модели, чтобы распространённые свободные прошивки работали и поддерживались. Это просто убережёт от лишних телодвижений и разочарований. Алгоритм такой: сначала покупаем хороший перепрошиваемый смартфон на чистой операционке (вроде Android One), даём год попользоваться маме/жене/коту. Потом, когда истекает гарантия, на девайс ставится нормальная ОС, и он забирается себе =)

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

btimofeev> Особенно радует мой старенький Нексус 5 (в котором батарея не держит больше половины дня), я его перепрошил под 10 андроид БЕЗ гугл сервисов и он зажил новой жизнью: перестал тупить (а до этого он любил подзависнуть, думается мне что в гугл сервисах есть алгоритм специального устаревания телефонов), работает теперь очень шустро. Весь софт на нем сейчас только из f-droid. С этим конечно сложновато, но можно смириться если от телефона многого не нужно: простенький браузер, jabber, termux, orgzly, читалка для книг, instead даже есть.

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

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

# Re: Plan9 и ACME -- бескомпромиссная простота
std.hugeping
Difrex(dynamic,1) — Peter
2020-05-01 16:46:40


> тут можно смутно вспомнить про UTF-8, /proc, p9fs и что-то там ещё
А еще там скриншоты можно делать через cat /dev/что-то > image.png :)

ACME не осилил, очень он странный.

# АРХИВ: за кадром
std.hugeping
Peter(syscall,1) — All
2020-05-10 08:37:39


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

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

Внимание! В статье жестокие спойлеры! Статью стоит читать только если
вы прошли игру или не планируете делать этого.

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

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

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

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

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

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

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

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

1) На самом деле Димидий - газовый гигант, а не планета земного
типа. Только один человек сообщил мне об этом и я не стал ничего
менять.

2) Зерно - остаток от загадки которую я выключил. Суть её была в том,
что при снятии скафандра гг начинает чувствовать себя плохо. Он
слабеет, не может передвигаться по кораблю (в люк из трюма). Съев
пшено, он "выздоравливает". Убрал -- так как хотел меньше концентрации
загадок на единицу площади и больше "созерцательности".

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

4) Имя Хуан взято из новости на opennet.ru про разработчика Void Linux.

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

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

7) Старику можно попробовать сказать "да" и это может вас рассмешить. :)

8) В моих играх я обычно делаю бегущие титры. Но не в этой. Я сделал
это специально. Не спрашивайте меня почему.

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

10) В корабле специально нигде явно не указывается о наличии или
отсутствии гравитации.

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

# Тишина
std.hugeping
Peter(syscall,1) — All
2020-05-08 18:31:05


"Сдал" игру. Вроде бы прошло в этот раз нормально. Многим понравилось. Хотя, конечно, игра коротковата. Но и в таком объёме я её еле потянул. Конечно, музыка сильно улучшает общее впечатление, поэтому можно сказать, что игра написана в соавторстве. А ещё точнее, я просто дал повод написать Саше музыку. :) Это здорово.

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

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

В общем, надо искать тишину. И пусть всё идёт своим чередом.

# Из интервью с Робом Пайком
std.hugeping
Peter(syscall,1) — All
2020-05-04 11:39:47


https://evrone.com/rob-pike-interview

> Evrone: Imagine that you have an opportunity to travel back in time
> and give only one piece of advice to your younger self, at around the
> time you’ve started to design the Go language spec.
> What advice would you give to yourself and your colleagues?

> Rob: That's easy: Ignore the haters. Just listen to the voices that understand
> and share your goals; they're the ones to care about. Not everyone agrees
> with what you're doing, and that's OK. But those who engage in advancing what
> you're trying to do can be a fantastic source of ideas, energy, and inspiration.

> We will always be thankful to our passionate community.

Отличный совет :)

# Re: Lytdybr (дополнение о рефлексии)
std.hugeping
Peter(syscall,1) — Peter
2020-05-04 08:38:53


Решил немного дополнить прошлый пост.

Что касается игр. Я раньше как-то всё думал: а что я написал? А какой
посыл у игры? А вдруг, она жестокая? Особенно с Особняком, ага...
И всё такое прочее...

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

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

# Lytdybr (писатель Геннадий Алексеев)
std.hugeping
Peter(syscall,1) — All
2020-05-04 08:24:57


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

По наводке жены натолкнулся на интересного писателя, Геннадия
Алексеева. Почитали вчера немного:

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

Посмотрел, есть дневники у него. Думаю -- почитаю! Но снова встал
интересный вопрос, нормально ли читать дневники ушедших людей?
Затолкал вопрос подальше и открыл книгу в emacs fb2 (оказывается, это
совсем просто!), поискал в тексте слова: Христос, Бог. Выборочно
прочитал.

Как и в случае с дневниками Тарковского, увидел поиск.

> Служить добру или стать над добром и злом?
> Христианство и проблема добра и зла.
> Апокалипсис – торжество зла, но после вечное царство добра.
> Добро как символ жизни и зло – как смерть.
> Добро – условие существования человечества.
> Абсолютность добра и зла. Где критерий абсолютности?

Или вот:

> Толстовское богоискательство мне понятно.
> Толстовское «опрощенство» мне претит. Опроститься нельзя.
> Если уж ты не прост, простым не станешь.
> И это тоже от Бога – быть сложным. Надо иметь мужество и силы,
> чтобы нести этот крест.

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

> Мой пессимизм от атеизма. Но – атеизм мой от пессимизма.
> Печалюсь я оттого, что мир плох. Печалюсь и оттого, что нет мне
> места в этом плохом мире.

А потом:

> Забавно, что нынешние атеистические доводы против Христа не идут
> дальше слов смеявшихся под распятием фарисеев: «Других спасал,
> а себя самого не может спасти. Если он царь Израилев,
> пусть теперь сойдет с креста, и мы уверуем в него».

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

P.S. Кто-то написал отзыв на Вахту. Ну и на Лидию, за одно! Спасибо
тебе, добрый человек, за поддержку. :)

# Re: Цифровое рабство
std.hugeping
Peter(syscall,1) — btimofeev
2020-04-28 20:24:26


> думается мне что в гугл сервисах есть алгоритм специального устаревания телефонов)

Да, на 3й год начал (как и все предыдущие!) тупить на ровном месте. Может и правда, рискнуть. :)

# Re: Цифровое рабство
std.hugeping
btimofeev(tavern,13) — Peter
2020-04-28 18:47:21


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

Это оболочка miui такая просто, с рекламой. У меня "Xiaomi mi a3" на чистом Андроиде и она рекламы не показывает, но думаю 100% мои действия записывает)

А по поводу перепрошивки это норм идея. Я все свои предыдущие смартфоны в конечном счёте перепрошивал (после пары лет использования).

Особенно радует мой старенький Нексус 5 (в котором батарея не держит больше половины дня), я его перепрошил под 10 андроид БЕЗ гугл сервисов и он зажил новой жизнью: перестал тупить (а до этого он любил подзависнуть, думается мне что в гугл сервисах есть алгоритм специального устаревания телефонов), работает теперь очень шустро. Весь софт на нем сейчас только из f-droid. С этим конечно сложновато, но можно смириться если от телефона многого не нужно: простенький браузер, jabber, termux, orgzly, читалка для книг, instead даже есть. Всякие банк клиенты можно поменять на веб-версию. Я правда пока на такое использование не решился, тк это запасной телефон, но мне кажется так даже можно жить.

# Re: Личное и общее на примере конфликта в проекте Void Linux
std.hugeping
Andrew Lobanov(tavern,1) — Peter
2020-04-27 09:06:30


Peter> Прочитал очередную новость о конфликте основателя проекта с сообществом разработчика.
Peter> https://www.opennet.ru/opennews/art.shtml?num=52809
Peter> Основатель Void Linux покидает проект.

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

# Skipped

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

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

Peter> "Давай, Хуан! Покажи им! Уделай их всех!".

Вперёд, Хуан!

# Re: Цифровое рабство
std.hugeping
Andrew Lobanov(tavern,1) — Peter
2020-04-27 09:06:30


Peter> Как только получил root по ssh, накатила такая технарская радость. Мол, вот -- наконец-то вернулось устройство ко мне. Ну, с возвращением. Поставил сразу туда INSTEAD - работает! Хотя последние годы собирал его вслепую, на какой-то древней виртуалке...

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

Ну хоть пока я могу поставить на него любую ОС и использовать любой софт :)

Peter> Мне раньше нравилась техника Apple, но золотая клетка все-таки опротивела. Без джейлбрейка устройство словно бы не принадлежит тебе. Похоже даже не на аренду, а на предательство, измену. Противно. Чтобы разрабатывать своё ПО и ставить его на свой же аппарат я должен иметь лицензию! Такое безумие поддерживать не хочется.

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

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

Ты развеял мои последние сомнения по поводу моего следующего аппарата. Это точно будет не Xiaomi :)

Peter> А ещё, иногда мой телевизор включается по ночам сам и что-то делает. Я очень надеюсь, что он просто ищет новую версию прошивки или нечто подобное. Но, честно говоря, когда это происходит в 2 часа ночи, в полнейшей тишине -- выглядит зловеще. Хоть игру пиши.

И правда крипово. Хорошо, что у меня древний телевизор и дешёвая приставка к нему. Он и с кнопки то не каждый раз включается :)

Peter> Ко всему этому, недавно я стал понимать тех, кто заклеивает камеры на ноутбуках изолентой. Раньше это казалось проявлением чудачества. Да и скрывать мне нечего. Смотрите, пожалуйста! Но когда однажды в Lenovo ThinkPad включился огонёк камеры (камера была заблокирована в BIOS) -- я рефлекторно закрыл её большим пальцем. Несколько дней я не мог найти себе места, пытаясь объяснить как это возможно. К счастью, скоро камера перестала работать -- usb кабель начал отходить где-то внутри. Я вздохнул с облегчением - отходящий кабель мог быть причиной внезапного включения камеры. Но осадочек то -- остался!

Я тут пришёл к выводу, что камерой я всё равно никогда не пользуюсь. Думаю, заклею от греха подальше. Тем более, что, как я отметил выше, устройство не принадлежит мне на 100%.

# Личное и общее на примере конфликта в проекте Void Linux
std.hugeping
Peter(syscall,1) — All
2020-04-27 07:53:16


Прочитал очередную новость о конфликте основателя проекта с сообществом
разработчика.
https://www.opennet.ru/opennews/art.shtml?num=52809
Основатель Void Linux покидает проект.

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

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

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

Правда, и здесь есть диалектика. Творец один часто неспособен сделать
что-то сложное, ему нужна помощь. Сообщество, как коллектив
единомышленников нужно, чтобы развивать проект. Но только вот
единомышленники -- это друзья. Часто мы видим сообщества друзей?
Очень редко.

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

Конфликт общества и "гения" не заключается лишь в "непонятости".
Он заключается в конфликте общего и личного. Конфликте между
целесообразностью и красотой (которую прибором не измерить).

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

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

"Давай, Хуан! Покажи им! Уделай их всех!".

# Цифровое рабство
std.hugeping
Peter(syscall,1) — All
2020-04-25 11:12:46


Вчера, после перерыва в несколько лет, снова удалось джейлбрейкнуть
наш старенький Ipad Air 2. Использовал для этого checkra1n.

Как только получил root по ssh, накатила такая технарская
радость. Мол, вот -- наконец-то вернулось устройство ко мне. Ну, с
возвращением. Поставил сразу туда INSTEAD - работает! Хотя последние
годы собирал его вслепую, на какой-то древней виртуалке...

Мне раньше нравилась техника Apple, но золотая клетка все-таки
опротивела. Без джейлбрейка устройство словно бы не принадлежит
тебе. Похоже даже не на аренду, а на предательство,
измену. Противно. Чтобы разрабатывать своё ПО и ставить его на свой же
аппарат я должен иметь лицензию! Такое безумие поддерживать не
хочется.

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

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

Ко всему этому, недавно я стал понимать тех, кто заклеивает камеры на
ноутбуках изолентой. Раньше это казалось проявлением чудачества. Да и
скрывать мне нечего. Смотрите, пожалуйста! Но когда однажды в Lenovo
ThinkPad включился огонёк камеры (камера была заблокирована в BIOS) --
я рефлекторно закрыл её большим пальцем. Несколько дней я не мог найти
себе места, пытаясь объяснить как это возможно. К счастью, скоро
камера перестала работать -- usb кабель начал отходить где-то
внутри. Я вздохнул с облегчением - отходящий кабель мог быть причиной
внезапного включения камеры. Но осадочек то -- остался!

# Re: Карантинное
std.hugeping
Andrew Lobanov(tavern,1) — Peter
2020-04-23 17:44:19


>> А я вот всё думаю. Например, что в голове у людей, которые ходят погулять. Я и так о людях (в большинстве) хорошо думаю редко, а тут вообще хочется бить людей :(
Peter> Когда всё только началось, я думал, что вот сейчас будет жёсткий карантин и более-менее прорвёмся. Но потом стало быстро понятно, что не прокатит. Люди по-прежнему ездят по городу. В магазинах не держат дистанцию. Так что, скорее всего, переболеет большинство. А там -- как повезёт. Это печалит. Особенно, учитывая как испанка протекала.

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

Изивиняюсь. Больше не буду писать по этой теме :)

>> Я устал фильтровать это всё и просто прекратил читать новости :)
Peter> Я читаю статистику в основном по вирусу.

Тут мне проще. У меня жена ведёт часть информационных ресурсов медколледжа и каждый день статистику мне кидает от минздрава за одно :)