Майнинг еды или «Пятерочка» глазами хакера

Введение

Написать этот пост меня вдохновила статья, которая давно висит на Хабре. Сразу хочу извиниться перед автором, лучше названия и придумать нельзя. Как вы все знаете «Пятерочка» активно рекламирует свои карты лояльности. В статье выше нам рассказывали о том, что мошенники активируют чужие карточки и списывают баллы. Хакеры пошли дальше и вместо активации чужих карт просто стали взламывать личные кабинеты пользователей. А что? Звучит даже проще активации карт, давайте разберёмся поподробнее.

Немного о безопасности личных кабинетов

image

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

image

Казалось бы, как взломать такое? Перебрать код невозможно, есть лишь 3 попытки, а код четырёхзначный. Сразу отбрасываем данный вариант, но хакерам же как-то удаётся, значит и у нас получится!

Приложение «Пятерочка»

Как и у любого другого магазина с программой лояльности у сети магазинов «Пятерочка» есть своё приложение. Только вот приложение не простое, а со своими тараканами в коде. Давайте же разберёмся, что не так с приложением.

Вход в личный кабинет осуществляется так же с помощью номера телефона и пароля, а ещё сверху приходит смс подтверждение, но вот есть один интересный момент. Приложение «запоминает» учётную запись и при следующей попытке входа вместо смс кода на телефон отправляет пуш уведомление напрямую в приложение. Сейчас объясню поподробнее. Войдя впервые на свою учётную запись вам предстоит ввести код из смс для входа. Если вы по какой-то причине решили выйти и зайти снова, то во второй и последующие разы смс код вам приходить не будет, а вместо него в приложении будет само заполняться поле смс кода. Во диво! Сделано это конечно красиво, но есть один огромный недостаток. Замечен баг был мной в приложении «Пятерочка» версии 2.12.1, возможно есть и в других версиях. Что за баг и как его повторить?

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

i.imgur.com/BcLnANt.mp4
i.imgur.com/LIGOkBT.mp4

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

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

Методы решения

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

Последствия

Из-за ошибки в коде страдают обычные люди, а именно добросовестные покупатели. Почитать гневные отзывы о том, что у людей украли баллы можно по ссылке: vk.com/topic-19098821_24191218. Ниже оставлю пару постов, на самом деле их намного больше, но думаю сейчас уже не смогу найти некоторые.

image

image

image

Проблема с воровством баллов очень актуальна и процветает это дело минимум год. Даже на пикабу можно найти посты.

Выводы

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

Всем добра и не допускайте таких ошибок в коде!"

ссылка на оригинал статьи https://habr.com/ru/post/538602/

Изучение data science c нуля: этапы и вехи

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

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

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

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

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

Этап 1. Базовые инструменты анализа данных: SQL, Excel

  • SQL, основы (20ч). Самостоятельное знание SQL может пригодится для выполнения кучи других задачи. И оно, в любом случае, необходимо для большой (большей?) части вакансий на позицию аналитика, дата сайентиста и, тем более, machine learning engineer.

  • Основы Excel (10ч): фильтры и сортировка данных, формулы, vlookup, pivot tables, базовая работа с графиками. Коллеги, партнеры или руководство будут присылать входящие данные в excel, и вам нужно будет уметь их быстро понять и изучить. Нередко и результаты анализа сделанного на Питоне удобнее подготовить и предоставить в Excel.

  • Базовый английский (20-200ч, зависит от предыдущего уровня), на уровне самостоятельного чтения технической документации и спец.литературы. Например, вам совершенно необходимо уметь читать официальную документацию pandas/scikit, и также многие хорошие материалы по Python доступны только на английском.

В некоторые компании с таким набором знаний берут на позиции: аналитика/ младшего аналитика/ веб-аналитика. В Москве хорошие знания этих вещей могут, иногда, давать ЗП до 100тыс, но вероятнее ЗП порядка 50-70 тыс и начальная позиция .

Этап 2. Основы Python и Pandas

  • Основы Python (80ч). Без знания Питона невозможно использовать львиную часть инструментов машинного обучения. Другие языки менее эффективны в этой сфере и непопулярны.

  • pandas (20 ч) — основа основ в работе с данными в Питоне. На первых порах достаточно хотя бы самых базовых знаний: индексирование, выбор данных по условиям, группировка данных, и соединение разных датафреймов

  • Также научиться основам работы с разными API и парсингом данных (requests, beatiful soup)

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

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

Этап 3. Базовые понятия и классические алгоритмы машинного обучения

(Этот этап может занять 200-400 ч в зависимости от того, насколько хорошо изначально вы владеете математикой)

Базовые  понятия машинного обучения:

  • Кросс-валидация

  • Overfitting

  • Регуляризация

  • Data leakage

  • Экстраполяции (понимание возможности в контексте разных алгоритмов)

Базовые алгоритмы, которые достаточно знать на уровне главных принципов:

  • Прогнозирование и классификация:

    • Линейная регрессия

    • Дерево решений

    • Логистическая регрессия

    • Random forest

    • Градиентный бустинг

    • kNN

  • Кластерзиация: k-means

  • Работа с временными рядами: экспоненциальное сглаживание

  • Понижение размерности: PCA

Базовые приёмы подготовки данных: dummy переменные, one-hot encoding, tf-idf

