Йода в программировании

В программировании на языках с Си-синтаксисом сравнение можно оформить двумя способами ($x === 0) или (0 === $x). Первый способ — классический (или регулярный), а второй назван в честь персонажа «Звёздных войн» нотацией Йоды (условия Йоды, Yoda conditions).

Книжные сериалы

Временами книги разрастаются и становятся сериями и циклами. Само по себе это неплохо. Плохо, когда автор начинает повторять одно и то же многократно, скатываясь до уровня сериала. Так случилось с циклом «Основание» Айзека Азимова, серией «Повелитель Островов» Дэвида Дрейка и серией «Пространство откровения» Аластера Рейнольдса. Рано или поздно неприятное чувство перечитывания уже прочитанного перекрывает удовольствие от нового. Приятные исключения — «Вселенная Эндера» Орсона Скотта Карда и серии «Сага о Форкосиганах», «Шалионский цикл», «Разделяющий нож» Лоис МакМастер Буджолд.

Вообще, умение вовремя остановиться — ценное качество.

Северная Корея заставила американцев открыть словарь

Ким Чен Ын назвал Трампа «психованным выжившим из ума стариком». В официальном переводе на английский было использовано редкое слово dotard, и такое знание тонкостей английского языка потрясло американцев.

Кобзон о Ротару: похвалил как обругал

Иосиф Кобзон о Софии Ротару:

Мастер пения под фонограмму — Соня Ротару. Она гениально попадает в записанную ранее песню — будет стоять рядом с вами, но никогда не узнаете, что она поет под «плюс». Мне же пение под фанеру дается тяжело, поскольку во всех моих композициях есть мощная литературная основа. А как ты будешь открывать вхолостую рот, скажем, во время исполнения «Поле, русское поле»? Это же надо прочувствовать, понять.

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

Однако вне контекста высказывание Кобзона шедеврально. Он не только отметил талант Софии Ротару, но и охарактеризовал тексты её песен как простые (если не сказать примитивные).

Красивый фидбэк

Россия потребовала от США уволить 750 человек (в посольстве работало 300 американцев и 900 россиян). Американцы выполнили требование и уволили 750 россиян, которые занимались визами.

Посольство США и консульства временно перестали проводить собеседования на неиммигрантские визы (визы, предназначенные для поездок по делам бизнеса, отдыха, лечения, работы или учебы) в Москве и полностью — в регионах (Санкт-Петербурге, Владивостоке и Екатеринбурге). Так как собеседования должны проходить практически все, кто хочет получить визу в США, cрок оформления виз увеличился до полугода.

Мир глухих

Слово не только фиксирует объекты и явления реального мира, но и ставит границы между ними. Пока нет слова — нет ничего. Ничто ничему не противопоставляется, нет границ. Но едва прозвучало слово, как свет отделился от тьмы, а небо — от воды. И так с любым словом. И когда создатели мюзикла «Письма к Богу. Оскар и Розовая дама» фокусируют внимание на «уникальном формате, где на сцене одновременно выступят артисты с глухотой и звезды музыкальной сцены», то тем самым сводят на нет заявленную «остросоциальную миссию», так как противопоставляют глухих актёров актёрам вообще. Трудно представить себе афишу, в которой будет фокусироваться внимание на наличие в спектакле, скажем, актёров-женщин или актёров-пенсионеров. Формулировка «уникальный формат, где на сцене одновременно выступят артисты-удмурты и звезды музыкальной сцены» очевидно дика, но также дика и формулировка в рекламе мюзикла.

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

PhpStorm не видит переменные переменных

PhpStorm не видит динамическое определение переменных. Вот код, в котором IDE видит ошибки там, где их нет:

foreach (array('foo', 'bar', 'baz') as $postfix) {
    $postfixedVariableName = sprintf('variable_%s', $postfix);
    $$postfixedVariableName = $postfix;
}
echo $variable_foo, PHP_EOL; // PhpStorm: Undefined variable 'variable_foo'
echo $variable_bar, PHP_EOL; // PhpStorm: Undefined variable 'variable_bar'
echo $variable_baz, PHP_EOL; // PhpStorm: Undefined variable 'variable_baz'

Чтобы PhpStorm увидел подобные переменные, необходимо добавить декларацию переменных в текущей области видимости:

/** @var $variable_foo */
/** @var $variable_bar */
/** @var $variable_baz */
foreach (array('foo', 'bar', 'baz') as $postfix) {
    $postfixedVariableName = sprintf('variable_%s', $postfix);
    $$postfixedVariableName = $postfix;
}
// ...