воскресенье, 31 марта 2019 г.

Нора Галь. Слово живое и мёртвое. Искусство литературного перевода


Как-то я читал в интернете статью Корнея Чуковского про канцелярит - неуместное использование стиля официальных документов в живой речи и художественной литературе. Потом читал статьи на ту же тему от Норы Галь. Нора Галь - это псевдоним Элеоноры Гальпериной, переводчицы с французского и английского языков на русский. Её перевод "Маленького принца" Антуана де Сента-Экзюпери считается классическим переводом, одним из лучших образцов перевода иностранной литературы на русский язык.

Сам я не профессиональный переводчик и вовсе не писатель, но иногда перевожу различные статьи с английского языка на русский и пишу свои статьи. В школе и университете я учил немецкий язык, но результаты у меня были откровенно слабые, а сейчас я и вовсе всё забыл. Английский я осваивал самостоятельно, сразу пытаясь переводить технические статьи из своей профессиональной области. Поначалу получалось очень плохо, но сейчас стал справляться более-менее сносно. Знаниями русского языка я тоже не блещу - я не помню практически ни одного правила русского языка и ориентируюсь, в основном, на своё внутреннее чувство языка. Обычно я пишу более-менее грамотно, но перечитывая свои тексты постоянно натыкаюсь на большое количество ошибок, оставшихся не замеченными при вычитке. Иногда мне явно льстят, говоря что я хорошо владею русским языком, я с удовольствием соглашаюсь, но всё равно не могу избавиться от синдрома самозванца. Если кто-то внезапно спрашивает меня, как правильно написать то или иное слово, то я могу лишь высказать своё ничем не подкреплённое мнение и начать сомневаться в правильности этого мнения. Это похоже на анекдот про профессора, у которого один студент спросил, прячет ли профессор бороду под одеяло, когда спит, или кладёт её поверх одеяла. Профессор из того анекдота никогда не задумывался об этом, а на следующий день пришёл в университет совершенно невыспавшимся - он не мог заснуть ни с бородой поверх одеяла, ни с бородой под одеялом.

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

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

Также, по мнению Норы Галь, тяжело читаются тексты, изобилующие причастными, деепричастными оборотами и страдательным залогом. С этим я лично согласен целиком и полностью, но среди читателей встречаются любители этой мертвечинки, которые считают её очень изящной. К образчику такого стиля, с которым мне пришлось столкнуться лично, можно причислить первое предложение-абзац-страницу рассказа Андрея Лазарчука "Колдун". Это предложение при чтении убило меня наповал. Я тогда сразу же приготовился к мучительному продолжению, но, к счастью, мои страхи не оправдались и дальше таких сложных предложений в книге мне не встречалось.

Мне очень не нравился тяжеловесный стиль Ивана Ефремова, но я затруднялся сказать - почему. После прочтения книги заглянул в лингвистический профиль автора на сайте fantlab.ru и понял, в чём дело. Читаем:
  • "Словарный запас автора — высокий." - это хорошо, т.к. является признаком высокой эрудиции, а употребление синонимов разнообразит текст.
  • "Длина предложений — очень большая." - это уже плохой признак. Длинные предложения тяжелее воспринимаются читателем. В устной речи они вообще встречаются довольно редко, поэтому если в его текстах и диалоги такие же длинные, то они выглядят противоестественно.
  • "Диалоги используются умеренно." - значит в произведениях много авторской речи. На мой взгляд, взаимоотношения людей всегда лучше раскрывать через диалоги действующих лиц, а не авторским текстом и закадровыми пояснениями.
  • "Процент прилагательных и глаголов имеет значительный дисбаланс — прилагательные преобладают над глаголами." - это очень-очень тревожный признак. Нора Галь настаивает, что именно глагол - самая живая часть речи.
  • "Причастия и деепричастия автор использует довольно часто." - ещё один очень тревожный признак. Предложения получаются сложными, запутанными, менее живыми.
  • "Служебные слова (местоимения, предлоги, союзы, междометия, частицы и вводные слова) — крайне редко." - если местоимения и междометия редко используются даже в диалогах, то это очень сушит речь.