Математика:

  • умение считать вероятности: основы комбинаторики, вероятности независимых событий и условные вероятности (формула Байеса).

  • Понимать смысл фразы: «correlation does not imply causation», чтобы верно трактовать результаты моделей.

  • Мат.методы, необходимые для полного понимания, как работают ключевые модели  машинного обучения: Градиентный спуск. Максимальное правдоподобие (max likelihood), понимание зачем на практике используются логарифмы (log-likelihood). Понимание как строиться целевая функция логистической регрессии (зачем log в log-odds), понимание сути логистической функции (часто называемой «сигмоид»). С одной стороны, нет жесткой необходимости всё это понять на данном этапе, т.к все алгоритмы можно использовать как черные ящики, зная только основные принципы. Но понимание математики поможет глубже понять разные модели и придать уверенности в их использовании. Позднее, для уровня senior, эти знания являются уже обязательным:

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

Этап 4. Набор базовых навыков решения задач

Цель данного этапа — получение навыков применения всех ранее изученных методов машинного обучения с помощью scikit-learn, pandas (numpy).

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

Тут же следует инвестировать время в изучение разных приёмов и трюков feature engineering

По завершению данного этапа есть шанс устроиться на позицию junior data scientist. ЗП будет низкая. Но главное будет продолжать учиться. До достижения уровня senior возможность учиться у коллег ценнее, чем текущая зарплата.

Знакомство с основами нейронных сетей

На данном этапе может быть полезно знание основ нейронных сетей, CNN, RNN/LSTM слоев, vector embeddings. Но не обязательно уметь тренировать их самому, на данном этапе. Пока это важно для «общего развития» и чтобы вы не хотели применять нейронные сети там, где без можно обойтись, и, наоборот, понимали где они могут быть полезны и когда имеет смысл или обращаться к коллеге уже их знающему, или браться за глубокое изучение и практику.

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

Рекомендую ограничить это объемом в 20-40ч, необходимым только для общего понимания концепций.

Этап 5. Дополнительные технические навыки, необходимые в работе 

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

  • Conda, понимание проблем зависимостей версий библиотек, и как conda это может решить

  • основы bash

  • Python standard library, если не освоили ранее (необходимый минимум itertools, collections, contextlib), умение эффективно разбивать код на функции и модули, классы; умение применять context managers.

  • Основы git, также очень полезно умение работать с IDE: pycharm/vs code. Их использование облегчит работу с git, заменив графическим интерфейсом работу с командной строкой

  • Библиотеки визуализации (matplotlib+seaborn, plotnine, plotly), если не освоили их раньше.

С таким багажом знаний наверняка можно найти позицию джуниор дата сайентиста (может называться по-другому, но суть та же).

В принципе, на этом уровне знаний можно работать годами, практикуясь в применении разных из уже изученных моделей, библиотек и инструментов, осваивая вспомогательные методы (feature engineering), нюансы, и способы решения похожих же задач, с помощью разных библиотек (xgboost, cat-boost). Постепенно будет уровень рост ЗП. Но это не уровень Senior специалиста.

Изучаем по необходимости, этапы 2-5

Визуализация данных

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

  • matplotlib – на нём базируется следующие два варианта, и потенциально он может всё. Но тяжел и неэффективен для прямого использования, кроме построения уродливых графиков, для себя и коллег-технарей. Можно специально не учиться его применять, а понять только самые основы, которые будут «проступать» из-за других библиотек.

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

  • plotnine — позволяет создавать очень креативные графики. Супер-мощный инструмент, позволяющий в несколько строчек кода создать самые нетривиальные графики. В сравнении — seaborn не имеет подобной гибкости, а в matplotlib замучаешься разбираться чтобы сделать такой же график, если он не совсем примитивный. Однако, поначалу, plotnine требует определенного времени на освоение. Если бы не существовал plotly — это был бы самый мощный инструмент.

  • plotly — позволяет делать все графики интерактивными. Сложен в изучении и плохо документирован. Вероятно, не имеет смысл его изучать, пока вы не поймёте точно что вам это необходимо (интерактивность).

До начала применения в реальной практике, на обучение можно себя ограничить в 10-20ч на одну библиотеку.

Если вам нет нужды сначала применять питон для подготовки данных, или вы хотите создать визуальные дэшборды которыми смогут пользоваться другие люди — посмотрите в сторону PowerBI и Tableau, это крайне мощные и популярные инструменты визуализации данных. Изучить каждый из этих инструментов на минимальном рабочем уровне можно, примерно, за 60ч. Знание связки SQL+Excel+PowerBI/Tableau откроет вам позиции аналитиков и «BI-специалистов» c окладами в Москве от 100 тыс., коммуникабельные специалисты с хорошими знаниями этих инструментов находят позиции с ЗП от 150 тыс. Подобные вакансии в основном встречаются в корпорациях и системных интеграторах.

Средства работы с данными

