cat with many words

Из прочитанного. Выпуск 52

1) За бортом по своей воле, Ален Бомбар

5 / 5

Книжка - бомба, не хуже Кон-Тики Хейердала, только тут автор не доказывал, что древние люди каким-то образом могли переплыть океан, было круче - он хотел доказать, что челоек способен продержаться в открытом океане долгое время вообще без запасов провианта и воды с суши, питаясь только тем, что дает море. Спойлер - у него все получилось, переплыл Атлантический океан и не умер, дожил потом до 80 лет. Я прочитал на одном дыхании, мне нравятся такие отчеты и такие идейные люди. Как оказалось, на момент путешествия ему было 28 лет, он буквально недавно женился и дочка родилась. И все-равно пошел!

Вот время было, что ни год, то куча смельчаков, рискующих жизнью самыми разнообразными способами во имя доказательства чего-то. Бомбар в данном случае плыл на резиновой лодке, из инвентаря у него были приборы для определения координат, карты, удочки, справочники для потрепевших кораблекрушение и сеть для ловли планктона. Зачем? Он предположил, что из тех, кто потерпел кораблекрушение, но остался жив, большинство погибают не от физического истощения, а от отчаяния и страха. Мало того, людей перестают искать уже через 10 дней, потому что считают, что живых уже не найти. Бомбар решил проверить.

Изначальная идея была:

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

Надо сказать, что по всем пунктам у него получилось. Моряки обещали, что в океане рыбы не будет, он же ловил легко по несколько килограмм в день. Эксперимент получился и с соленой водой (пил ее во время передвижения во Средиземному морю), так и с рыбой (он выдавливал из нее сок с помощью ручной соковыжималки). Рыбу он и ел, сырую. Доплыл с помощью попутного течения и пассатных ветров, которые дули почти строго на запад. В итоге плыл он на своей лодочке дней 50.

Из критики можно было бы сказать, что у обычных потерпевших кораблекрушение не было бы возможности так удачно проложить курс, но в остальном Бомбар всему миру доказал, что спастись в океане можно, и это не какая-то фантастическая удача.

2) Капитан Суматоха, Бенгт Даниэльсон

2 / 5

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

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

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

3) Bad Samaritans: The Myth of Free Trade and the Secret History of Capitalism, Ha-Joon Chang

4 / 5

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

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

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

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

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

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

Интеллектуальная собственность - еще один инструмент поддержания статуса-кво. Развивающиеся страны в этом случае всегдя находятся в заведовом проигрыше - у них еще нет развитой индустрии. Поэтому для них архиважно поощрать перенимание технологий и распространение новых знаний. Оказалось, что Корея еще в конце 90-х была настоящим раем для пиратов, можно было достать что-угодно, как на русских варезниках через 10 лет после этого. Если посмотреть на пример современных гигантов - Китай, Корея, Япония, Германия - все они начинали как столицы пиратства и реплик. И только с прошествием времени по мере развития населения гайки начинали закручиваться.

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

Я знал о некоторых факторах, о многих не знал, было интересно.

cat with many words

Van Gend en Loos

Гуляли по музею под открытом небом в Арнеме, один из павильонов был посвящен перевозкам, а точнее это был терминал компании Van Gend en Loos времен начала двадцатого века. Тут же была интерактивная викторина, в которой обсуждался исторический диапазон, достаточно широкий, чтобы я полез смотреть.

Как оказалось, компания существовала ни много ни мало почти двести лет, после чего была куплена DHL. Если совсем разбираться, то похоже, что самостоятельно компания существовала лет сто, после чего была куплена местными железными дорогами (NS), но бренд существовал еще почти 100, ничего себе.

В моем стартап-насыщенном пузыре невозможно представить, что компания может жить дольше, чем один человек, а тут такое.

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

Очень интересно было бы посмотреть, какие есть еще компании-долгожители вокруг!

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

