2016-04-02

Technobabylon

Предыдущая игра Wadjet Eye, Primordia, мне очень понравилась.

Так что Technobabylon я ждал, чего уж. И вот прошёл.

Ну что, опять адвенчура про сироту, которая внезапно оказывается братом короля. То есть, в нашем унылом будущем, сестрой искусственного интеллекта, управляющего городом. Всё по проверенному шаблону (Beneath a steel sky, та же Primordia) — так то если тема ваша, надо брать.

Не без недостатков, конечно.

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

Потом, простите, Виртуальная Реальность. Это в квестах такой волшебный мир, где с логикой плохо, и что угодно может делать что угодно. Для квеста это почти всегда плохо. Даже в BASS было уныло. Уныло и тут. Слава богу, не налегают на эту тему, кладут по чуть-чуть.

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

В общем, хорошо, пожалуй.

2016-03-25

BREAKING NEWS

На этой неделе сообщество Node.js подверглось могучим потрясениям.

Если вы старый пират, далёкий от всех этих новомодных штук, я накоротко перескажу.

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

У Node.js есть свой пакетный менеджер и репозитарий пакетов, npm. Потому что у всех нынче есть, чем нода хуже.

В репозитарии был пакет с именем kik за авторством какого-то Азера (имя, не обзывалка). А ещё с таким именем есть какой-то мутный instant messenger, про который никто не знал. И вот юристы этого мессенджера почему-то внезапно озаботились таким пересечением, и написали Азеру — переименуй, мол, а то у нас торговая марка и могут быть проблемы. Сами юристы считают что это не угроза, а попытка устаканить всё по-хорошему, но как-то нет.

Азер ответил в духе "я вас нибаюс", и юристы пошли со своими пожеланиями к администраторам npm. Администраторы оказались более сговорчивыми, и спорный пакет распубликовали / удалили. Видя такое свинство, Азер решил убрать все свои пакеты с npm — мол, не оправдали доверия. Этих пакетов оказалось ~270 штук (кто-то напрягся уже на этом месте, и правильно — чуть дальше дойдём до этой мякотки).

Среди них оказался пакет left-pad, который популярный, и его пропажа вызвала много боли у всех, у кого сломался билд. Было много суеты, пакет возвращали, докладывали недостающие версии и всё такое - в общем, буря негодования и всякая активность.

Теперь обещаная мякотка. Как же так вышло-то, что Азер в одно лицо наколбасил три сотни модулей? Ведь модуль — это серьёзная работа, много кода, поддержка, стандарты, API? Ответ прост: на ноде "модуль" запросто может оказаться размером в пять строк содержательного кода, а то и вовсе в одну. Вроде кусочков кода из perlfaq, которые старые пираты тупо копипастили себе в программы.

Реально, у них есть модуль для проверки "является ли аргумент массивом", модуль для "является ли аргумент положительным числом", а у этого последнего есть особливое примечание: мол, 0 мы тут положительным не считаем, а если вам надо чтоб считали - вот рядом модуль с нужной характеристикой. Пропавший left-pad, кстати, тоже был не сильно тяжеловесом: 11 строчек, а занимался выравниванием аргумента нулями/пробелами слева.

И чо, спросите вы, на весь модуль одиннадцать строчек? Нет, что вы! Там тесты, документация, комментарии, зависимости, версии! Со всей шелухой, да помноженное на количество скачиваний - один только left-pad за месяц сделал npm-у 100Gb трафика.

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

Subscribe / RSS