Можно учить на разных этапах, в зависимости от задач, с которыми столкнётесь

  • Основы regular expressions, aka RegExp (10ч). Знания regexp необходимо для продвинутой фильтрации данных в разных инструментах для работы с данными.

  • PySpark (40ч на изучение основ, 100-200ч на достижение хорошего рабочего навыка) . Он необходим когда у вас данных очень много, и приходиться обрабатывать их сразу на целой группе серверов (кластере). Это уже Big data. Не имеет смысл разбираться с ним заранее, т.к. знания являются не фундаментальными и легко забываются. Эффективнее осваивать когда планируете начать использовать (или перед тем как подать резюме на позицию, требующую данных знаний).

    Внутри Spark устроен сильно не так, как обычные базы данных, но с точки зрения использования он оказывается сильно похожим, т.к. поддерживает почти стандартный SQL синтаксис или, как альтернативу, API отдалённо похожий на pandas. Определенные концептуальные отличия присутствуют, но больших сложностей в освоении это не вызывает. В последнее время продвигают библиотеку Koalas, которая будет использовать команды совсем как у pandas для работы с spark-кластером, но пока не советую делать это основным подходом по работе с Spark.

  • Основы html — необходимы, как минимум, для общения с коллегами и понимания их языка, если вы хоть немного сталкиваетесь с сайтами и необходимостюь их парсить или анализировать данные с них.

Этап 6

Углубление и развитие технических навыков

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

  • Python на хорошем уровне:  декораторы, уверенное знание классов и наследования, изучение базовых классов, dunderscore __методы__ .

  • Уверенное пользование bash, понимание основ linux

  • Полезно изучить основы docker

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

Другие области машинного обучения

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

Нейронные сети

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

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

Другие статьи о самообразовании

Вводная статья о том, как понять, стоит ли вам вообще идти в data science и как сделать первые шаги

Принципы эффективного самообучения

Как минимум, планируется статья с рекомендациями книг и курсов, в соответствии с приведенными этапами

Готов стать ментором

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

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

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

self.development.mentor в домене gmail.com, Олег 

ссылка на оригинал статьи https://habr.com/ru/post/538562/

Пора на взлёт

Пятничное. Надеюсь кому-нибудь это поднимет настроение.

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

Хочешь узнать, в чём (скорее всего, в 90% случаев) смысл твоей жизни? Лезь под кат. Гарантировано не эзотерика, религия или 42, а точный и очень даже инженерный ответ.

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

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

Тут я вспомнил своего деда. Мне было лет 6, когда он стоял передо мною и нарочито говорил мне, что надо вам, отрок, учиться, учиться и ещё раз учиться! Иначе ничего хорошего в жизни не достигните и станите никем. Смотрите, дитя, я вот, инженер! А дядя Вова с соседнего подъезда он профессиональный собутыльник. У меня семья, двое детей и четверо внуков, а у дяди Вовы четвертушка. Дядя вова не учился, а я вот, учился. Так что, отрок, вникай.

Да, вот с тех самых пор у меня была идея о том, что инженер – это тот, кто не собутыльник и у кого всё в принципе получается. Хорошая идея. Я решил стать инженером. На самом деле стал. Я даже диплом могу показать. Там так и написано, что я – инженер-программист, первой категории, б_я!

Дай-те ка посмотреть…

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

Ещё хуже всё стало когда я начал общаться с английскими коллегами. Enginier? Engineer. Ещё одна зубрёжка без полного понимания слова.

Я открыл словарь и…

Через три часа нашёл себя в сидящим перед тысячью вкладок браузера, без остановки читая и вникая в описательные тексты. Вокруг взрывались фейерверки, загорались лампочки и светили неоновые вывески «Бинго!» Всё начинало сходиться и обретало новый смысл. Я даже понял почему некоторые из моих статей на Хабре были такими удачными и почему другие слили в унитаз. Какое-там! Я понял почему некоторые другие статьи удачные а вот это, например, слили! Всё обретало новый смысл и светилось! Красота.

Этим определённо надо поделиться. Только рыть надо глубоко. Готовы? Поехали.

Определяемся

Открываем Ожегова и смотрим.

Инженер, -а, мн. –ы, -ов, м. Специалист с высшим техническим образованием.

Вот за что люблю Ожегова, так это за это. Разве так можно мне рассказывать о том, кто я такой? И вообще что это значит? Как это так, тоесть дядя Вася мог тоже получить диплом и стать инженером? Тоесть для этого не надо пытливого ума и всего такого? Не надо жажды знаний и того самого огонька в глазах, который заставляет сидеть до шести утра, зарываясь в мануалы чтобы выяснить, «где же эта с-ка течёт»? Хорошо хоть, он про Сепульки не написал. И на том спасибо. Нет, словарь Ожегова на свалку.

Ну и чего мне жаловаться, у нас же есть Гугл! (Или duckduckgo, Яндекс, или rambler для тех… кто пользуется… Хм…) Давайте пороемся.

Вот, товарищ Ушаков говорит нам что я (тобишь инженер) – это лицо с высшим техническим образованием. Браво. Тут всё понятно. Молодец. Тоесть тут я даже не специалист, а лицо. Другие части тела они даже не важны. Ладно, хватит издеваться над Ушаковым. Он, в отличии от Ожегова, указывает происхождение слова. Говорит мол, вините во всём французов.

Ладно. Мы – люди не гордые. Если нам сказано, что слово оно не русское, то мы пойдём искать его в нерусских материалах. (Хотя есть у меня пара знакомых, которые с удовольствием будут рассказывать вам о том, что всё это теория заговора, и слово на самом-то деле русское. Весёлые ребята. Слушать – просто удовольствие!)

Define: Engineer. Для простоты мы возьмём английский, потому что французского я не знаю, а так как слово всё-равно греческое, то мы особо париться не будем, в этимологии докопаемся.