cat with many words

Инфра определяет сознание

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

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

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

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

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

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

Принцип работает во всех плоскостях - развитие города или там личные планы.

cat with many words

Из прочитанного. Выпуск 51

1) Kitchen confidential, Anthony Bourdain

3 / 5

Откровения шеф-повара из Нью-Йорка о своей карьере плюс его наблюдения о ресторанном бизнесе. Есть много интересного, но в целом не показалось мне близким.

Из плюсов:

  • Автор очевидно прется от ресторанного бизнеса, атмосферы и вообще всего с этим связаным

  • Есть пару советов про то, что нужно для работы на кухне (несколько рецептов для базовых ингредиентов, покупайте global knives)

  • Есть описание разных ролей на кухне (шеф-повар, сушеф, линейные повара, бармен, бегун (runner), убощик и т.д. с описанием их функций.

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

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

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

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

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

Это моя точка зрения, я в этом бизнесе не работал, поэтому вполне возможно это просто данность, как все устроено, и все с этим согласны.

2) Program of be programmed, ten commands for a digital age, Douglas Rushkoff

4 / 5

Книжка про интернет из 2010 года, будьте осторожны. Если отбросить шутки в сторону, то это вполне хороший повод подумать про то, как технологии влияют на нашу жизнь. Рашков заходит с того, что технологии не нейтральны (как в технополии, она и в библиографии есть). В отличие от Постмана Рашков не спешит все обозвать идеологией, но заостряет внимание на том, что использование технологий (любых) провоцирует то или иное поведение. Как пример, он постоянно упоминает появление алфавита, которое привело к появлению кодексов законов.

Мне понравилось его наблюдение о движении технологий в сторону все больших и больших абстракций:

1) речь позволила отделить событие от его описания 2) текст отделил речь от ее носителя 3) книгопечатание отделило текст от писца 4) компьютеры (интернет) отделили печать от бумаги

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

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

Итак

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

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

TLDR: вместо того, чтобы наслаждаться моментом мы все сейчас сразу делаем фоточки для инстаграма, либо для вотсаппа в чатик с родственниками.

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

Кроме того, мы все начинаем интересоваться какими-то событиями на другой стороне Земли больше, чем в своем районе. И даже те трогают нас меньше в виду своей абстракности.

  • Компьютерные технологии - это прежде всего про цифроваые данные. Все там - это аппроксимация реальности.

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

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

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

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

Увеличивающаяся сложность машин вместе с тем приводит к относительному упрощению нашего сознания.

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

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

  • Личность. В интернете ничего не забывается. Комментарий в твиттере 10 лет назад может стоить работы сейчас. Из-за этого люди имеют тенденцию писать анонимно, что приводит к чувству ложной безнаказанности, что имеет вполне известные последствия.

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

Автор стоит на том, что надо оставаться собой и не писать того, за что не готов ответить потом.

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

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

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

  • Интернет поощряет говорить правду, все остальное можно проверить.

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

Автор говорит, что нужно стараться говорить правду. Правда у всех своя, что с этим делать, Дуглас?

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

  • Интернет провоцирует открытость. Увидеть это можно хотя бы потому, как долго и сложно боролись с пиратством.

Автор разбирается в разнице между "делиться" и "красть". Интернет все эти понятия перевернул. Слишком просто делиться, слишком просто делать модификацию чужого продукта, и иногда получается неплохо, начиная с мемов и заканчивая разными неофициальными модами к играм, которые их делали гораздо интереснее. Вспоминаю Horoes of M&M 3.5

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

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

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

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

  • Интернет - это про программирование. Учитесь программировать или программировать будут вас.

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

cat with many words

Доедая бомж-пакет

Стакан, если быть точным.

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

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

cat with many words

org-roam все

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

И вот, вместо написания текста опять тратишь два часа на то, чтобы привести все в в порядок. Кому нужен этот порядок? Правильно, никому, это просто рутинная работа, которая дает иллюзию прогресса, также как duolingo дает иллюзию прогресса в изучении языка.

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

