Эссе о разработке игр, мышлении и книгах

Обновил конфиги Emacs

Скриншот полноразмерного Emacs на моём мониторе не влезает сюда, поэтому вот вам его кусочек.

Скриншот полноразмерного Emacs на моём мониторе не влезает сюда, поэтому вот вам его кусочек.

В конце ноября смотрел чего наворотили в актуальных текстовых редакторах, вроде Atom и VS Code, в итоге нажаловался на них в facebook. Дескать даже файл открыть без мышки не могут. А для меня, как емаксера, тягание мыши — стресс и выпадение из потока — чистые боль и страдание.

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

Кстати, по поводу «не в первый раз». У меня сложилось стойкое ощущение, что Emacs и Vim стали своего рода глобальными локальными оптимумами в пространстве возможных текстовых редакторов. Отказаться от них тем сложнее, чем дольше и глубже с ними знакомишься. А я с Emacs уже лет 12, видимо слезть с него совсем шансов нет.

Так вот. На обновление конфигов у меня ушло примерно 7 рабочих дней :-D И ещё дней 5 на автоматизацию настройки системы с помощью ansible — давно хотел сделать, но всё руки не доходили, а тут за компанию само пошло.

Вот она — прелесть безработности творческого отпуска — можешь неделю настраивать Emacs и никто тебе слова поперёк не скажет.

Если вы начинающий емаксер или просто интересуетесь, не пугайтесь сроков. Emacs — сложная штука, но не на столько. Просто я упоротый и полез делать собственное окружение, а для нормальных людей есть готовые и проверенные сборки: Spacemacs, Doom Emacs и прочие, которые должны работать сразу после установки.

Далее расскажу как я искал нужные библиотеки, какое мнение сформировал о текущем состоянии Emacs и что в итоге получилось.

Итоговый конфиг лежит на github. Если его разместить в /home/<user_name>/.emacs, то при следующем запуске Emacs сам скачает и установит все нужные библиотеки. Будет работать всё, кроме некоторых фич в режиме редактирования Python — для их включения смотрите определение переменных python‑binaries, python‑interpreter, python‑pylint.

Далее

Процедурную генерацию в массы!

Пример процедурной генерации.

Пример процедурной генерации.

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

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

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

Далее

Концепт-документ игры NoCraft

Примерная стилистика (с) [cartooned starcraft](https://us.shop.battle.net/en-us/product/starcraft-cartooned)

Примерная стилистика (с) cartooned starcraft

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

Далее

Тарантога: мемплексы

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

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

Сначала определимся с тем что такое текст.

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

Поэтому под текстами я имел в виду не «последовательность символов», а скорее «текстовый документ», который может содержать разнородную информацию, включающую и сам текст и какие-то медиа-объекты.

Далее под текстом я буду понимать именно «текстовый документ», если явно не будет указано обратное.

Далее

Экзокортекс: метаинформация

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

Но сначала внесём некоторую ясность в терминологию. Я тут пишу «экзокортекс то», «экзокортекс сё», но ведь софт, о котором я говорю, является только частью экзокортекса. Говорить про него как про целый экзокортекс в корне неправильно. Это, в конце-концов, путает.

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

Напомню примерный перечень метаинформации из описания минимальной функциональности Тарантоги:

  • Уникальные сущности, которые упоминаются в тексте: компании, продукты, персоны, географические объекты, события.
  • Источник текста: полный url, идентификатор источника (например, «Хабр»).
  • Тип текста: комментарий, пост, etc.
  • Характер текста. На Хабре это может быть «урок», «перевод».
  • Темы текста. Можно определить по хабу на Хабре, разделу форума или упоминаемым сущностям.
  • Время создания, обновления.

Далее