Ради справедливости можно сказать, что содержание его произведений проработано весьма детально, образно и энциклопедически выверено. Но тяжёлый стиль практически не оставляет шансов на то, чтобы я порекомендовал их кому-то или стал бы перечитывать их сам.

Вообще, после прочтения книги Норы Галь, я стал считать лёгкость стиля едва ли не важнейшим критерием успеха произведения у читателя. Если произведение написано лёгким и живим языком, то у него есть шансы на успех. Если же оно читается тяжело, то читатели почти гарантированно не проявят к произведению интереса.

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

Если попытаться сделать резюме по критериям качественного перевода, то сформулировать их можно примерно так:
  • Перевод должен точно отражать замысел автора, но при чтении производить такое впечатление, будто текст изначально был написан на языке перевода.
  • Следует избегать дословного перевода, с сохранением исходной структуры предложения. Например, для французского языка характерно частое использование причастных и деепричастных оборотов, даже в разговорной речи. Следует разбивать такие предложения на несколько более простых, т.к. они не естественны для разговорной русской речи.
  • Не стоит бездумно тянуть в переводной текст слова из оригинала. Не нужно и брать первый же вариант перевода слова из словаря. Надо подобрать такое слово, которое наиболее точно будет передавать все оттенки исходного слова.
  • Иностранные произведения происходят, как правило, за границей. Поэтому не нужно бросаться в другую крайность и использовать русские слова, привязанные к российским реалиям. Например, было бы странным, если бы англичанин в Англии говорил, что он без "копейки в кармане".
  • Также стоит учитывать время действия произведения. Не нужно тянуть в перевод произведений из XIX века слова из XXI века. Например, слово "круто" в смысле "восхитительно" может уместно звучать в речи современных школьников, но не может быть уместным для персонажей из XIX века.
  • Нужно следить за тем, чтобы в переводе не получалось двусмысленностей и словесных каламбуров, если их нет в оригинале.
  • Если в авторском тексте есть шутка, то переводчик должен постараться её сохранить. Иногда бывает достаточно буквального перевода. В случае, если в шутке обыгрывается какая-то игра слов, нужно постараться подобрать какую-то аналогичную шутку, даже если в ней будут обыгрываться другие слова и шутка немного изменится. Если никак не получается адекватно перевести шутку в этом фрагменте текста, то переводчик остаётся в долгу перед автором и читателями. Долг нужно постараться вернуть в каком-нибудь другом фрагменте текста.
P.S. Читая книгу я вспомнил о переводчике, который рассказывал о новом переводе "Ромео и Джульетты" Уильяма Шекспира, который он делает. Судя по тому, что мне запомнилось из того ролика, переводчика Ивана Диденко можно тоже отнести к школе кашкинцев, если не формально, то хотя бы по духу:

воскресенье, 24 марта 2019 г.

О том, какой я "компьютерщик"

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

Дело в том, что "компьютерщик" - это такое собирательное название для всех людей, которые каким-то образом связаны с компьютерами. И людей, работа которых каким-то образом связана с компьютерами, становится всё больше. Например, современные конструкторы и технологи работают не на кульмане, а за компьютером, но компьютер для них - это просто средство для запуска компьютерных программ: всяческих CAD, CAE, CAM, PDM и EDA-систем. Современные дизайнеры и мультипликаторы работают на компьютере, но используют для работы графические редакторы, программы трёхмерного моделирования и анимации. Бухгалтеры работают на компьютере и используют программы для бухгалтерского учёта. Юристы пользуются компьютерными программами для поиска законов, нормативных актов и т.п.

