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

Интеллект, компетентность и принятие решений

Часто, когда я встреваю в «политические» «дискуссии», мне начинают вменять примерно такое мнение: «людей низводим до уровня идиотов». Формулируется оно разными словами, но суть цитата передаёт ярко.

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

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

Далее

Уникальные идентификаторы для связи исходников. Как?

Хочу странного, может подскажете способ сделать.

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

Фичей не в смысле больших user-story, а в смысле конкретных пунктов, реализацию которых надо контролировать. Например «имя гильдии должно быть уникально», «Это поле должно отображаться только залогиненому пользователю».

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

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

Варианты, которые вижу:

  1. Писать руками. Проблемы: геморрой и простор для ошибок/опечаток.
  2. Плагин для emacs (любого другого редактора), который в файле с фичами генерирует уникальные идентификаторы, после чего копировать их куда надо. Проблемы: его надо сделать, нужно поддерживать уникальность между файлами, хочу фичи не только в отдельном файле, но и в коде, если это будет удобно.
  3. Литературное программирование: писать фичу сразу там, где реализуется. Проблемы: фича реализуется в нескольких местах (код, тесты, вёрстка, документация), поэтому идентификаторы всё равно нужны.
  4. Идентификатором делать сам текст фичи. Проблемы: занимает много места, текст может меняться и будет геморойно менять его везде.

Полезные gamedev ресурсы

На тостере спросили про интересные gamedev сайты.

По этому поводу я выгрузил список из 70 сайтов о разработке игр, на RSS которых я подписан.

Рассылки в формате OPML

Список ссылками под катом.

Далее

О книге «Масштаб»

Обложка книги «Масштаб» Жэеффри Уэста

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

На самом деле книга могла бы такой стать, если бы её не сделали НАСТОЛЬКО научно-популярной. В «Масштабе» хорошо описан «физический» подход к изучению мира и демонстрируются интересные закономерности, выявленные с его помощью. Но весь материал оформлен примерно для детсадовского уровня: без формул, с огромным количеством баек и кучей сравнения с «магией», упоминаний «волшебных чисел» и прочей чуши.

Если вы любите хорошие байки об учёных и инженерах — это книга однозначно для вас. Потому что 80% её занято именно ими.

Также эта книга будет интересна биологам, градостроителям (мэрам, например), управленцам, финансистам, начинающим учёным и интересующимся системами людям, вроде меня.

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

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

Итак, о чём собственно книга (кроме баек, о них писать не буду).

Далее

О книге «Человек говорящий — эволюция и язык»

Обложка книги «Человек говорящий: эволюция и язык»

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

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

Главная мысль, которую я вынес из книги, звучит примерно так: об эволюции языка известно то, что ничего не известно, но Хомский c Бервиком имеют определённое мнение.

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

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

Тем не менее, общая концепция не сложна и я попробую её тезисно пересказать.

Далее