cat with many words

Водопровод

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

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

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

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

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

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

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

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

cat with many words

Из прочитанного. Выпуск 50

Крутые книжки все никак не могут закончиться. Но начнем с не очень.

1) Go Web Programming, Sau Sheong Chang

2 / 5

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

2) Concurrency in Go, Katherine Cox-Buday

3 / 5

Хотелось бы, чтобы эта книжка была лучше, но нет. Автор вначале долго и нудно рассказывает про основные элементы для конкуррентного кода, которые есть в го, потом рассказывает про конкретные типовые приемы, которые в коде применяются. Если бы я заранее прочитал Go Programming Language из следующего пункта, то первую часть можно было бы не читать совсем. С другой стороны этой книжки было достаточно, чтобы понять про каналы, горутины, мьютекс и Waitgroup и про то, как их использовать.

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

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

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

В книжке можно читать главы 4 и 5 про шаблоны конкуррентного кода.

3) Go Programming Language, Alan A.A. Donovan, Brian W. Kernighan

5 / 5

Книжку можно читать, даже если вы не любите и не хотите писать на го. Возможно, захотите!

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

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

Software engineering is what happens to programming when you add time and other programmers.

Написать программу один раз - это не software engineering, это программирование. А вот написать и поддерживать годами - это оно. Идея, которую я вынес из объяснений авторов - умно писать легко, поддерживать эту заумь сложно. Так что всякие дженерики, сложные языковые концепты - это здорово, но их сложно понимать, а следовательно сложнее поддерживать. И каждый элемент языка помогает поддерживать код проще и делает относительно сложнее писать умные штуки.

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

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

А вот еще - никаких автоматических приведений типов. Если хочется - приводи руками. В результате код получается полностью без сюрпризов.

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

Стандартная библиотека спроектирована отлично, и в ней действительно есть все для того, чтобы писать сетевые приложения.

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

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

type AccountNumber int

И все, этот тип будет полностью независимым от интов, хотя внутри будет числовое значение. В книге приводится пример разных шкал измерения температуры, где разные типы позволяют на этапе компилляции проверять, не складывает ли кто-то градусы цельсия с фаренгейтами. У меня на практике был другой пример. Приходит к вам значение, скажем, OrderID, только еще неотформатированное, а потом вы его форматируете. Если подобных типов у вас нет, как джаве, то в вашей системе будет куча переменных OrderID типа String, но не будет возможности наверняка проверить, какую версию вам подсунули. Я решал это именами переменных, что работало, но временами было больно. Как же я хотел разных типов на этот случай!

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

4) Plagues and Peoples, William H. McNeill

5 / 5

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

Основные утверждения автора:

  • Вирусы были с нами всегда, большинство пришло от домашних животных
  • Для распространения вируса нужна критическая масса людей
  • Слишком смертоносные вирусы быстро исчезают - все носители погибают, распространение невозможно.
  • Первая встреча населения с вирусом - обычно самая жестокая по эффектам. Далее в течение 4-6 поколений вырабатывается групповой иммунитет, люди учатся избегать заражения или болезни становятся гораздо менее опасными и переходят в разряд детских (ветрянка)
  • Если болезнь исчезает из конкретной местности, то со временем групповой иммунитет исчезает, болезнь снова становится опасной.
  • Болезни нужен физический носитель, она не может перемещаться сама.

Последний фактор чрезвычайно важен. Например, автор с этим связывает падение Римской империи (мореплаватели привезли чуму из Индии) и эпидемии в Европе в средневековье (монголы построили свою громадную империю, обеспечили безопасное перемещение между китаем и европой, в результате крысы-носители вместе с караванами пересекли континент)