Так так. В отличии от всех русских словарей, Merriam Webster, например, даёт нам аж 4 разных определения. Dictionary.com даёт нам аж прямо 7 разных определений слова engineer как существительного. Ладно, давайте смотреть:

A person who operates or is in charge of an engine. Понятно, у нас в русском для этого другое слово используется.

Also called locomotive engineer. Railroads. A person who operates or is in charge of a locomotive. Ну да. Машинист. Ладно, фиг с ним.

A skillful manager. Example: A political engineer. Да в русском мы это по-другому называем. Выскочка? Зазнайка. Кулак. Во! Ладно, не важно.

Digital Technology. A person skilled in the design and programming of computer systems: A software engineer; web engineer. Ага. Ну это просто у нас не обновили словари. Инженер разработчик и всё такое. Ладно. Человек который имеет опыт в дизайне и программировании компьютерных систем. Вот. Уже ближе к истине. Выглядит так как я и хотел. Так, погодите, тут ещё два определения есть:

A person trained and skilled in the design, construction and use of engines or machines, or in any of various branches of engineering. Ух ты! Вот это уже по полнее такое определение. Человек который хорошо разбирается и имеет навыки проектирования, создания и использование моторов и машин; или хорошо разбирается в любой из инженерных наук.

A member of an army, navy or air force specially trained in engineering work. Военнослужащий в армии, флоте или воздушных войсках обученный инженерной работе. Ого. В английском языке даже отдельное определение есть для фронтовых инженеров. Давайте это запомним, потому что понадобится попозже. Пока же мы вернёмся к одному слову из предыдущего определения.

Use of engines or machines (и использование моторов и машин). Да, тут я перевёл слово engine как мотор. Но это не очень правильно выходит. Как-то по-дурацки звучит. Давайте посмотрим что это за моторы, которыми инженер должен заниматься?

Смотрим глубже, конечно вот оно определение: Устройство которое конвертирует тепловую энергию в механическую энергию или любую другую мощность для производства движения и силы. Замечательно. Ещё американцы называют пожарную машину engine. И локомотивы тоже engine называют. Конечно есть ещё игровой движок. Смотрим дальше.

Engine: A machine or instrument used in warfare, as a battering ram, catapult or piece of artillery. Военная машина, такая как таран, катапульта или артиллерия. Хм. Опять отдельное определение для военных целей. При чём здесь военное дело? Ладно. Запомним.

Смотрим следующее определение: any mechanical contrivance. Ого. Хм. Contrivance. Кон-трай-ванс. Вот сколько в России не учил английский, этого слова не видел. Был в США долгое время – ни разу об этом не слышал. Но вот пришлось мне как-то код-ревью проходить у британца. Он мне выпалил что это такой отличный контрайвенс. Что? Что такое контрайвенс? Ладно, копаем глубже.

Contrivance. Something contrived; a device, especially a mechanical one. Тобишь что-то что было контрайвд, устройство, особенно механическое. Замечательно. Что такое контрайв?

Твою мать. Интернет подох. Ладно, мы люди не такие простые. Достаём хотспот на телефоне и продолжаем изучать слова.

Contrive — To plan with ingenuity; devise; invent; Спланировать что-то гениально; выдумать; изобрести; Ага. Тобишь мой хотспот можно запросто назвать а contrivance. Хехе. Ок, понятно. Тобишь когда мой дед собрал инкубатор из лампочек и перепёлок выводил для бабушки, это было contrivance. Тобишь моя примочка для кошкиново лотка, которая автоматически его смывает водой после того как кошка ушла на безопасное расстояние – это контравенс. Замечательно. Изобретение! Поняль. Давайте обратно вернёмся.

Возвращаемся к engine: any mechanical contrivance. Ага. Engine – любое механическое изобретение. Тобишь инженер это тот, кто может что-то изобрести. Хаха. Хах. Хм. Так, погодите, тоесть если к тебе приходит злой босс и говорит что ему надо выдумать как обработать запросы на 12000 пользователей, а ты сидиь и выдумываешь как это сделать, то это ты делаешь contrivance. Тоесть изобретение. Тоесть ты – инженер. Ха! Однако. Тоесть мы – изобретатели.

Звучит неплохо. Только вот мой пытливый ум это не признаёт пока. Тут есть загвоздка. Даже две. Первое – что-то не всё ясно с engine. Второе – почему в каждом определении слова есть военный оттенок?

Так. Ах вот оно. Происхождение слова в английском словаре. Намного более подробное чем то, что можно найти в русских словарях. Давайте посмотрим: From Anglo-French, engign. From Latin ingenium “Nature, innate quality, mental power, clever invention. Природой данное, врождённое качество, умственная способность, умное изобретение. Genius. Гений. Ingénue.

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

Значит слово древнее. Что это? Ах да. Вот он – корень gene. (Слово ген происходит от этого же корня). Что это значит? Создавать, привносить. In-gene. Тобишь это что-то что было вложено при создании. Врождённое качество. Умение создавать.

Тоесть, слово появилось в древности, 2500 лет назад. А вот Римляне, озабоченные вояки, добавили к английскому значению слова эти осадные орудия. Посему у нас в английском везде есть военная тематика.