Если перейти ближе профессиям, которые связаны с компьютерами не только опосредованно, то и их окажется немало. Сетевые администраторы пользуются компьютером для настройки сетевого оборудования, администраторы баз данных пользуются компьютером для оптимизации производительности базы данных, для заведения пользователей и т.п. Программисты 1С пользуются компьютером для настройки систем бухгалтерского учёта и т.д. И только администраторы технической поддержки в небольших компаниях, так называемые "эникеи", занимаются непосредственно компьютерами пользователей: подбирают конфигурацию компьютеров, устанавливают операционные системы и программы, занимаются устранением разнообразных проблем, вроде удаления вирусов, чистки переполненных почтовых ящиков и жёстких дисков, установки обновлений, заменой вышедших из строя компонентов. Это самый начальный этап карьеры компьютерщика: на такую работу часто берут людей без опыта и на низкую зарплату. Работа эта осваивается довольно быстро любым достаточно сообразительным человеком, а постоянная практика позволяет человеку легко и быстро справляться с постоянно возникающими однотипными проблемами. Работа эта не требует глубоких знаний, достаточно быть просто сообразительным. Вот типичный образ действий "эникея":
  • Не включается компьютер? Проверяем, включена ли вилка в розетку, включен ли шнур в блок питания, включен ли блок питания, включен ли сетевой фильтр, есть ли электричество. Если всё в порядке - забираем компьютер, проверяем блок питания, замкнув скрепкой пару контактов на разъёме, при проблемах пробуем заменить блок питания. Не помогает замена блока питания - начинаем вытаскивать все компоненты по одному, пока компьютер не включится. Не включился даже после этого - значит проблема с материнской платой или процессором. Пробуем вставить другой процессор, пробуем вставить процессор в другую плату. Меняем неисправный компонент - проблема решена.
  • Компьютер включается, но вирус требует ввести код? Загружаем компьютер в безопасном режиме, с загрузочного диска или с флешки, проверяем диски свежим антивирусом. Компьютер не вылечился? Сохраняем документы пользователя, переустанавливаем операционную систему. Вылечился, но не грузится? Пробуем восстановить работоспособность с установочного диска. Не получилось? Сохраняем документы пользователя, переустанавливаем операционную систему.
  • При включении компьютера появляется "синий экран смерти"? Пробуем загрузить компьютер в безопасном режиме и откатить последние изменения, воспользовавшись точками восстановления. Не загружается? Пробуем воспользоваться установочным диском для восстановления системы. Не помогло? Делаем резервную копию пользовательских данных, переустанавливаем систему с нуля.
  • Если "синий экран смерти" вылезает в процессе работы спонтанно, то в первую очередь изучаем, насколько компьютер запылён, крутятся ли вентиляторы. Возможно он зависает из-за перегрева. Чистим компьютер от пыли, смазываем или меняем не вращающиеся вентиляторы, меняем термопасту на процессоре. Если это не помогло, пробуем протестировать оперативную память на наличие "дырок". "Дырки" не найдены? Возможно неисправность с одним из компонентов или в его драйвере: пробуем обновить драйверы до самых свежих версий. Не помогло? Вынимаем компоненты по одному, проверяем без какого из компонентов компьютер будет работать. Если в компьютере установлен маломощный блок питания и много разнообразных устройств, то возможно дело в том, что блок питания не может выдать мощность, достаточную для бесперебойной работы устройств. В этом случае стоит отключить часть неиспользуемых компонентов или заменить блок питания на более мощный.
  • Нет места на диске? Очищаем все временные каталоги и каталоги, куда операционная система скачивает обновления.
Те же профессии, что были перечислены чуть выше, требуют длительного освоения и даются уже не каждому. Но каждая профессия требует постоянной практики. Если долго не практиковаться в какой-то работе, то становится сложнее ориентироваться в ней, проблемы становится решать сложнее, а решения затягиваются. Несмотря на то, что работа "эникея" не сложна, в ней тоже нужно постоянно практиковаться. Если у тебя нет под рукой загрузочных дисков, свежих антивирусов, программ для проверки оперативной памяти на наличие "дырок", если ты не в курсе наиболее часто возникающих проблем, то разбираться с проблемой будешь очень долго. Постоянно практикующий "эникей" мучительно разбирается с какой-то новой проблемой только один раз - потом решение становится известным и он решает все подобные проблемы очень быстро. У опытного, постоянно практикующего "эникея" в арсенале имеются решения от многих проблем, поэтому скорее всего очередная проблема окажется ему уже знакомой и он справится с ней очень быстро. Опытный "эникей" постоянно покупает компьютеры и компоненты для замены устаревших и вышедших из строя, поэтому он в курсе новинок, цен на новинки и соотношения цен в разных магазинах. Он не будет долго задумываться о подборе очередного компьютера, т.к. скорее всего уже подбирал компьютер на прошлой неделе или в этом же месяце - ситуация с тех пор не должна сильно измениться и ему будет достаточно быстро пробежаться по сайтам знакомых ему магазинов, заметить новинки, почитать о них и подправить своё представление об актуальной ситуации.

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