Или он исследует причины исчезновения чумы и делает предположение, что чума ушла из Лондона в том числе из-за пожара 1666 года. Почему? До этого в моде были соломенные крыши, в которых крысы жили с больши комфортом. Как результат, на людей падали их инфицированные блохи или экскременты, люди заражались, эпидемия шла полным ходом. После большого пожара город перестраивали в интенсивным примененим камня, в результате чего место обитания крыс значительно отодвинулось от людей, и эпидемия пошла на спад.

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

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

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

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

Как пример, Римская империя. Автор делает предположение, исходя из разных источников, что эпидемии сильно подкосили население империи, в результате чего началось закрепление крестьян на территориях (иначе некому было бы сажать) и приглашение вшешних варваров жить в пределах границ страны. Если бы нароу было полно, то римляне бы этому смльно протестовали, вероятно были большие опустевшие территории, которые надо было заселять. На фоне упадка населения макропаразитизм, т.е. правители, не успели адаптировать свои запросы, и все схлопнулось.

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

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

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

cat with many words

Про настоящее

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

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

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

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

До меня репосты через мессенджеры почти никогда не долетают, но в самом начале карантина в Голландии в те короткие дни, когда люди в панике скупали все в магазинах, по вотсаппу пересылали видео, как какие-то люди дрались из-за какого-то товара рядом с полкой супермаркета. Ужас! Потом оказалось, что ролику пара лет, снято во Франции, когда в одной из сетей решили дать безумную скидку на нутеллу.

Особенность подобных видео в том, что их аутентичность невозможно проверить, равно как невозможно проверить их привязку ко времени и месту. Может быть снимают больницу на Дальнем Востоке, может быть снимают развалины госпиталя в Чернобыле, проверить сложно. Зато сама манера съемки, сама неказистость повышает доверие и снимает все сомнения. И я еще не беру случай постановочных съемок.

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

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

Как я описал, есть два фактора, которые серьезно осложняют дело:

  • Невозможно вычислить, как изначально было произведено видео.
  • Чаще всего есть всего один ролик несмотря на обилие очевидцев или на массовость происходящего.

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

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

cat with many words

Из прочитанного. Выпуск 49. Познавательное

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

1) Computer Networks, 5th ed, Andrew S. Tanenbaum, David J. Wetherall

5 / 5

Фантастическая книжка для тех, кто как я, вообще не понимал, как работают сети. Для меня это всегда было загадкой:

  • Что значит порт?
  • Что значит "установлено соединение"?
  • Что значит, если забит канал?
  • Почему модем - это 56кбс, а потом по нему же adsl позволил прокачивать мегабиты?
  • Если спутник только передает информацию, то как работает TCP, который ожидает обратной связи?
  • Как вообще получается, что поверх физического канала передается информация?

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

Например, на первых же страницах Таненбаум отвечает на вопрос, откуда 56кбс: все просто, телефонная связь искусственно ограничена полосой в 3 кГц, а указанная скорость - это физический предел того, сколько информации можно через эту полосу передать. Отсюда понятно, почему adsl быстрее - используется гораздо больше частот для передачи.

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

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