Почему они это сделали? Потому что инженер это тот, кто помогал им выживать. Без всех этих машин в Риме жилось бы неспокойно, ибо повсюду враги и варвары. Этих врагов и варваров можно было рубить шашкой от плеча до мягкого места, но это было не весело, ибо враги хоть и не знали что такое шашка, но на копьё могли насадить ничуть не хуже чем Шварцнеггер в Хищнике. Так вот тут на помощь приходили инженеры. Выдумать и изобрести что нибудь-такое эдакое, что у врагов от одного вида этого погнётся гравицапа и пропадёт желание рубить кого-нить на куски. Рим защищён и процветает. (Конечно, в Рим тоже понаехали всякие и в конце-концов всё порасхитили и дороги побили, но это было позжее, пока бы говорим о том Риме который дороги, акведуки, академии и всё такое хорошее).

Так, стоп. Инженер. Помогает. Делает изобретения чтобы жилось легче. Так погодите! Это же я! Это, кстати и ты, мой дорогой хабраюзер. Мы здесь находимся вот с этой целью – создавать и изобретать чтобы людям помогать. (Пасаны, чесслово, не пытался нифига рифмовать, в этом нет рифмы!)

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

У меня есть пара проектов, которые я запилил лет так 10 назад. Сидел вот и смотрел как сотрудник в офисе пытается заставить старую досовскую программку печатать на USB принтере. После часа смотрения я запилил софтинку, которая прикидывалась сетевым принтером на компьютере и печатала текст через win-api на любые принтеры в системе. Эта програмка до сих пор работает без изменений. Мне кто-то написал со старой работы, что вот мол, нашёл моё имя в исходниках и всё ещё работает. Ну точно, программка была contrivance. Изобретение!

Большие проекты они такие же! Чем полезее они – тем лучше.

Ответь для себя на вопрос: чем помог людям Линус Торвальдс? Как тебе такой ответ – предоставил людям возможность использовать свои компьютеры без дополнительной оплаты благодаря изобретению замечательной, быстрой и открытой операционной системы.

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

А знаешь такого дядю, его зовут Илон Маск. Он сделал ракету, чтобы мы могли на Марс полететь. А ещё он сделал беспроводной интернет по спутнику. И ещё он сделал пейпал. И он ещё сделал кучу всего хорошего. *(Он не только инженер, но в том числе он инженер).

А знаешь Марка Цукенберга? Он помог людям общаться и найти друг друга. Марк – инженер. (Потом Марк перестал быть инженером. И сейчас Марк сидит в чане говна и заныривает туда каждый раз когда над его головой свистит меч правосудия. Что хорошего Марк сделал, пытаясь выжать ещё больше денег из своей аудитории? Да ничего. Он перестал помогать и начал высасывать деньги. Посему и сидит в своём чане.)

Помог кому-либо React? А Node? Помог ли кому-либо Rust или С++? Помогает ли тебе VSCode? Ага. И что бы ты подумал, даже если они не просят за свои работы деньги у конечных клиентов, деньги у них появятся. Потому что они помогают!

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

Как охотились дромеозавриды? Чем их поведение примечательно? Свежая статья от 20-го января на хабре. О чём она? Хрен его знает. О динозаврах из Парка Юрского периода. Кому эти данные помогут? Да, в общем-то никому. На момент написания рейтинг -4, и продолжает тонуть. Не знаю, если статья доживёт до публикации этой статьи.

Демонстративно вертим массивы для новичков. Все уж подумали что будут разбирать что-то полезное в алгоритмах массивов, а выяснилось что статья про B[i, j] = A[i, j]. Я тоже не удержался. Полезная эта статья? Неа. Вот тебе и рейтинг в -13. Получите, распишитесь. Ладно, она из песочницы, так что не будем долго глумиться.

Посмотрим на более полезные вещи:

Большая игра на понижение крипты. Статья – перевод. О чём она? О проблемах рынка биткоина и о том, что с этим делать. Помогает она кому-нить? Ещё как. Видать определённый процент хабрапользвателей держит средства в криптовалютах. Рейтинг на момент написания +105 и продолжает расти.

Наша огромная гордость: мирные советские роботы-комбайны убрали первый урожай в южных регионах – статья про комбайны которые убрали урожай и получили +444 в карму. Крутится в топе лучших за этот год. Изобретение? По полной программе! Contrivance, б_я! Полный контрайванс. Народ ликует. Комбайны-киборги стали популярны! Серьёзно. Ребята нас кормят. Они нам помогают. Спасибо.

Ладно, займёмся самокритикой.

Что в действительности кроет в себе страшная цифра восемь. Это моя самая-самая статья, которую я запилил 9 лет назад. Тогда Восмёрка была только-только альфой и все просто дрожали от ужаса и не знали что делать. Я всех успокоил, рассказал что да как и помог народу разобраться во всём. У меня тогда была альфа версия винды, посему я знал. Получил +291 в карму.

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

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

Пишешь статьи о том, как помогать другим людям лучше, или статьи о том как правильно выучить язык «бла» чтобы писать и помогать другим = карма. Статьи о том, как правильно кормить велоцерапторов = чулан. Просто, а?

Сидишь, выгораешь, голубка моя? Опустил голову и смотришь в лужу? Дни тянутся как резинка и всё вокруг серо и невесело, как будто кто-то тебя пригласил жить в доме обустроенном в заднице гиппопотама? А что ты на самом деле делаешь? Создаёшь андройды-комбайны чтобы прокормить население, запускаешь спутники в интернете или просто рабоаешь администратором в офисе ООО «Однодневки инк.» которые просто существуют чтобы не платить налоги?

