Я в начале ноября ездил с семьей в отпуск в Эквадор - посмотреть на
галапагосских черепах и прочих игуан. Я про это как-нибудь потом подробнее
напишу. По пути назад мы заехали на несколько дней в Кито (столица Эквадора).
Кито находится на высоте почти три километра. На такой высоте уже становятся
заметны проявления высотной болезни - особенно для свежеприбывших туристов типа
нас. В частности первые пару дней не получается нормально спать. Через пару дней
к высоте привыкаешь и все становится на свои места.
В первую ночь спать не получалось от слова совсем и поэтому сны были особенно
запоминающиеся. Помню как смотрел во сне запуск Зумы.
Это было еще до всей этой истории с обтекателем и переносом запуска. В интернете
как раз смаковали секретность спутника, многозначительно намекая на Северную
Корею.
Как все уже, наверное, знают, второй запуск с “Восточного” закончился неудачей. По слухам разгонный блок “Фрегат” навернулся
о небесную твердь и сгинул в морской пучине, прихватив с собой Метеор-М и
остальные 18 спутников. По другой версии,
разгонный блок выдал импульс находясь в неправильной ориентации, упав в
результате в океан.
Самый забавный момент во всей этой печальной истории, это, без сомнения,
высказывание Кураева:
Ответственность за неудачный запуск “Союза-2.1б” с космодрома Восточный лежит
на благовещенском епископе Лукиане, который освящал ракету-носитель перед
стартом. Об этом радиостанции “Говорит Москва” сказал протодиакон Андрей
Кураев.
“Если человек нечто делает, а выходит плохо, то для него это вопрос
задуматься, правильно ли он делает. Очень странно, что церковь вроде
предоставляет услуги, но никогда не отвечает за качество этих услуг. В этом
есть некоторая проблема”, — цитирует Кураева сайт радиостанции.
На профильных сайтах стоит плач Ярославны: во-первых, - “просрали все полимеры”,
а во-вторых, - “виновных на кол”. По последнему пункту я уже высказывался. Наказать виновных, конечно, руки
чешутся, но пользы от этого на самом деле не много. Мне лично больше интересно
как именно пропустили подобную ошибку в программе. Профессиональный интерес,
можно сказать.
Числа с плавающей запятой обманчиво привычны и из-за этого гораздо более коварны,
чем кажется. Общеизвестно, что результат вычислений с плавающей запятой нельзя
сравнивать на точное равенство - из-за погрешности вычислений совпадение двух
величин с точностью до бита маловероятен. Но это только самая вершина айсберга.
На точность влияет порядок вычислений, используемая платформа, математическая
библиотека, процессор и т.д.
Сегодня я хотел бы поговорить о такой особенности чисел с плавающей запятой, как
“не число”. Он же NaN (not a number). NaN - это специальное значение, которое
возвращается как результат некоторых операций - например результат деления ноля
на ноль.
Пока мы тут на всех порах заканчиваем Falcon Heavy, Элон презентовал новый
вариант марсианской транспортной системы, она же “очень большая ракета”:
Не буду особенно комментировать - все уже и так разобрали по косточкам.
Мне лично понравилась идея со стыковкой корма к корме. На мой дилетантский
взгляд звучит логично. Ракеты на жидком топливе умеют закачивать топливо в
двигатели в условиях невесомости. Для перекачки топлива требуется провернуть
аналогичный трюк, но без зажигания маршевых двигателей. Логично использовать
уже существующие возможности ракеты. Само собой в реальности все гораздо
сложнее, но концептуально мне эта идея нравится.
В рунете, как водится, тут же включится хор “проповедников скорого коллапса
америки в целом, и проходимца Маска в частности”. Благо, что сроки у Илона, …
не знаю как правильно сказать, - очень оптимистичные, всегда есть к чему
прицепиться. Ну нам не привыкать.
Из других неожиданных новостей - Kitya Karlson переехал в Китай. Хотя, учитывая историю его переездов
(Япония, Австралия, Канада, и США), - то этот переезд где-то даже логичен.
Засиделся в одном месте, чего уж там.
Вышел Sublime Text 3 и у меня
наконец дошли руки его попробовать. Страница с анонсом упирает на
производительность - по моим первым ощущениям похоже на правду. Завтра поставлю
на работе, посмотрим как он запоет. Новая тема приятна на глаз; шрифты
отрисовываются на отлично. Радует также, что у кнопки Replace на панели Find in
Files появилась горячая комбинация клавиш. Раньше приходилось мышью щелкать.
В общем пока что впечатления самые приятные. Старого не испортили; приятного -
добавили.
По случаю ковыряния в настройках довел до ума thefuck под zsh. Эта утилита, название которой на
русский вполне точно можно перевести как “бля”, исправляет неправильную
набранную команду в консоли. Забытый sudo подставляет или git statis
исправляет на git status - стоит только ввести fuck в ответ на ошибочную
команду. У меня она почему-то выдавала сообщения вида “fc: event not found: -c”.
Эти два отчета содержат краткое описание 732-х инцидентов и аварий,
произошедших при работе над пилотируемой программой НАСА в 1963 - 1971 годах,
их причины и рекомендации к их предотвращению. Иными словами - эти отчеты
находка для преподавателей “Безопасности жизнедеятельности”. Любители теорий
заговора тоже будут рады.
Отчет классифицирует причины аварий в две группы: материальные (hardware) и
программные (software). В первую группу вошли ошибки дизайна, сбои оборудования,
несовместимость материалов и разрушение материалов. Во вторую - процедурные
ошибки, несоблюдение процедур, ошибки инспекции, недостаточный тренинг
персонала, ошибки планирования, ошибки управления и потеря контекста при
передаче смены.
Вернулся из поездки в Орегон - ездили смотреть на полное затмение Солнца.
Положительных впечатлений масса. На работу вставать не хочется. :-)
Портланд очень понравился. Похож на Сиэтл, только более зеленый и домашний.
В центре города - крупная резервация хипстеров, причем опять же - портландские
хипстеры они такие теплые, ламповые, не чета сиэтловским и, не боже мой, -
калифорнийским. Чувствуется, что они просто так живут, а не следуют моде.
На дороге расслабленность тоже чувствуется. В Калифорнии если застрял не в той
полосе на шоссе как принято действовать? Во-первых, нужно сделать вид что
перестраиваться ты и не собираешься - голова повернута ровно, взгляд немного
задумчивый, руки расслаблено лежат на руле. Во-вторых. ни в коем случае нельзя
включать поворотник. Нельзя так наивно всех предупреждать о своих намерениях. В
третьих, проверять наличие машин в соседней полосе нужно максимально скрытно -
двигать можно только глазами и только в последний момент, желательно после того,
как машина начала смещаться в сторону. Это минимизирует время, когда обитатель
соседней полосы может распознать маневр и поджаться к впереди идущей машине
чтобы, не дай бог, кто-нибудь не вклинился.
Знаете что делают в Портланде, чтобы перестроится в плотном потоке? Они включают
поворотник и ждут пока в соседней полосе образуется место. А тем временем машина
в соседней полосе притормаживает, чтобы открыть удобный карман. Дикари-с.
Написал небольшую программу, демонстрирующую непредсказуемую стоимость выделения
динамической памяти. Программа выделяет и освобождает N блоков одного размена и
измеряет среднее время, затраченное на один вызов malloc() и один вызов free():