Следующая глава обсуждает Medium access control подуровень, который определяет не авторизацию, а распределение канала (здесь имеется в виду канал общего пользования - например, радиопространство, где несколько устройств должны как-то координироваться, чтобы не глушить передачи друг друга. Еще одна штука, которая просто работает, но если подумать, то понятно, что это не так просто. Из этой главы также можно понять, почему скорость может упасть, если роутер использует популярный канал для Wi-Fi (и что такое канал, кстати)

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

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

Здесь же есть про Ethernet. После прочтения внезапно становится понятно, в чем отличие хаба от bridge от роутера. Если кратко - они действуют на разных уровнях. Хаб - замыкает провода, как будто они спаяны. Бридж - получает и переправляет пакеты, но делает это ниже сетевого уровня. Он работает с ethernet фреймами, в которых адресат определяется с помощью мак адреса, и пересылает его в тот порт, где, по его мнению, находится машина с этим мак адресом.

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

Следом вопрос: но обычно же пакеты отправляются по ip-адресу? Это снаружи, внутри сетевая карта отправит броадкастом сообщение с просьбой откликнуться владельца ip-адреса. Если такой есть в сети, то он отправит ответ, если нет, то пакет будет отправлен на mac-адрес шлюза по-умолчанию (вот он для чего был нужен).

Следом роутер - он действует на сетевом уровне, сетевом, где операции идут уже с IP пакетами, а не с ethernet-фреймами, по-этому и пакеты он рассылает на этой основе.

Как роутер знает, куда какой пакет слать? Роутеры шлют друг другу эту информацию. Есть разные алгоритмы, построенные на разных способах оповещения. Роутеры, которые работают в ключевых точках интернета (internet backbone), могут информацию кешировать, т.к. разные блоки адресов отдаются разным провайдерам, которые подключены к бэкбону в понятных точках, в сетях уровнем ниже уже требуется перезвон роутеров и обмен информацией, чтобы понять, как переслать тот или иной пакет.

Между этими двумя уровнями сидит NAT, который позволяет нескольким компьютерам быть представленными в сети в виде одного адреса. Как так получается? Вернее, в целом все понятно - пакеты как-то переадресуются на пути туда и обратно. Но как? IP пакеты знают только об адресе получателя, больше ничего, и этой информации явно недостаточно. Чтобы NAT работал, он залезает в стек уровнем выше - TCP или UDP. Оба протокола для отсылки в пакетах указывают порт отправителя (об этом ниже). На шлюзе подменяется не только адрес отправителя, но и этот порт, а на самом шлюзе сохраняется информация о маппинге этого порта обратно на адрес и порт начального отправителя. Когда прилетает ответный пакет на этот порт, информация опять подменяется и отправляется на исходную машину. Отсюда, опять же, объяснение, почему по-умолчанию компьютеры снаружи не могут ничего послать внутрь, но могли бы, если бы на шлюзе для этого был бы сделан маппинг. Еще один вывод, который нужно сделать - если у вас какой-то третий протокол, то NAT его не поймет, не сможет замапить и никуда ничего вы не пошлете.

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

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

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

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

Первый вопрос - зачем нужен UDP, если по факту IP дает ту же гарантию? Тут мы приходим к понятию порта. Порт - исключительно искусственное понятие, оно нужно для того, чтобы было понятно, какие процессы в системе должны получить пакет. Обычно мы знаем только про порт адресата (80 для http), но вообще говоря, он нужен с обеих сторон, т.к. встречные пакеты должны прийти правильному процессу со стороны отправителя. Основная задача UDP - добавить к IP порты.

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

Эта гарантия приводит к появлению такого понятие, как "соединение". Грубо говоря, нужно договориться, что обе стороны онлайн и готовы общаться. С принимающей стороны хранится таблица уже установленных соединений, так что левые пакеты не пройдут. Второе, стороны должны как-то договориться, чтобы стало понятно, то пакеты идут по порядку и не теряются. Во время установления соединения выясняются оба вопроса, после чего в обе стороны могут начать идти пронумерованные пакеты, а обратно идут их подтверждения, которые чаще всего идут в составе пакетов данных, которые отправляются в другую сторону. Установление соединения требует обмена несколькими пакетами, а это время, плюс в TCP есть встроенный механизм борьбы с перегрузкой канала. Если просто - то передача начинается на низкой скорости, которая потом последовательно увеличивается вполть до момента, когда пакеты начинают теряться, либо возникает какой-то друго признак перегрузки. В этот момент скорость сбрасывается вдвое, и все начинается по-новому.

Эти два факта и приводят к тому, что TCP не идеален в случае с http - каждое новое соединение - это пенальты по скорости, отсюда сразу становится кристально ясен пост про http 3.0.

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

Про последние две главы писать не буду, т.к. для меня они были не особо интересными, пробежал мельком.

2) The Power of Babel: A Natural History of Language, John McWhorter