А может быть ты просто не пытаешься помочь?

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

Ага. Вот в этом-то и прикол.

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

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

А, может быть, тебе на самом деле стоит поменять место работы, потому что ООО «Мойдодыр» слышало что в каждой приличной компании нужно иметь айтишника, посему они и открыли ИТ отдел в посудомоечной конторе.

А, может быть, тебе это не в жилу и тебе от этого не клёво. Бывает. Посмотри что можно сделать. Консультант. Доктор. Водитель. Я знавал одного чувака который работает в FedEx. Он там проработал 40 лет и продолжает работать. Вся мечта его жизни – перевозить грузы. Это его мечта. Он работает. Пусть так и делает. Если ночные посиделки перед мануалами не для тебя, если тебе не нравится создавать что-то новое, то может быть и инженером тебе не стоило становится? Ну и стань тем, кем хочешь, мы не обидемся. Может быть тебе надо быть музыкантом (кстати, слово происходит от Музы). Или может быть тебе надо быть фотографом? (Граф – писать, фото – свет). Дуй, тебе там будет лучше, и жизнь в луже тянуть не придётся.

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

Обычно статьи написаные всеми этими компаниями на Хабре, они не плохие, но какие-то вялые. Всё как по ниточке, по одному и тому же шаблону: «Как мы патчили КДЕ под Фрибсд».

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

Давай. Пиши, пожалуйста. Мне будет интересно почитать. А то тут временами хвёло становится и мне скучно.

Хорошей пятницы всем, не унывайте.

Пост скриптум. Несмотря на то что я нагло спёр голубя у @0xd34df00d(как собственно говоря и идею с названием поста), я не пытался обратиться к нему лично. Статья написана для аудитории «в общем», просто мне жуть как нравится этот голубь.

ссылка на оригинал статьи https://habr.com/ru/post/538472/

Как изменился Datalore за 2020 год: мощная онлайн-среда для Jupyter-ноутбуков

Привет, Хабр!

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

image

Профессиональный план Datalore

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

Вот сравнительная таблица параметров Datalore Community и Datalore Professional.

Community Professional
Базовый CPU-процессор (4 ГБ RAM, имя AWS: t3.medium) 120 часов ♾️
Мощный CPU-процессор (16 ГБ RAM, 2 ядра vCPUs, на 400% быстрее базового CPU-процессора, имя AWS: r5.large) 120 часов
GPU-процессор (1 NVIDIA T4 GPU, 16 ГБ RAM GPU, 4 ядра vCPU, имя AWS: g4dn.xlarge) 20 часов
Хранилище 10 ГБ 20 ГБ
Цена Бесплатно 19,90$ в месяц

Улучшения в редакторе кода

Анализ кода из PyCharm

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

Совместимость с ядром Jupyter

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

Ядро Jupyter теперь полностью поддерживается вместе с виджетами, графическими библиотеками и shell-командами.

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

Поддержка Kotlin

Kotlin — это язык программирования с открытым исходным кодом, разработанный в JetBrains. Он хорошо подходит для анализа данных и разработки мультиплатформенных приложений. В Datalore мы добавили поддержку Kotlin в ноутбуки IPython. Попробуйте! Просто выберите Kotlin в качестве языка при создании ноутбука.

Поддержка workspace-файлов и S3-бакетов

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

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

Улучшения пользовательского интерфейса

Боковая панель для быстрых действий

Чтобы вы могли быстрее работать с файлами и перемещаться по содержимому ноутбуков, мы добавили вкладку боковой панели внутри редактора. С этой панели есть прямой доступ к прикрепленным файлам, включая файлы ноутбука и workspace-файлы. Кроме того, вы можете использовать оглавление и обозреватель переменных. Окно быстрых команд (Shortcuts) также появится на боковой панели при открытии из меню Help.

Темный режим

В прошлом году мы представили темный режим. Вы можете изменить тему ноутбука в меню View в редакторе, где также можно включить режим Distraction free и опцию разделенного просмотра Split view.

Панель инструментов Markdown

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

Сотрудничество с Anaconda

У JetBrains долгая история сотрудничества с Anaconda, а PyCharm — IDE для Python, рекомендованная в установщике Anaconda. С октября 2020 года и Datalore, и PyCharm представлены в новом Anaconda Navigator! Обновите Anaconda Navigator до последней версии и запускайте Datalore прямо оттуда.

Исследования и уроки:

В прошлом году мы сделали несколько интересных исследовательских и обучающих проектов:

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

Всем здорового и продуктивного года!

Команда Datalore

ссылка на оригинал статьи https://habr.com/ru/company/JetBrains/blog/538422/

Будущее, которое мы потеряли

Если бы сбылись предсказания футурологов и фантастов «космической эры», вроде Кларка или Азимова, мы бы жили в совсем другом мире. Базы на Луне и колонии на Марсе, к которым мы летим на ракетах с фотонными двигателями, антропоморфные роботы-помощники, подземные города, освоенная Арктика и вечная весна — вот будущее, что мы «потеряли». Но потеряли ли? Могло ли вообще сбыться это «будущее»? 