В 1995 году, когда я учился в 7 классе, одноклассник предложил мне ходить вместе с ним в кружок программирования в Дворце пионеров и я сразу загорелся этим. Я переписал из его тетрадки всё то, что он записал на уже прошедших занятиях. Первое занятие для меня началось с написания программы на Бейсике. До этого я был несколько наивен и считал, что решение задач на компьютере сводится ко вводу условия задачи через клавиатуру. Впрочем, я нисколько не расстроился, а даже наоборот - приободрился, т.к. написание программ для компьютера оказалось очень увлекательным занятием. После освоения Бейсика в первый год, я продолжил обучение и на второй год изучил Паскаль. Паскаль показался мне поначалу неоправданно усложнённым, т.к. переменные нужно объявлять заранее, да ещё и указывать их тип, а программу перед запуском ещё нужно было скомпилировать. Впрочем, и это впечатление неоправданной сложности быстро прошло. Однажды я выпросил у отца купить мне книжку, которая называлась "Турбо Паскаль - мой друг". Эта книжка стала моей первой книжкой по программированию, а Паскаль действительно стал моим другом.

Когда я перешёл в 10 класс, остатки моего 9 класса объединились с остатками другого 9 класса. Я познакомился со своим новым одноклассником, который был моим тёзкой и тоже увлекался программированием. В отличие от меня, у него дома был компьютер. Он был продвинутее меня: изучал ассемблер, пользовался шестнадцатеричными редакторами, отладчиками для DOS и пытался взламывать простейшие DOS'овские игрушки. Нам было о чём поговорить и после уроков мы увлечённо разговаривали, медленно идя по дороге домой, иногда надолго останавливаясь в том месте, где нам нужно было расходиться в разных направлениях. В 11 классе из журнала "Компьютерра" я узнал про Linux - операционную систему, которая была многозадачной, но, в отличие от Windows, не была жёстко привязанной к графическому интерфейсу. Я загорелся этой операционной системой, опять заочно. Мой одноклассник не разделял моего энтузиазма по отношению к Linux, считая платные программы и Windows гораздо более качественными. Однажды я купил в ларьке компакт-диск с операционной системой Red Hat Linux 6.0, несмотря на то, что мне некуда было его вставлять - компьютера у меня по-прежнему не было.

Поступив в университет, я стал читать книжки про Unix и язык программирования Си. По какому-то удачному стечению обстоятельств, в библиотеке университета мне попалась классическая книга Брайана Кернигана и Роба Пайка "Универсальная среда программирования Unix". Многое в этой книге будоражило моё воображение. Во-первых - это возможность создавать файлы с несколькими равноправными именами, во-вторых - элегантная возможность удалить файл, который открыт работающей программой, и создать новый файл с таким же именем. Ну и, конечно, богатейшие возможности для программиста. Прямо в командной строке можно объединять несколько разных программ в конвейер. Получившуюся строку можно сохранить в виде скрипта, создавая таким образом новые команды. Дальше от программирования на языке командной оболочки можно переходить к написанию более сложных программ на awk, а потом и на Си. Благодаря этой возможности постепенно решать всё более и более сложные проблемы, очень удобно сначала отладить прототип будущей программы на языке shell, а потом, при необходимости, переходить к написанию программы на Си. Второй удачной находкой оказалась не менее классическая книга "Язык программирования Си" Брайана Кернигана и Денниса Ричи.

Уже на первом курсе мама купила мне компьютер в два подхода - сначала системный блок, клавиатуру и мышь, которые мы привезли домой на санках и которые некоторое время стояли у меня дома и дразнили меня. Потом мы купили монитор. Я стал ковыряться в недрах компьютерных игрушек, пытаясь достать из них различные ресурсы. Моими главными инструментами тогда были шестнадцатеричный редактор и Турбо Паскаль. Кроме этого я изучил форматы файлов bmp, tga, ico, pcx, изучил видеоподсистему VESA в BIOS и написал просмотрщик картинок для DOS, который удобно интегрировался в Norton Commander. На этом же компьютере я пробовал установить Red Hat Linux 6.0 с того-самого компакт-диска, который купил ещё учась в школе. Установилось всё успешно, но пользоваться системой в качестве основной было невозможно - не работал звук, не обнаруживался модем, не понятно было, как настроить в ней русский язык. На этом же компьютере я изучал ассемблер процессора 8086 и язык Си. На последнем курсе университета я устроился на работу на завод, на полставки. Там я освоил Visual Basic и написал на нём программу для проектирования зуборезных долбяков, которая создавала трёхмерные модели этих инструментов в Solid Works.

