• Принтеры

    Пожалуй, самая нелепая, не поддающаяся описанию вещь в нашем мире — это принтеры.

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

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

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

    Самая феерия — это дозаправка картриджа. Производитель считает, что ты должен купить новый у официалов, и если вставить заправленный картридж, система его не увидит. Для своего принтера нагуглил инструкцию (копирую как есть):

    • Включите аппарат и откройте крышку.
    • Теперь выключите принтер.
    • Зажмите клавишу «Go» на клавиатуре панели управления устройства и не отпускайте.
    • Снова включите принтер.
    • Дождитесь пока начнут гореть все индикаторы кроме «Ready».
    • После еще три секунды подержите и отпустите «Go».
    • Теперь 10 раз нажмите «Go» и следите, чтобы после каждого загорался индикатор «Ready» именно зеленым цветом.
    • После делаем небольшую паузу. В это время должны гореть три лампочки вверху.
    • И снова кнопку «Go» жмем 5 раз.
    • После этих мероприятий лампочки еще некоторое время помигают разными оттенками.
    • В конце лампочка «Ready» должна начать постоянно светится.

    Удивительно, но это дерьмо работает. Реально, если нажать, подержать, помигать, отпустить и так далее, то принтер подхватит заправленный картридж. Не знаю плакать или смеяться. Представьте, если после замены воздушного фильтра в машине надо зажать тормоз и газ, открыть все двери и перекреститься. А тут всерьез.

    Дополняет все беды то, что системный диалог печати в операционных системах убог до невозможности, а каждая программа предлагает свои уродские диалоги. В Ворде он ужасен. В Хроме — кастрирован. Для себя нашел спасение: любой документ сохраняю в PDF и печатаю из эпловского Preview. Единственная программа с нормальным диалогом печати.

    Интересно, что именно в компании Xerox начались изыскания в области интерфейса. Окна, кнопки, вырезать-вставить. Но в итоге печатная промышленность пришла куда-то не туда.

  • Что я делаю

    В последнее время мало пишу в блог, потому что занят другими вещами. Эта заметка — попытка обозначить их для самого себя. Итак, помимо основной работы, я делаю вот что.

    Менторю пару девушек: студентку и школьницу. Делаю это бесплатно, потому что не вижу смысла брать с них денег. Путь лучше в будущем научат кого-то еще.

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

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

    Неожиданно стал майнить. Занимаюсь майнингом всего четыре месяца, на за это время получил вагон знаний о железе, крипте и электричестве. Может, когда-нибудь напишу про это небольшую книжку.

    А блог… Что ж, пусть со временем он станет архивом. Реальные дела важнее.

  • Анонс главы. Базы данных в Сlojure

    Только что закончил черновик главы о реляционных базах в Сlojure. Вышло сто страниц А4; в книжных страницах это около ста шестидесяти. Мой самый большой текст.

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

    Посмотрел на дату публикации того огрызка и не поверил: ноябрь 2020 года. Прошел почти год! С возрастом время летит незаметно.

    Впереди еще несколько этапов чистки, и только потом опубликую главу. Думаю, ждать осталось месяц.

  • Медуза

    С сожалением понял, что не могу больше читать Медузу. Это прекрасное издание, и я даже поддерживаю их после признания иностранным агентом. Причина сложная, но постараюсь грамотно ее передать.

    Долгое время я рассматривал Медузу как новостной сайт. Но за последний год ее формат изменился. Теперь это не новости, а скорее блоггинг или что-то вроде того. Главный индикатор — в издании отчетливо слышится повестка.

    Повесткой я называю тезисы и идеи, за которые кто-то топит. Например, моя повестка — программирование, Лисп и ФП, образование, книги, управление временем. Повестка условного Варламова — урбанистика, архитектура, политика, общественные события. В блоге повестка обязательна: читатель сразу должен понять, за что топит автор, и исходя из этого уйти или остаться. У меня, как и у всех, есть мнение насчет госдолга США и как поднять Россию с колен, но я стараюсь не писать на эти темы. В первую очередь из уважения к читателям.

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

    Увы, Медуза нарушила этот формат. Ее публикации все больше напоминают блог группы авторов. Сначала в интонации и между строк, а затем и в заголовках редакция выражает свое отношение к новости, и это невыносимо.

    Талибы(1) — плохо. Навальный — жертва. Его расследования — круто. Коронавирус — главная угроза обществу. Вакцинация — хорошо. Тот, кто отрицает — ковид-диссидент (даже термин придумали). Песков несет пургу. Стеб над Путиным. Несправедливое отношение к геям и неграм. Ущемление лесбийских пар в России.

    Ощущение, что Медуза возомнила себя транслятором передовых идей Европы и пытается окультурить отсталую Россию. Культурное прокси в Риге.

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

    После признания ингантом Медуза ведет себя, как обидевшаяся женщина. В заголовках — пассивная агрессия, стеб, сарказм. Так быть не должно. А еще эмодзи в заголовках. Если смешно, то ржачный смайлик. Если грустно, то плачущий. Какое дно.

    В целом, попытка редакции сблизиться с читателем скорее меня отталкивает. Каждая новость пытается выдавить из меня гнев, осуждение, негодование, отчаяние и смех. Я не хочу всего этого. Если переживать за всех ущемленных и несправедливо попавших под ментовский произвол, то исчерпаешь ментальную устойчивость. Да и никакие это не новости. Это тот же условный Варламов.news, то есть блоггинг под видом новостей.

    Конечно, каждый из нас нуждается в толковании событий. Хорошо то или иное событие или нет, молодцы эти ребята или нет. Поставили скульптуру в виде говна глины. Если коллеги заспорят в курилке, за что мне топить? Говно или искусство? Для этого и существует блоггинг — люди делятся мнением, а читатель выбирает, к какому лагерю примкнуть. Но тут важны две вещи.

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

    Это все равно что клевать мертвечину.

    (1): вроде бы считаются запрещенной в России организацией, так что вынужден дать эту сноску.

  • Стратегия

    Предположим, вы смотрите какой-то митап на Ютубчике. Голова с экрана говорит вам, что:

    • нужно нанимать только фулстек-разработчиков;
    • нужно вставать в 5 утра;
    • нужно читать по три книги в месяц

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

    Что делать? Менять технический стек? Закупать книги? Ставить будильник?

    Чтобы все объяснить, прибегу к дешевому трюку — аналогии.

    Есть такой жанр компьютерных игр — стратегии. Это когда строишь юнитов и давишь ими противника. Стратегии интересны бесконечным сочетанием юнитов, их способностей, карты, выпавших предметов, случайности и других факторов.

    У слова “стратегия” есть и другой смысл — набор действий в игре. Например, удачная комбинация конкретных юнитов. Или порядок постойки зданий. Или покупка предметов и зачистки монстров для раскачки.

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

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

    Теперь обратно к говорящим из Ютуба. Рынок — это игра, в которой многие факторы не определены. Жизнь постоянно корректирует его законы. Нет стратегии, которая обязательно принесет прибыль.

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

    Нужно вставать в 5 утра? Обратитесь к истории про Стивена Хокинга, когда он совершил открытие ложась в кровать поздно ночью.

    Надо держать монореп? У тех успешных ребят отдельные репы.

    И так далее.

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

    Вывод? Смотри Ютуб, почитывай Хабр, но следуй своему пути.

  • Ссылки на выходные (выпуск 36)

    Этот выпуск посвящаю Федору Борщеву. Федор – программист, консультант, занимался Медузой и другими масштабными проектами. Полную информацию о нем вы найдете на сайте, а я прикладываю несколько заметок, чтобы подогреть интерес.

  • Коронавирус на Титанике

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

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

    В спорах о Титанике даже речи не может быть о том, какую именно ошибку допустил экипаж. Их было столь много, что можно спорить только о вкладе в общую картину, но никак не о бинарном признаке “было/не было”.

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

    Устройство

    • Дрянные заклепки корпуса, которые лопнули при столкновении.
    • Система сообщающихся отсеков. Заполнив один отсек, вода спокойно переливалась в следующий и так далее.
    • Недостаточное число шлюпок и мест в них: 1200 мест на 2600 пассажиров.

    Халатность

    • Только один бинокль на смотровой площадке. При смене вахты смотрящий забыл передать ключ от сейфа с биноклем второму смотрящему, а тот поленился идти за ним.
    • На борту были только белые сигнальные огни, которые означают внимание. Судно браконьеров было рядом, но там белые огни приняли за фейерверк и поспешили уплыть. Красных огней, означающих бедствие, не было.

    Действия экипажа

    • Первые двадцать минут после столкновения судно шло на полном ходу, из-за чего напор воды из пробоины усилился в десять раз.
    • Долгое время никто ничего не понимал, считали, что все хорошо.
    • Решение опустить перегородки в отсека было фатальным. Если бы вода равномерно растекалась по корпусу, судно погружалось бы в течение 15 часов. За это время пришла бы помощь. Из-за того, что отсеки заполнялись по одному, судно накренилось и переломилось спустя три часа после столкновения.
    • Радисты посылали старый сигнал CQD, хотя все уже перешли на SOS.
    • Экипаж не умел спускать шлюпки, учения никогда не проводились. Где-то их спускали наполовину пустыми, на голову другим или переворачивали.

    Список можно растянуть на два-три экрана. Не будем этого делать, потому что и так ясно: с самого начала все пошло не так, и кончиться иначе не могло. Сегодня, когда мы смотрим фильм про Титаник или читаем википедию, в голове одна мысль: как так? Почему провафлили все что можно? Почему обделались буквально на каждом шаге? Разве нельзя было подумать заранее?

    Всю эту петрушку про Титаник я написал потому, что вижу явное, стопроцентное совпадение с короновирусом. Как и сто лет назад, человечество целиком обосралось. Уверен, в будущем события наших дней будут разбирать с тем же чувством сочувствия и снисхождения. Видите, что устроили эти болезные. Что ж, пожалеем их, вздохнем и пообещаем так не делать.

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

    Отмотаем время на год назад. Помните ковидные локдауны по три месяца? Stay Home? Ролики с селебрити, где на все лады повторяли эту фразу? Очевидно, это не сработало. Стоило людям выйти на улицу, настала т.н. “вторая волна”. Беру в кавычки, потому что именно под этим термином нам ее подавали. На самом деле это была первая волна, которую просто искусственно прервали. Да и вообще, нет никаких волн — есть локальные вспышки, есть сезонность. А волны только в Доте.

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

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

    Подтягиваются политики и чиновники. Настал их час: всем хочется порулить в момент кризиса, чтобы стать героем. Ввели пропуска, отменили пропуска. Вчера победили ковид, а завтра ВНЕЗАПНАЯ третья (четвертая, пятая) волна. Еще лучше: новый штамм (бета, гамма, сигма — греческих букв хватит надолго).

    Ввели QR-коды, отменили QR-коды. Ввели мобильное приложение, отменили мобильное приложение. Попутно выставив миллионы штрафов просто за то, что люди не осилили адский интерфейс.

    Все ситуативно, непредсказуемо. Сыпятся ограничения, при этом нет режима ЧП. Нет никакого плана или стратегии хотя бы на месяц. Все решается в полете.

    Каждый день в новостях высказывания одно тупей другого. Вылазят обласканные политикой врачи. Те, кто не хочет привиться — биотеррористы. Дополню: приравнять к зомби и выдать лицензию на отстрел.

    Потребление наркотиков возросло на 60%. Неудивительно: как иначе людям справляться с накатившим стрессом?

    Начинается война вакцин и сегрегация. В условную Францию нельзя, потому что не привит. Или привит, но не тем. Сраная Европа не одобряет вакцину России. Сраная Россия не одобряет европейскую. Думай о том, чем привиться выгодней, чтобы охватить больше стран. Чиновники массово едут в Европу и колят Файзер, который простому смертному не достать.

    Во всем этом нет ни грамма заботы о людях. От начала до конца все основано на невежестве и жадности. Короновирус — исключительно политический момент. Он стал поводом, чтобы проталкивать внешние и внутренние решения. Внешние — в плане вакцин, чтобы застолбить свой стандарт. Тот, чья вакцина выиграет, будет подтираться золотой бумагой. Внутренние — для давления на население. Митинги нельзя, больше двух не собираться, не уколешься — не получишь зарплату.

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

    Помнится, Барак Обама возвещал, что Россия и вирус Эбола представляют главную угрозу человечеству. С Эболой не сложилось, но уже тогда было видно, насколько желанна эпидемия мирового масштаба.

    Ладно, что же надо делать?

    Во-первых, определиться с терминами. Что такое эпидемия и пандемия? При каких порогах можно утверждать, что в стране происходит второе или первое? Когда определения и пороги найдены, составить план и следовать ему, при этом оперативно уведомлять население о том, где мы и куда движемся. Ничего подобного я не вижу в принципе. Если включить новости Москвы, то все будет плохо, при этом чрезвычайного положения нет, все оперативно и на ходу.

    Наиболее разумный шаг — оставить население в покое. От недостатка денег и стресса умирает гораздо больше людей, чем от коронавируса. Загуглите графики избыточной смертности в Москве и в Питере. Странным образом вместе с ковидниками умирает много других людей. Это те, кто в результате беспощадной борьбы не смог получить помощь: сердечники, раковые больные, инвалиды с редкими болезнями.

    Не вводить поголовную вакцинацию. Вакцина нужна ослабленным людям, пожилым и тем, кто в группе риска. Остальным — повышать иммунитет, качество воды, продуктов питания и жизни в целом. Поощрять проветривания и зарядку.

    Уж давно выяснили, что вирус боится именно проветривания, а не социальной дистанции в полтора метра. Но по-прежнему многие помещения задраены, окна закрыты, а тебя просят “одеть масочку”. Заодно вскрылась бездна людей, не способных отличить “одеть” от “надеть”.

    Наконец, за полтора года можно было вывести из комы массовую медицинскую помощь. Выясняется, что в 18 году число койко-мест “оптимизировали” до 40%. И не только у нас. В Америке программа Obama Care точно так же похоронила массовую медицинскую помощь. Смысл программы в том, чтобы обязать гражданина купить медстраховку. А на что ее купить, если сидишь дома или потерял работу? Или работаешь неофициально? В ответ программа несет чушь про гибкую систему скидок.

    Государства, что наше, что иностранные, полностью снимают с себя ответственность за здоровье гражданина. В результате Америка угробила население, обогатив кошельки страховых компаний. Россия ничуть не лучше: деньги от “оптимизации” медицины пошли явно не на медицину.

    Еще раз: в полуторагодовой борьбе с вирусом нет ни грамма заботы о людях. Ни одна страна не ставит цель иметь здоровое население, где локальные вспышки гасит массовая бесплатная медицинская помощь. Ковид — два в одном, повод и инструмент. Это политика, деньги и война вакцин. Печально наблюдать эту картину Босха в мировом масштабе, и тем труднее сохранить остатки критики и разума.

  • Ссылки на выходные (выпуск 35)

    Давно не писал в блог. Все свободное время трачу на большую главу по базам данных в Кложе. На какой-то период ограничимся ссылками на выходные.

    Этот выпуск посвящаю Леониду Каганову.

    • Фантастический рассказ “Мне повезет”

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

    • Поговорим про умный дом?

      Давно хотел написать о том, какая чушь все эти умные дома. Но Леонид сделал это раньше и лучше.

  • Crontab и отправка почты

    На днях столкнулся с проблемой. На моем ноуте крутится несколько crontab-задач. Хотелось бы видеть, когда сработала каждая из них и если нет, то почему. Какое-то время я выкручивался с помощью логов. Оба канала (stdout и stderr) перехватываются в общий пайп, где каждая строка предваряется текущий датой и записывается в файл. Например:

    SHELL=/bin/bash
    
    0 */3 * * * /path/to/command &> >( while read line; do echo "$(date): ${line}"; done >> /Users/ivan/logs/command.log)
    

    В результате и обычный, и ошибочный выхлоп оседают в файле. Выглядит это так:

    Tue Jun 22 15:58:02 MSK 2021: warning: Skipping file ...
    Tue Jun 22 15:58:19 MSK 2021: Completed 0 file(s) with ...
    Tue Jun 22 15:59:02 MSK 2021: warning: Skipping file /Users/ivan/...
    Tue Jun 22 15:59:19 MSK 2021: Completed 0 file(s) with ...
    

    Недостаток в том, что логи нужно регулярно проверять. Об этом легко забыть на месяц, а потом выяснится, что задача не работала из-за глупой ошибки.

    Тут я вспомнил, что крон умеет отправлять выхлоп задачи на почту. Если задана переменная MAILTO=<email>, то на эту почту свалится выхлоп. Это значит, отпадают логи, ведь теперь достаточно проверить почту. Проверять ее можно и с телефона, что в разы удобней.

    Отправка письма работает за счет утилиты mail. В общем виде ей пользуются так:

    cat something | mail -s 'subject' friend@domain.com
    

    Эта команда отправит письмо на сервер domain.com, при этом отправитель будет выглядеть как ivan@ivan.local, то есть имя пользователя и текущего хоста. То же самое можно получить командой:

    echo `whoami`@`hostname`
    

    Обратите внимание на кавычки – они означают выполнить выражение в новом шелле и подставить результат.

    Отправленное письмо никто не получит, что потому что современные сервера отметают письма, где айпи отправителя не совпадает с айпи его домена. Это хорошо, иначе бы мы утонули в спаме. Будем отправлять письма с серверов Гугла. А чтобы mail мог подключиться к Гуглу, сделаем три вещи.

    Первое. В файл /etc/postfix/main.cf дописать строки ниже. Делать это нужно под sudo:

    relayhost = [smtp.gmail.com]:587
    smtp_sasl_auth_enable = yes
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
    smtp_sasl_security_options = noanonymous
    smtp_use_tls = yes
    smtp_sasl_mechanism_filter = plain
    

    Второе. Создать файл /etc/postfix/sasl_passwd и вписать в него:

    [smtp.gmail.com]:587 username@gmail.com:password
    

    , где password — пароль приложения для почты. Сгенерить этот пароль можно на специальной странице Гугла.

    Замечу, что вместо gmail.com может быть ваш домен, если он нацелен на гугловые сервера как в моем случае.

    Третье — указать postfix новые конфиги и перезагрузить его:

    sudo chmod 600 /etc/postfix/sasl_passwd
    sudo postmap /etc/postfix/sasl_passwd
    sudo launchctl stop org.postfix.master
    sudo launchctl start org.postfix.master
    

    Все. Пробуем отправить письмо. Сообщим в нем содержимое домашней папки:

    ls -l | mail -s 'my home dir' ivan@grishaev.me
    

    Мне пришло с первого раза. Plain text, красота.

    Так вот, теперь когда почта работает, настроим крон. Открываем его командой crontab -e и пишем сверху:

    MAILTO=<ваша@почта>
    

    Кроме того, в конец каждой команды добавляем эхо, например:

    0 */3 * * * cd /some/path && command --foo 42 && echo OK
    

    Зачем нужно эхо? Оказалось, что крон не отправляет письмо, если выхлоп задачи пуст. А поскольку я всегда хочу знать о запуске задачи, то делаю вывод не пустым. Вместо echo OK можно вывести текущую дату с помощью && date.

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

    Я уж не говорю о том, что с помощью mail можно быстро что-то скидывать себе на почту, организовать какие-то заметки и прочее. Что самое прекрасное — нет интерфейса, все простое и открытое, работает везде. Чудо.

    В следующий раз расскажу, что именно я ставлю на крон, там тоже интересные вещи.

  • И ещё немного книг

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

    Чернобыль. История катастрофы
    Хиггинботам Адам

    Полная история чернобыльских событий. Начинается задолго до взрыва, охватывает становление Припяти и ранние опыты с атомной энергией в СССР. Подробно описаны причины, которые привели к взрыву, в том числе организационные. Центральные персонажи показаны правдиво и без тех прикрас, что были в сериале HBO. Книга заканчивается развалом СССР и эпилогом. Рекомендую к прочтению.

    Digital минимализм. Как навести порядок в цифровой среде
    Рыжина Анастасия

    Книга о том, как навести порядок в файлах: на локальном компе и в облачных хранилищах. Довольно занятно, но затянуто. Проблема в том, что материал тянет на хорошую статью, но никак не на книгу. Отсюда дешёвые способы выйти на объём: мудрые цитаты на разворот, письма читателей и прочий балласт. Но пробежаться стоит.

    Думай как математик. Как решать любые задачи быстрее и эффективнее
    Барбара Оакли

    Автор — женщина-учёный, служила в армии США, преподавала в университете. В книге она описывает приемы эффективного обучения. Например, заниматься понемногу, но регулярно; не подчеркивать в книгах; мысленно пересказывать материал. Полезно, но затянуто. Я бы сократил книгу на треть.

    Структуры данных и алгоритмы в Java Лафоре Роберт
    Лафоре Роберт

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

    Уступите место драме. Как писать интересно даже на скучные темы
    Сарычева Людмила

    Книга о драматургии Люды Сарычевой, соавтора "Пиши, сокращай". Не думайте, что драматургия — это обязательно Шекспир и все умирают. Речь о том, как сделать текст интересней с помощью персонажей и конфликтов, как обострять акценты и чередовать ритм. Прочитал половину: начало интересное и пригодится всем, а дальше уже только для специалистов в теме.

    Ходячий замок
    Джонс Диана Уинн

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

    Искусство войны
    Сунь-Цзы

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

Страница 21 из 74