«Космической эрой» 20-го века я называю 50-е и 60-е — время, когда человек стремился в космос и надеялся на научно-технический прогресс. Это время «великих предсказаний»: мир работает во благо людей, новые технологии направлены на то, чтобы упростить нашу жизнь, мы освоили космос, а люди стали добрее и наступило всеобщее благоденствие. Отсылки на эту эпоху постоянно появляются в поп-культуре, например, в Футураме, а ракета Starship Илона маска выглядит будто срисованная с фантастических фильмов 50-х. 

Но этим предсказаниям не суждено было сбыться. Дело в том, что предсказаний в это время и не было. Были фантазии о будущем — мечты об усовершенствованном настоящем. Попробую это доказать. 

Примечание. Включите саундтрек для атмосферы и поехали.

Наивное будущее начала 20-го века

В начале 20-го века газета The New York Times опубликовала предсказание журналиста, оккультиста и кавалера ордена Почётного Легиона Анри Антуана Жюль-Буа. В 2009 году Анри видел, что на летающих велосипедах (мускулолётах) и летающих автомобилях люди добираются с работы в пригороды, потому что в городах больше никто не живет, а только работает.

А в 1900 году в журнале Ladies’ Home Journal Джон Элфрет Уоткинс-младший рассказал, что в 21 веке комаров и мух больше не останется: все страны осушат болота, застойные бассейны и химически обработают все водоемы.

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

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

Что объединяет все эти предсказания? В них нет ничего, что не знали бы люди того времени:

  • Есть железные дороги.

  • В 1899 году началось производство первых дирижаблей-Цеппелинов для полётов.

  • Прототипы самолётов вовсю тестируют. Например, 6 мая 1896 на «Аэродроме Лэнгли номер 5» впервые успешно испытан аппарат тяжелее воздуха с двигателем. А в 1900 братья Райт начинают свои эксперименты с планерами.

  • Подводная лодка известна еще с 18 века, когда в 1776 году французский изобретатель Бушнелл сделал подводную лодку «Черепаха». Она даже поучаствовала в боевых действиях в войне за независимость США.

Предсказатели просто взяли всё, о чем знали, перемешали и додумали. Получилось усовершенствованное настоящее. Это заметно хотя бы потому, что на картинах мода за век не поменялась.

Индустриализация и гигантизм

Начало 20-го века — время индустриализации, которая сменила традиционное аграрное общество. Новое ядро общества — промышленность, которая влияла на экономику, культуру и политику. Жизнь обывателя 19 и 20 веков отличается кардинально.

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

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

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

Специализация. Например, заводы в Англии производили детали для станков в США, а Германия заняла рынок красителей. Здесь неизбежно возникновение жёсткой специализации и разделения труда уже в мировом масштабе. Целые страны становились «цехами» в мировом разделении производства.

Мечты о будущем — усиление настоящего.

Мечты индустриального времени — «гигантские». Например, о небоскрёбах на сотни этажей и широких шоссе между улицами. Так изобразил будущее Нью-Йорка в 1910 году художник Ричард Раммел. 

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

Обратите внимание на странную конструкцию из колеса и башни. Это танк, а рядом с ним дома. Так представляли себе войну. Это неудивительно — прототипы танков уже существовали, а уже в 1915 году их начали серийно производить британцы. Модель называлась Mk I и их выпустили 48 штук. Правда, в первом же сражении в Первой Мировой 32 из них не доехали до цели. Странно, ведь их производил не Land Rover.

На примере танков хорошо прослеживается гигантомания времени — после Mk I машины всё росли и росли. Но подвижность и функциональность ухудшалась, пока Луи Рено не додумался отказаться от тяжелого корпуса и сделать упор на подвижности. Так появился серийный танк Рено FT-17  — лёгкий, манёвренный и быстрый.

FT-17 слева, Mk I — справа.
FT-17 слева, Mk I — справа.

Космическая эра

50-е и 60-е — золотая эра футуризма. Резкий рост популярности научной фантастики при содействии Азимова, Бредбери или Стругацких, подстегнул изучение научно-технического прогресса. Именно поэтому большинство предсказаний связаны с освоением космоса и колонизацией других планет. Притом они появились до того, как вообще первый человек попала в космос. Люди начали мечтать масштабно о:

  • термоядерных реакторах;

  • подводной агрономии на шельфах северных морей;

  • переводе всего транспорта на аккумуляторы;

  • генетической модификации живых организмов;

  • полётах в космос и на другие планеты.

Человек 50-х и 60-х чувствует, что живет будущим.

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

Пластик стал настолько популярен, что футурологи предсказывали, как люди будут есть из пластиковой посуды, сидеть на пластиковых диванах и жить в пластиковых домах. В 1957 году химический концерн Monsanto даже открыл «Дом будущего Monsanto» (в Диснейленде) — дом полностью из пластика: стены, облицовка, мебель, посуда.

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

Футуризм 50-х и 60-х в США хорошо описывает серия работ Артура Радебо (с 1958 по 1962 год). Футуристичные автомобили, которые перекрашиваются электромагнитной пушкой, почтальоны с реактивными ранцами, модифицированные растения на автоматизированных сельхозугодьях — узнаваемый стиль времени, яркие цвета, улыбающиеся люди. Но на картинках мы сразу видим прокачанные 50-е и 60-е.