После окончания университета в 2005 году я продолжил работать на этом заводе, но уже на полную ставку и в другом отделе, где занимался в основном прокладкой и настройкой сети. В 2006 году я сменил работу и стал работать "эникеем". Тогда я постоянно решал проблемы на компьютерах пользователей, но подбором конфигураций компьютеров по работе не занимался. В 2007 году я начал осваивать FreeBSD, а затем - Debian. С 2008 года на домашнем компьютере я стал использовать преимущественно Debian. С 2008 по 2012 год, всё ещё продолжая заниматься решением проблем на компьютерах пользователей, я параллельно занимался на работе администрированием серверов на FreeBSD и Debian. В 2012 году я устроился на работу в компанию, предоставляющую услуги доступа в интернет и стал заниматься исключительно системой мониторинга. В 2013 году ни на одном из моих домашних или рабочих компьютеров не осталось Windows, поэтому с Windows Vista и Windows 10 я не имел дела вообще, а с Windows 7 мне пришлось столкнуться лишь дважды, когда я не смог отказать в помощи своим знакомым. В первый раз мне пришлось клянчить установочный диск с Windows 7 у своих знакомых, чтобы переустановить систему, а во второй раз я воспользовался этим компакт-диском, чтобы восстановить сломавшуюся операционную систему.

Конфигурацию компьютеров я с 2006 года подбирал лишь четырежды: в первый раз я покупал компьютер себе, во второй раз - знакомым, в третий раз - сестре, а в четвёртый раз подбирал себе бюджетный ноутбук. Компьютером, купленным в 2006 году, я пользовался аж до 2014 года. Компьютер пережил три небольшие модернизации: я поменял жёсткий диск, поменял блок питания, добавил оперативной памяти. В 2014 году мой друг модернизировал свой компьютер и подарил мне оставшиеся у него после модернизации материнскую плату с процессором и памятью. Я вставил их в свой компьютер, лишь докупив оперативной памяти. До 2018 года материнская плата, процессор и память от компьютера 2006 года хранились в кладовке, пока я не воспользовался ими, чтобы собрать компьютер сыну, родившемуся в 2010 году. Сыну нужен компьютер для изучения английского языка - на нём он прослушивает аудиофрагменты по учебнику English Forward. Ну и иногда смотрит ролики на Youtube - компьютера 2006 года для этого вполне достаточно.

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

Если попытаться провести аналогию с автомобилями, то я работаю водителем карьерного самосвала, а сам езжу на старой подержанной "пятёрке". Стали бы вы просить у такого автомобилиста помощи в покупке автомобиля или спрашивать, почему у вас возникают проблемы с автоматической коробкой передач? Что он может ответить вам на ваши многочисленные вопросы?

P.S. На самом деле, лучше всего подошла бы другая аналогия. Представьте, что когда-то я работал ассенизатором и откачивал говно из выгребных ям. Я делал это, потому что не умел ничего другого, а за эту работу платили. У меня была спецодежда, а после работы я мог принять душ, прежде чем идти домой. С тех пор я перестал работать ассенизатором, продвинулся по карьерной лестнице и стал заниматься административной деятельностью - стал разрабатывать планы, нормативы, выбивать бюджеты под ремонт и обслуживание канализационной системы целого города. Я перестал контактировать с говном, поэтому стал ходить в костюме, а принимать душ после работы больше нет необходимости. И вот время от времени друзья и знакомые узнав о том, что я занимаюсь канализацией, говорят мне: "Слушай, у меня тут одна проблема - унитаз чего-то засорился. Я сам в этом ничего не понимаю, но ты-то ассенизатор. Прочисти мне его, а?" Как вы понимаете, я не переломлюсь, если почищу свой унитаз сам. Но когда знакомый просит меня почистить его унитаз, просто потому что он в этом не разбирается, а я раньше работал ассенизатором, я испытываю крайне противоречивые чувства. С одной стороны, я не могу отказать своему знакомому, а с другой стороны - почему, в конце-концов, я должен тратить своё и без того короткое свободное время на чистку чужих толчков, когда мне это делать не приятно, мне за это не платят деньги, у меня нет спецодежды?