5 / 5

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

О чем же книга? Книга о том, как из одного прото языка, на котором общались условные Адам и Ева, получилось то многообразие, которое мы имеем сейчас?

Автор начинает с того, что предлагает взглянуть на современную латынь. Что это такое? Для примера он берет современный французский. Фраза на нем, если знать типичные механизмы изменения языка, позволяет достаточно точно проследить, как латынь в классическом понимании этого термина медленно, но верно превратилась в современный французский, хотя глядя на них сейчас это сложно представить. И это важно, в 20 веке, а тем более в 21 со всеми граммар наци это сложно представить, но язык, на котором говорят люди, постоянно меняется. Как же он меняется? И что такое язык вообще?

На первый вопрос автор отвечает долго и разнообразно. Слова в языке часто теряют звкуки, склеиваются разными способами (например, он утверждает, что все склонения, которые есть в языках, изначально были разными словами, которые потом склеились, или что в старом английском every было ever each), меняют смысл (когда-то silly в английском означало "святой"), заимствуются из других языков. Последнее требует расшифровки. Т.к. языки меняются, делают это постоянно и по-разному в разных местах (см превращение латыни в романские языки), то заимстование = заимстование слова из какого-то диалекта в такой-то исторический период. Это значит, что в современном языке этого слова уже может давно не быть, или, например, что одно и то же слово с разными смыслами может быть импортировано в язык несколько разных в старой и новой формах.

Второй вопрос тоже интересен. Что такое язык? Автор долго рассуждает с разными примерами, которые сводятся к тому, что тот факт, что французский язык вырос из парижского диалекта, современный русский - из московского, современный английский - из Лондона - это просто историческая случайность, нет никаких причин считать другие диалекты недоразвитыми, несовершенными или неполноценными, это просто другие пути развития языка. Где-то не произошли трансформации, которые произошли в других местах, где-то заимстовались другие слова, или не исчезали третьи, где-то грамматика не менялась, так как она менялась где-то еще. Например, автор говорит, что тот факт, что в стандартном английском нет двойного отрицания, но в языке оно есть (ain't nobody's business) - это как раз про то, что в стандартном английском языке кто-то когда-то написал книжку по грамматике таким образом, вот и все.

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

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

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

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

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

Если это все просто багаж случайных изменений, тогда должны быть примеры языков, в которых эти изменения не накопились. Есть такие? Да, есть, это креольские языки. Хотя многие утверждают, что это просто испанский/французский/любой другой с примесью новых слов, автор говорит, что это полноценные новые языки, в которых часть старых (на тот момент времени) языков взята за основу. Его любимый пример - это Tok pisin, который образовался от английского, но потом развился в полноценный язык. Креольские языки часто отличаются как раз упрощенной грамматиком, отсутствием сложностей, существующих в языках-донорах, при том, что на них можно выразить все, что и на родительских языках. Это произошло как раз из-за того, что языки создавались людьми с разными родными языками, для которых главное было в понимании, и ненужные детали отваливались.

Еще один интересный момент, который он поднимает. Почему нам сейчас кажется, что язык не меняется? Почему мы сейчас вполне можем читать Пушкина в оригинале, но если отсупить еще на сто лет назад, то понять что-то гораздо сложнее?

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

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

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

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

Эпилог - это критика автора на статью каких-то ученых лингвистов, которые якобы восстановили слова из самого перовго языка. Это невозможно, говорит автор. Невозможно, хотя бы потому что история письменности - это ну может 15 тысяч лет, а история языков - это 150,000 лет. Т.к. устный язык меняется гораздо быстрее, изменения случайные, да и смысл слов меняется, нет никакой возможности с уверенностью утверждать о значении и форме слов.

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