Дух времени — покорение: космоса, Арктики, морей, природы.

Что советские, что американские фантасты — они мечтали практически об одном и том же. Например, в диафильме «В 2017 году» в СССР построили плотину через Берингов пролив, пустили Енисей и Обь в Каспийское море, создали подлёдные города. Тепло собирают из глубин Земли, а каналы строят атомными взрывами.

Особая сокровищница несбывшихся предсказаний — журнал «Техника молодежи». Представления советских футурологов — это совершенно иной мир со своим колоритом. Подземные города, лифты ко дну моря, импульсные пушки, невидимое магнитное поле, выводящее из строя танки, и самолёты с атомным двигателем.

«Полярный шар» для жизни в Арктике, аэросани, гибрид корабля и подводной лодки для передвижения и электролёт — аппарат, летающий за счет электромагнитных волн.

Люди мечтали масштабно.

На Западе прогнозисты предсказывали, что через несколько десятков лет мы построим базы на Луне и посетим Марс. Мы сможем посещать другие планеты, как туристы, например, с помощью космического лайнера на 50 000 тонн, вместимостью 10 000 пассажиров, что предсказывал инженер Дэндридж М.Коул. А математик и учёный Д. Г. Бреннан описывал, что к 2018 году мы откроем антигравитацию и сможем летать.

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

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

Работа будет привилегией и благом. Как следствие, без дела будут сидеть 90% населения, но будут получать хорошие пособия и не голодать. Но те, кто будут работать, будут работать недолго — пенсия сдвинется к 50 годам.

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

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

Люди мечтали об усовершенствованном настоящем: больше космических достижений, больше компьютеров, больше науки. Невозможно представить жизнь без автомобиля? Вот вам супершоссе от Дисней: направления обозначены цветами, дорога нагревается и испаряет воду (после дождя или снега), а в пустынях — охлаждается.

Экстраполяция хорошо заметна на примере Айзека Азимова. В 1964 году писатель опубликовал эссе в The New York Times, где описал 2014 год. Колонизация полюсов, подводные гостиницы, подземные дома, автоматизированные бытовые приборы, много компьютеров, 3D-фильмы, автономная техника на батареях и парящие над землей машины. Половина электроэнергии будет вырабатываться на АЭС, а в космосе солнечные батареи будут передавать энергию Солнца на Землю.

Может Азимов взял это всё из головы и предсказал, например, IoT или умные колонки? Нет, это всё он увидел на Всемирной выставке в Нью-Йорке в 1964 году. Все эти чудеса именно там и демонстрировались: футуристичные автомобили, поля с культурами с автоматическим орошением, порт в шельфе Арктики, подводные дома. Азимов даже не стал ничего придумывать — просто описал, что увидел.

Чудеса Всемирной выставки: футуристические автомобили, города будущего, подводные, арктические и космические колонии.
Чудеса Всемирной выставки: футуристические автомобили, города будущего, подводные, арктические и космические колонии.

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

Почему будущее так и не случилось?

Потому что люди представляли не будущее, а усовершенствованное настоящее.

  • Вокруг фабрики и заводы на которы ломят спины люди? Хотим автоматическое производство или роботов.

  • Вокруг космическая гонка? Хотим летать на Марс на работу, а отдыхать на даче на Луне, самолеты с атомным двигателем и покорение арктики.

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

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

  • В фильме «Назад в будущее» мы видим аналог видеозвонков в скайп или зум. Но этот же аналог мы видим в работах начала 20-го века у французов.

  • Первый мобильны телефон создала Моторола в … году. Но это устройство они увидели в сериале Стартрек.

  • В «Чужом» космонавты — это усталые дальнобойщики, которым помогают андроиды. Но о полётах уже давно мечтали фантасты и использовались на производствах.

  • В «Пятом элементе» та же полиция, но в странной броне, машины, но летают, и генетические эксперименты, правда на недосягаемом уровне.

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

В предсказаниях прошлого о будущем нет будущего — только аллюзия настоящего.

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

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

Например, человек заснул в 1720, а проснулся в 1820ж В целом, он бы не заметил большую разницу: Люди также живут в деревнях, работают в полях, пашут животной силой, особо не следят за временем: ещё светло — работай. В обществе всё ещё жесткое разделение между крестьянами и аристократами (элитой), которая живет в городах, а из транспорта — гужевые повозки, связь между городами медленная.

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

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

Примечание автора. Рассказав о том, что предсказания прошлого лишь фантазии, я не ставил целью кого-то принизить. Я сам был бы рад, если бы предсказания о великих достижениях сбылись. Больше всего мне грустно, что не наступило будущее космической эры 50-х и 60-х. У меня в руках коробочка, которая в 1000 раз мощнее компьютеров, что запустили людей на Луну. И что я с ней делаю? Запускаю эмодзи с ракетами в чатиках. Поэтому мне грустно, когда ночью я смотрю на звёзды. У нас есть всё технологии, чтобы создать будущее, как его представляли в космическую эру и создать эпоху больших достижений. У нас есть всё, но нет желания. Почему? Я не знаю.

Заходите к нам Телеграм-чат, чтобы покритиковать статью и автора. Подписывайтесь на канал Dodo Engineering: там мы постим анонсы статей, подкасты и делимся тем, что нам интересно.

ссылка на оригинал статьи https://habr.com/ru/company/dododev/blog/538552/