воскресенье, 17 марта 2019 г.

Второй робот из крышек

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



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

воскресенье, 10 марта 2019 г.

Станислав Лем. Солярис. Эдем. Непобедимый


Много раз встречал восторженные отзывы о творчестве Станислава Лема. У друга на работе руководитель очень ценит Лема, другой друг сам совсем недавно сказал мне: "Лем - мой кумир".

В прошлом я собрал довольно обширную библиотеку сочинений Станислава Лема из двух книжных серий - Станислав Лем и Философия издательства АСТ. Часть книг имеются в обеих сериях, но серия "Философия" была издана более качественно - на белой более плотной бумаге, а серия "Станислав Лем" была издана на тонкой желтоватой газетной бумаге. Поэтому то, что было издано в серии "Философия", я старался взять в первую очередь. Мне почти удалось собрать все книги из серии "Философия", за исключением одной, которая оказалась быстро раскупленной и её нигде нельзя было найти - это "Сумма технологии". Найти её было трудно даже в серии "Станислав Лем", поэтому когда она попалась мне в этой серии, я немедленно её купил, уже не рассчитывая найти её аналог из серии "Философия".

До этого я прочитал лишь одну книгу Станислава Лема - "Сумма технологии", которая мне весьма понравилась. Правда, была она не научно-фантастической, а футурологической. А вот фантастику авторства Станислава Лема мне пришлось читать впервые и, надо сказать, я остался немного разочарован. С одной стороны, научно-фантастическая составляющая всегда на высоте: идеи современному читателю, возможно, не покажутся оригинальными, но продуманы они неплохо. С другой стороны характерными чертами его произведений мне показались:
  • абсолютно линейный сюжет, иногда довольно сильно провисающий из-за пространных объяснений или перемещений главных героев,
  • герои-функции, герои-роли, которые оказались в произведении только по воле автора и зачастую не имеют никакой прошлой жизни или собственных интересов и переживаний, кроме самых примитивных. Исключением тут, пожалуй, можно назвать лишь "Солярис". В нём эти черты менее выражены,
  • гигантомания - огромные космические корабли, огромные средства передвижения, атомные реакторы, ядерное оружие, фотонные двигатели, аннигиляция,
  • ничем не оправданная бездумная жестокость по отношению к иным формам существования материи. Разумный океан на Солярисе подвергается облучению жёсткими рентгеновскими лучами. Главному герою снятся кошмары, которые явно намекают на мучения океана, но герой ничего не понимает и облучение продолжается. На Эдеме главные герои без колебаний применяют любое оружие при малейшем намёке на агрессию со стороны местных жителей. А уж когда в руки главных героев попадает мощное вооружённое транспортное средство "Защитник", то они без колебаний пользуются ядерным оружием даже для проделывания дыр в стенах, загрязняя окружающую среду радиоактивностью. В "Непобедимом" автономное транспортное средство "Циклоп" сражается лазерным излучением, атомными взрывами и аннигиляцией с местным полуразумным роем механических частиц техногенного происхождения. Только от тщетности попыток уничтожить рой у людей появляются мысли, что эта форма существования живой материи, возможно, имеет право на жизнь и нужно покинуть эту планету.
В общем, Станиславу Лему, на мой взгляд, было бы чему поучиться у других мэтров научной фантастики. У Роберта Хайнлайна - живым героям и не провисающим сюжетным линиям. У Филипа Дика - линейно-параллельным сюжетам, ну или хотя бы линейным сюжетам с экскурсами. У Клифорда Саймака - гуманизму.

воскресенье, 3 марта 2019 г.

Лорин Хоштейн, Рене Мозер. Запускаем Ansible



Есть у меня одно перманентное желание - освоить какую-нибудь систему управления конфигурациями. Появилось это желание где-то лет 5 назад и тогда ещё я думал изучить Puppet, который написан на Ruby. Примерно в то же время я начал использовать для решения рабочих задач Python вместо Perl. За эти 5 лет мода на Ruby уже значительно поутихла, а Python стали насаждать чуть ли не из каждого утюга. По-моему, нет ни одного языка программирования, который по количеству русскоязычных публикаций мог бы сравниться с питоном. Причём основная часть печатных книг вышла в печать как раз за последние 5 лет. Ansible является системой управления конфигурациями, написанной на Python и использующей для этого доступ по SSH. Ansible не использует специального агента, который нужно было бы устанавливать на настраиваемую систему. Эти два обстоятельства, язык Python и отсутствие необходимости ставить агента, вытеснили Puppet из планов и заменили их на Ansible.

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

И вот в марте 2018 издательство ДМК-пресс анонсировало выход книги про Ansible на русском языке. Я сразу же заказал книгу, хотя она ещё не поступила в печать, и воспользовался обычной для издательства скидкой на предзаказ в 20%. Книга приехала ко мне в апреле и почти немедленно была отправлена на полку. Ну не могла эта история обойтись ещё без одного откладывания.

В начале этого 2019 года, после прочтения книги Git для профессионального программиста и освоения системы контроля версиями Git, я принялся-таки за эту книгу. Книга напечатана в твёрдом переплёте, насчитывает 382 страницы, однако система оказалась настолько простой, что её описание можно было бы уместить и в 100 страниц. Некоторая часть книги посвящена использованию Vagrant, значительная часть книги - использованию Ansible для настройки виртуальных машин в облачном сервисе Amazon EC2, значительная часть книги посвящена совместному использованию Ansible и Docker, некоторая часть - использованию Ansible для настройки компьютеров Windows и сетевого оборудования. Ядро книги посвящено использованию Ansible для настройки компьютеров под управлением Linux, а в качестве учебного примера рассматривается развёртывание CMS Mezzanine, написанной на Python с использованием веб-фреймворка Django. Если отжать из книги всё, что связано с использованием Ansible лишь косвенно, то в сухом остатке получится как раз страниц 100. И когда я говорю о том, что значительная часть книги посвящена какому-то вопросу, то это не значит, что этот вопрос сам по себе рассмотрен достаточно подробно.

Содержание книги показалось мне по насыщенности довольно рыхлым. Она точно не идёт в сравнение по насыщенности с книгой "Git для профессионального программиста", и это становится вполне явным в процессе чтения каждой из книг. Читая книгу про Git, я не мог читать её достаточно долго - читал каждый день понемногу, потому что довольно быстро уставал. С книгой про Ansible всё было иначе - читалась она легко, а листинги сценариев и ролей просто пролистывались, т.к. всё важное уже было описано в тексте достаточно подробно и листинги к этому не добавляли практически ничего нового. В процессе чтения книги про Ansible я скорее наоборот - сдерживал себя от чтения галопом, чтобы заниматься практикой.

Практические занятия проходили довольно легко, т.к. мне знаком синтаксис Python, который используется при написании условных выражений when, и знаком шаблонизатор Jinja2. На моём техническом блоге есть несколько переводов статей, в которых упоминается этот шаблонизатор. К тому же мне уже приходилось пользоваться этим шаблонизатором в небольших приложениях, которые я писал на Python с использованием веб-фреймворков Flask и Bottle. Кроме того, даже тем кто не пользовался Jinja2, но знаком с шаблонизатором Django, Jinja2 покажется очень знакомым.

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

На моём техническом блоге имеется довольно много инструкций по настройке различных сервисов и веб-приложений, но иногда я заглядываю на настроенные компьютеры, чтобы вспомнить, как я настраивал ту или иную программу. Хочется по-максимуму задокументировать все эти знания, рассредоточенные в различных местах, в виде ролей Ansible. Надеюсь, что при должной настойчивости мне это удастся. Кроме того, хочется попробовать уже начать применять Ansible на работе. Учитывая то, как долго откладывалось освоение системы управления конфигурациями, я не надеюсь на то, что все эти цели вскоре будут достигнуты. Но дело, по крайней мере, теперь сдвинулось с мёртвой точки.