Русский
Русский
English
Статистика
Реклама

Блог компании vdsina.ru

Свой криптографический протокол опасная идея

01.06.2021 12:20:22 | Автор: admin

Разработка своей криптографии в чём-то сравнима с созданием собственного авиадвигателя, говорит эксперт по безопасности Руна Сандвик. Фото: Виталий Кузьмин

Предположим, заказчик требует разработать собственный сетевой протокол. Например, для передачи данных между сервером и мобильным приложением, для связи между микросервисами, модулями программной системы, поверх UDP или поверх TCP. С шифрованием.

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

Это распространённые причины, из-за которых разрабатывают проприетарные протоколы.

Безопасность


Поговорим о безопасности.

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

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

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

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

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

Но жизнь иногда показывает обратное. А именно:

  1. Принцип безопасность через неясность не работает. Любой протокол можно отреверсить.
  2. Проприетарная реализация шифрования это очень рискованно.
  3. Никто не поможет закрыть критические дыры в закрытом софте.

Принцип безопасность через неясность не работает в криптографии


Принцип безопасность через неясность (security through obscurity) заключается в том, чтобы скрыть внутреннее устройство системы или реализацию для обеспечения безопасности.

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

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

В итоге получается, что собственный проприетарный протокол, максимально закрытый от посторонних глаз и обфусцированный, вовсе не увеличивает безопасность системы, а уменьшает её!


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

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

Собственная криптография


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

Поэтому в сообществе информационной безопасности вызывает большое подозрение, если какая-то компания реализует собственный проприетарный протокол. Например, проприетарный протокол MTProto в Telegram поначалу вызвал массу критических отзывов. Взлом MTProto1.0 стал одной из самых популярных статей на Хабре в 2013 году: Безопасен ли Telegram? Или как я искал закладку в MTProto (спойлер: глупые ошибки в проприетарной криптографии).

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

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

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

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

Конечно, в опенсорсе есть свои специфические риски. Например, проблемы с сотнями зависимостей, которые вы не контролируете. Например, 20% багов в проектах на GitHub явно внесены в проекты специально, со злым умыслом. То есть вредоносными контрибуторами, которые действовали умышленно. Ещё не забыта история c мейнтейнером ESLint, который 12 июля 2018 года опубликовал вредоносные версии пакетов eslint-scope и eslint-config-eslint в репозитории npm.

Такое может случиться с каждым опенсорсным проектом, потому что мейнтейнеры работают бесплатно, на износ:


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

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

Кстати, в 2013 году проприетарный софт впервые обогнал опенсорсные проекты по среднему количеству багов на 1000 строк кода.


Источник: Coverity Scan Open Source Report

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

Возвращаясь к примеру Telegram. 5 декабря 2020 года двое итальянских математиков Марино Микулан и Никола Витоколонна опубликовали на сайте препринтов arXiv.org исследование Автоматическая символическая проверка протокола MTProto 2.0 в Telegram (вторая версия опубликована 30 апреля 2021 года, arXiv:2012.03141v1). Оно подтверждает безопасность обновлённой версии фирменного протокола MTProto 2.0.


Набор протоколов MTProto 2.0 (в голубой рамке) и область покрытия данной научной работы (светло-зелёным цветом). Схема из научной статьи Марино Микулана и Никола Витоколонны, arXiv:2012.03141v1

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


Протокол аутентификации MTProto 2.0. Здесь $\{m\}_{pk}$ означает асимметричное шифрование $m$ открытым ключом $pk$. В свою очередь, $\{m\}_{(k,iv)}$ означает симметричное шифрование общим ключом $k$ с вектором инициализации $iv$. Схема из научной статьи


Слегка упрощённая версия протокола MTProto 2.0 для секретных чатов. Все сообщения перенаправляются через сервер $S$: каждое сообщение между $X \in \{A, B \}$ и $S$ шифруется с использованием ключа авторизации $X$ (здесь не показан). Обратите внимание, что $g_{ab}$, $k$ и $iv$ не известны серверу $S$. Схема из научной статьи



Эта математическая работа чуть ослабила озабоченность экспертов по поводу проприетарного протокола MTProto2.0. Редкий случай, когда собственная нестандартная криптографическая система (пока) работает надёжно. В ней ещё не нашли таких фатальных уязвимостей, как в MTProto 1.0.

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



На правах рекламы


Наша компания предлагает серверы с Linux или Windows. Не экономим на железе только современное оборудование и одни из лучших дата-центров в России и ЕС. Поспешите проверить!

Присоединяйтесь к нашему чату в Telegram.

Подробнее..

Перевод Находим опасные браузерные расширения по фальшивым отзывам

05.06.2021 16:05:21 | Автор: admin
Фальшивые положительные отзывы заполонили все уголки современного цифрового мира, они вводят в заблуждение потребителей, предоставляя нежелательное преимущество мошенникам и посредственным продуктам. К счастью, обнаружение и отслеживание аккаунтов, создающих подобные фальшивые отзывы, часто является простейшим способом выявления мошенничества. В этой статье мы расскажем о том, как ложные отзывы о поддельном браузерном расширении Microsoft Authenticator позволили выявить десятки других расширений, вытягивающих у пользователей личные и финансовые данные.


Комментарии под фальшивым браузерным расширением Microsoft Authenticator показывают, что отзывы на эти приложения или положительны, или сильно отрицательны, и это, по сути, даёт понять, что оно мошенническое.

Услышав от нашего читателя о поддельном расширении Microsoft Authenticator, появившемся в Google Chrome Store, мы начали исследовать создавший его аккаунт. До удаления расширения под ним было пять отзывов: три пользователя Google поставили ему одну звезду, предупреждая людей, что им не нужно пользоваться, но два комментатора поставили ему три и четыре звезды.

Отличное расширение!, с восторгом пишет Google-аккаунт Theresa Duncan. Проблем с ним почти не было

Очень удобное и приятное, невразумительно оценивает расширение Anna Jones.

Google Chrome Store сообщил, что адрес электронной почты, связанный с аккаунтом, опубликовавшим поддельное расширение Microsoft, также выпустил ещё одно расширение под названием iArtbook Digital Painting. Прежде чем его удалили из Chrome Store, у расширения iArtbook появилось 22 пользователя и три отзыва. Как и в случае с поддельным расширением Microsoft, все три отзыва были положительными, и все были созданы аккаунтами с именем и фамилией наподобие Megan Vance, Olivia Knox, и Alison Graham.

В Google Chrome Store не так просто выполнять поиск по оставившим отзывы. Для этого я воспользовался сервисом chrome-stats.com разработчика Хао Нгуена. Сервис индексирует массив атрибутов, связанных с расширениями Google, позволяя выполнять по ним поиск.

Изучая Google-аккаунты, оставившие положительные отзывы об уже заблокированных расширениях Microsoft Authenticator и iArtbook, мы обратили внимание, что каждый из них оставил отзывы ещё на несколько расширений, которые тоже были удалены.


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

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

Эти отзывы, в свою очередь, привели к достаточно простому выявлению:

  • 39 комментаторов, которые были довольны расширениями, являющимися подделками крупных брендов или запрашивающими финансовые данные
  • 45 зловредных расширений, суммарно имеющих почти 100 тысяч скачиваний
  • 25 аккаунтов разработчиков, связанных с несколькими забаненными приложениями.

Расширения имитировали многие потребительские бренды, в том числе Adobe, Amazon, Facebook, HBO, Microsoft, Roku и Verizon. После изучения каждого из этих расширений мы, в свою очередь, выявили, что многие из их разработчиков были связаны с несколькими приложениями, продвигаемыми через те же фальшивые Google-аккаунты.

У некоторых из поддельных расширений было всего с десяток скачиваний, но у большинства они исчислялись сотнями или тысячами. Фальшивое расширение Microsoft Teams примерно за два месяца присутствия в Google store получило 16200 скачиваний. Поддельная версия пакета для профессионального монтажа видео CapCut за почти такой же срок получила около 24000 скачиваний.


Больше 16 тысяч людей скачало фальшивое браузерное расширение Microsoft Teams за те два месяца, пока оно находилось в Google Chrome store.

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

В некоторых случаях фальшивые аккаунты и разработчики поддельных расширений в этой схеме имеют одинаковые имена, например, в случае brook ice Google-акаунта, положительно оценившего зловредные расширения Adobe и Microsoft Teams. Адрес электронной почты brookice100@gmail.com был использовал для регистрации аккаунта разработчика, создавшего ещё два поддельных расширения, изученных в нашем обзоре (PhotoMath и Dollify).


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

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

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

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

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

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

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

По данным chrome-stats.com, большинство расширений (более чем 100 тысяч), по сути, заброшено своими авторами или не обновлялось более двух лет. Другими словами, есть много разработчиков, которые готовы продать своё творение вместе с базой пользователей.

Информацию из данного отчёта можно найти в этой электронной таблице Google.



На правах рекламы


VDSina предлагает безопасные VDS с посуточной оплатой, возможностью установить любую операционную систему, каждый сервер подключён к интернет-каналу в 500 Мегабит и бесплатно защищён от DDoS-атак!

Присоединяйтесь к нашему чату в Telegram.

Подробнее..

Перевод Протекающие абстракции и код, оставшийся со времён Windows 98

09.06.2021 14:20:05 | Автор: admin

В конце 1990-х команды разработчиков Windows Shell и Internet Explorer внедрили множество потрясающих и сложных структур, позволяющих использовать расширение оболочки и браузера для обработки сценариев, создаваемых третьими сторонами. Например, Internet Explorer поддерживал концепцию подключаемых протоколов ("Что если какой-то протокол, допустим, FTPS станет таким же важным, как и HTTP?"), а Windows Shell обеспечивала чрезвычайно гибкое множество абстрактного использования пространств имён, что позволяло третьим сторонам создавать просматриваемые папки, в основе которых не лежит файловая система от WebDAV ("ваш HTTP-сервер это папка") до папок CAB ("ваш архив CAB это папка"). Работая в 2004 году проект-менеджером в команде по созданию клипарта, я создал приложение .NET для просмотра клипарта прямо из веб-сервисов Office, и набросал черновик расширения Windows Shell, благодаря которому бы казалось, что огромный веб-архив клипарта Microsoft был установлен в локальной папке системы пользователя.

Вероятно, самым популярным (или печально известным) примером расширения пространства имён оболочки является расширение Compressed Folders, обрабатывающее просмотр файлов ZIP. Compressed Folders, впервые появившиеся в составе Windows 98 Plus Pack, а позже и в Windows Me+, позволяли миллиардам пользователей Windows взаимодействовать с файлами ZIP без скачивания стороннего ПО. Вероятно, это может вас удивить, но эта функция была куплена у третьих лиц Microsoft приобрела интеграцию для Explorer, представлявшую собой побочный проект Дэйва Пламмера, а лежащий в её основе движок DynaZIP разработала компания InnerMedia.

К сожалению, этот код уже давно не обновляли. Очень давно. Судя по временной метке модуля, последний раз он обновлялся на День святого Валентина в 1998 году; я подозреваю, что с тех пор в него вносили незначительные изменения (и одну функцию поддержку имён файлов в Unicode, работающую только для извлечения), но всё равно не секрет, что, как сказал Реймонд Чен, этот код "остался на стыке веков". Это значит, что он не поддерживает такие современные функции, как шифрование AES, а его производительность (время выполнения и степень сжатия) сильно отстают от современных реализаций, созданных третьими сторонами.

Тогда почему же его не обновляли? Отчасти в этом виноват принцип "не сломано не чини": реализация ZIP Folders выживала в Windows в течение 23 лет, и при этом вопли пользователей не становились невыносимыми, то есть их вполне всё устраивало.

К сожалению, есть вырожденные случаи, в которых поддержка ZIP оказывается по-настоящему поломанной. С одной из них я столкнулся на днях. Я увидел интересный пост в Twitter о шестнадцатеричных редакторах с возможностью аннотаций (что полезно при исследовании форматов файлов) и решил попробовать некоторые из них (я решил, что больше всего мне нравится ReHex). Но в процессе этого исследования я скачал portable-версию ImHex и попробовал переместить её в папку Tools на своём компьютере.

Я дважды щёлкнул по файлу ZIP размером 11,5 МБ, чтобы открыть его. Затем я нажал CTRL+A, чтобы выбрать все файлы, а затем (это важно) нажал CTRL+X, чтобы вырезать файлы с буфера обмена.


Затем я создал новую папку внутри C:\Tools и нажал CTRL+V, чтобы вставить файлы. И тут всё пошло наперекосяк Windows больше минуты отображала окно "Calculating", но кроме создания одной подпапки с одним файлом на 5 КБ больше ничего не происходило:


Чего? Я знал, что движок ZIP, который используется в ZIP Folders, не был оптимизирован, но раньше я никогда не видел ничего настолько плохого. Спустя ещё несколько минут распаковался ещё один файл на 6,5 МБ:


Безумие какое-то. Я открыл Диспетчер задач, но никакие процессы не занимали мой 12-поточный процессор, 64 ГБ памяти и NVMe SSD. Наконец, я открыл SysInternals Process Monitor, чтобы разобраться, в чём дело, и вскоре увидел первоисточник происходящего.

После нескольких мелких операций считывания из конца файла (где у файла ZIP хранится индекс), весь файл размером 11 миллионов байт считывался с диска по одному байту за раз:


Присмотревшись повнимательнее, я понял, что почти все операции считывали по одному байту, но время от времени после считывания определённого байта выполнялось считывание 15 байт:


Что же находится в этих любопытных смещениях (330, 337)? Байт 0x50, то есть буква P.


В прошлом мне доводилось писать тривиальный код для восстановления ZIP, поэтому я знал, в чём особенность символа P в файлах ZIP это первый байт маркеров блоков формата ZIP, каждый из которых начинается с 0x50 0x4B. По сути, код считывает файл от начала до конца в поисках конкретного блока размером 16 байт. Каждый раз, когда он встречает P, то просматривает следующие 15 байт, чтобы проверить, соответствуют ли они нужной сигнатуре, и если нет, то продолжает побайтовое сканирование в поисках новой P.

Есть ли что-то особенное в этом конкретном файле ZIP? Да.

Формат ZIP состоит из последовательности записей файлов, за которой идёт список этих записей файлов (Central Directory).

Каждая запись файла имеет собственный локальный заголовок файла, содержащий информацию о файле, в том числе размер, размер в сжатом виде и CRC-32; те же данные повторяются в Central Directory.

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

Мы видим, что в заголовке CRC и размеры равны 0, и что они появляются сразу после сигнатуры 0x08074b50 (дескриптора данных (Data Descriptor)), непосредственно перед локальным заголовком следующего файла:


Бит 0x08 во флаге General Purpose обозначает эту опцию; пользователи 7-Zip могут увидеть её как Descriptor в столбце записи Characteristics:


Исходя из размера операции считывания (1+15 байт), я предполагаю, что код подстраивается под блоки Data Descriptor. Почему он это делает (вместо того, чтобы просто считать те же данные из Central Directory), я не знаю.

Хуже того этот черепаший процесс побайтового считывания всего файла происходит не только один раз он повторяется по крайней мере по одному разу для каждого извлекаемого файла. Усугубляет ситуацию то, что эти данные считываются при помощи ReadFile, а не fread().

В конечном итоге, после 85 миллионов однобайтных считываний монитор процессов зависает:


Перезапустив его и сконфигурировав Process Monitor с Symbols, мы можем исследовать эти однобайтные операции считывания и получить представление о том, что же происходит:


Функцию GetSomeBytes перенагружают вызовы, передающие однобайтный буфер в коротком цикле внутри функции readzipfile. Но если посмотреть ниже по стеку, то становится очевидной первопричина этого хаоса это происходит потому, что после перемещения каждого файла из ZIP в папку файл ZIP должен обновиться для удаления перемещённого файла. Этот процесс удаления по сути своей не быстр (поскольку он приводит к изменению всех последующих байтов и обновлению индекса), а его реализация в функции readzipfile (с этим однобайтным буфером чтения) и вовсе чудовищно медленна.

Если вернуться назад, то стоит заметить, что я нажал CTRL+X, чтобы вырезать файлы, что привело к операции перемещения. Если бы вместо этого я нажал CTRL+C для копирования файлов, то ZIP не выполнял бы операцию удаления при извлечении каждого файла. Время, необходимое для распаковки файла ZIP снизилось бы с получаса до четырёх секунд. Для сравнения: 7-Zip распаковывает файл меньше чем за четверть секунды, хоть и немного жульничает.

И вот здесь и происходит протечка абстракции с точки зрения пользователя, копирование файлов из ZIP (с последующим удалением ZIP) и перемещение файлов из ZIP не кажутся сильно различающимися операциями. К сожалению, абстракция даёт сбой на самом деле, удаление из некоторых файлов ZIP оказывается чрезвычайно медленной операцией, а удаление файла с диска обычно происходит тривиально. Поэтому абстракция Compressed Folder хорошо работает с мелкими файлами ZIP, но даёт сбой с крупными файлами ZIP, которых в наше время становится всё больше.

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



На правах рекламы


Если для работы необходим сервер на Windows, то вам однозначно к нам. Создавайте собственную конфигурацию в пару кликов, автоматическая установка винды на тарифах с 2 vCPU, 4 ГБ RAM, 20 ГБ NVMe или выше.

Присоединяйтесь к нашему чату в Telegram.

Подробнее..

Перевод Каждый браузер видит цвета видео по-разному

01.06.2021 10:11:39 | Автор: admin

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

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

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

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

Сегодня двумя самыми популярными цветовыми пространствами являются BT.601 (также называемое smpte170m; в статье я буду использовать оба этих названия), которое стало стандартом для SD-контента, и BT.709, которое стало стандартом HD-контента. Существует также BT.2020, которое становится популярнее благодаря HDR- и UHD-контенту. Стоит заметить, что разделение на HD/SD здесь немного ошибочно. Технические ограничения отсутствуют, это просто традиционный подход. HD-контент можно кодировать в BT.601, а SD-контент в BT.709. Если взять видеофайл с разрешением 1080p и уменьшить его до 480p, то цветовое пространство не изменится автоматически. Смена цветового пространства это дополнительный этап, который выполняется как часть процесса.

Что же происходит, если процесс выполняется неправильно? Давайте проведём эксперимент.

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

Для начала я создам с помощью ffmpeg простой тестовый файл:

ffmpeg -f rawvideo -s 320x240 -pix_fmt yuv420p -t 1 -i /dev/zero -an -vcodec libx264 -profile:v baseline -crf 18 -preset:v placebo -color_range pc -y 601.mp4

Краткое объяснение этой команды:

ffmpeg исполняемый файл

-f rawvideo сообщает программе ffmpeg, что я передаю ей сырые пиксельные данные, а не видеофайл.

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

-pix_fmt yuv420p указываем формат пикселей входящих данных. Yuv420p это способ описания пикселей. Здесь важно отметить, что значение yuv(0,0,0) представляет собой оттенок зелёного. Я использую этот формат в противовес RGB, поскольку он является самым популярным форматом, используемым в цифровом видео.

-t 1 ограничиваем входящие данные 1 секундой

-i /dev/zero это файл входящих данных. /dev/zero это виртуальный файл, существующий на всех компьютерах mac. Это бесконечно длинный файл, состоящий из одних нулей.

-an обозначает, что выходные данные не должны содержать звука.

-vcodec libx264 используем для сжатия видео потрясающую библиотеку libx264.

-profile:v baseline используем базовый профиль h.264. Он отключает некоторые расширенные возможности h.264, но в этом тесте они нам не понадобятся.

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

-color_range pc один компьютерный байт может иметь значения от 0 до 255. При оцифровке аналогового видео используется интервал 16-235. Он был выбран из-за того, как телевизор интерпретирует очень тёмные и очень яркие сигналы. Так как мы используем цифровой источник, я выбрал значение pc, а не tv.

-crf 18 опция постоянного коэффициента потока (constant rate factor) сообщает libx264, что нужно создать высококачественный видеофайл и использовать любое количество бит, необходимое для обеспечения качества 18. Чем меньше число, тем выше качество. 18 это очень высокое качество.

-y даёт ffmpeg разрешение на перезапись файла, если он существует.

601.mp4 имя получившегося файла.

Эта команда создаёт файл 601.mp4 длительностью 1 секунду, который можно открывать и воспроизводить. После выполнения этой команды мы можем проверить, что ffmpeg не исказил значения пикселей, выполнив следующую команду и изучив выходные данные:

ffmpeg -i 601.mp4 -f rawvideo - | xxd

00000000: 0000 0000 0000 0000 0000 0000 0000 0000
00000010: 0000 0000 0000 0000 0000 0000 0000 0000
00000020: 0000 0000 0000 0000 0000 0000 0000 0000
00000030: 0000 0000 0000 0000 0000 0000 0000 0000
00000040: 0000 0000 0000 0000 0000 0000 0000 0000
00000050: 0000 0000 0000 0000 0000 0000 0000 0000
...
...

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

При рендеринге видео в Safari мы получаем такой скриншот:


Возникает вопрос: что это за цветовое пространство? Я назвал файл 601.mp4, но нигде в команде я не указывал цветового пространства, так как же Safari узнал, какой оттенок зелёного нужно рендерить? Откуда браузер знает, что yuv(0,0,0) должно быть равно rgb(0,135,0)? Очевидно, что существует алгоритм для вычисления этих значений. На самом деле, это простое матричное умножение. (Примечание: в некоторых форматах пикселей, в том числе и в yuv420p, для преобразования требуется этап пре- и постпроцессинга, но в этой демонстрации мы опустим такие тонкости). Для каждого цветового пространства имеется собственная матрица. Так как мы не задавали матрицу цветового пространства при кодировании видео, Safari просто делает предположение. Мы можем перебрать все матрицы, умножить все значения RGB на обратные матрицы и посмотреть, чему же они соответствуют, но давайте попробуем использовать более визуальный подход и посмотреть, удастся ли нам разобраться, что делает Safari.

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

ffmpeg -f rawvideo -s 320x240 -pix_fmt yuv420p -t 1 -i /dev/zero -an -vcodec libx264 -profile:v baseline -crf 18 -preset:v placebo -colorspace smpte170m -color_primaries smpte170m -color_trc smpte170m -color_range pc -y 601vui.mp4

Команда ffmpeg осталась практически такой же, но я добавил следующее:

-color_trc smpte170m

-colorspace smpte170m

-color_primaries smpte170m


Это метаданные цветового пространства, в который будет кодироваться файл. Я не буду объяснять различия между этими опциями, потому что для этого понадобится ещё одна статья. Пока мы просто задаём всем им нужное нам цветовое пространство. smpte170m это то же самое, что и BT.601.

Указание цветового пространства не влияет на способ кодирования файла, значения пикселей по-прежнему кодируются как yuv(0,0,0). Чтобы убедиться в этом, мы можем выполнить для нового файла команду ffmpeg -i zero.mp4 -f rawvideo - | xxd. Флаги цветового пространства не игнорируются, однако просто записываются в несколько битов внутри раздела video usability information (VUI) в заголовке видеопотока. Теперь декодер будет искать VUI и использовать его для загрузки нужной матрицы.

А вот результат:


И с VUI, и без него видео рендерятся с одинаковым цветом. Давайте попробуем файл BT.709:

ffmpeg -i 601vui.mp4 -an -vcodec libx264 -profile:v baseline -crf 18 -preset:v placebo -vf "colorspace=range=pc:all=bt709" -y 709.mp4

Новые опции:

-i 601vui.mp4 используем в качестве источника видео прежний файл 601vui.mp4

-vf "colorspace=all=BT.709" сообщаем ffmpeg, что нужно использовать видеофильтр цветового пространства для изменения значений пикселей. Это похоже на умножение матрицы для преобразования из yuv в rgb, но матрица имеет другие коэффициенты. all это сокращение для одновременного задания color_primaries, colorspace и color_trc.

Здесь мы берём видео 601vui.mp4 и используем фильтр цветового пространства для преобразования в BT.709. Фильтр цветового пространства может считать из vui файла 601vui.mp4 цветовое пространство входящих данных, поэтому нам достаточно только указать цветовое пространство, которое мы хотим получить на выходе.

Выполнив для этого файла команду ffmpeg -i 709.mp4 -f rawvideo - | xxd, мы получаем после преобразования цветового пространства значения пикселей yuv(93,67,68). Однако при рендеринге файла он должен выглядеть так же. Стоит заметить, что окончательные результаты могут и не быть идентичными, потому что мы продолжаем использовать 24 бита для кодирования каждого пикселя, а BT.709 имеет чуть больший диапазон цветов. Следовательно, некоторые цвета в BT.709 не сопоставляются точно с BT.601, и наоборот.

Посмотрев на результат, можно чётко заметить, что что-то не так. Новый файл рендерится со значениями rgb, равными 0,157,0 гораздо ярче, чем входящий файл.

image

Давайте внимательно изучим свойства файла при помощи приложения ffprobe:

ffprobe 601vui.mp4:
Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuvj420p(pc, smpte170m), 320x240, 9 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)

И

ffprobe 709.mp4:
Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuvj420p(pc), 320x240, 5 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)

Основная часть информации здесь для нас неважна, но мы заметим, что 601vui.mp4 имеет формат пикселей yuvj420p(pc, smpte170m). Так мы понимаем, что файл имеет правильный VUI. Но 709.mp4 содержит только yuvj420p(pc). Похоже, метаданные цветового пространства не были включены в выходной файл. Даже несмотря на то, что фильтр цветового пространства смог прочитать исходное цветовое пространство, и мы явным образом указали новое пространство, программа ffmpeg не записала правильный vui в конечный файл.

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

Обойти её можно, добавив метаданные цветового пространства вручную:

ffmpeg -i 601vui.mp4 -an -vcodec libx264 -profile:v baseline -crf 18 -preset:v placebo -vf "colorspace=range=pc:all=bt709" -colorspace bt709 -color_primaries bt709 -color_trc bt709 -color_range pc -y 709vui.mp4

В результате значение цвета в 709vui.mp4 будет равно rgb(0,132,0). Яркость зелёного канала чуть меньше, чем в 601vui.mp4, но поскольку преобразование цветового пространства происходит с потерями, а результат меня устраивает, то назовём это успехом.

Из этого мы можем прийти к заключению, что когда в файле не указано цветовое пространство, Safari считает, что это BT.601. И со стороны Safari это очень хорошее допущение. Но как сказано выше, BT.601 это стандарт SD-видео, а BT.709 стандарт для HD. Давайте проверим HD-видео с VUI и без него, и посмотрим, как их рендерит Safari. Я использовал те же команды ffmpeg, только изменил разрешение на 1920x1080.

image

И в SD, и в HD цвет рендерится одинаково. Делая предположение о цветовом пространстве, Safari не учитывает разрешение. Apple уже давно работает в пространстве медиа и издательского дела, поэтому я ожидал, что продукт этой компании обеспечит достойные результаты. Но если даже в Safari всё устроено настолько хитро, то интересно, как обстоит ситуация в других браузерах.

Chrome:


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

По опыту я знаю, что когда в настройках отключено аппаратное ускорение, Chrome выполняет рендеринг иначе:


Изучив этот результат, мы увидим, что значения в 601 рендерятся очень похожими на предыдущие, но файлы 709 рендерятся так, как будто в них нет VUI. Из этого мы можем заключить, что Chrome при отключенном аппаратном ускорении просто игнорирует VUI и рендерит все файлы, как будто они имеют формат 601. Это означает, что все файлы 709 будут воспроизводиться некорректно.

И наконец, давайте изучим Firefox:


Здесь нужно разобрать многое. Так как 709.mp4 и 709vui.mp4 выглядят одинаково, можно прийти к заключению, что при отсутствии VUI браузер Firefox предполагает формат BT.709. Правильный рендеринг 601vui.mp4 означает, что для контента BT.601 раздел VUI учитывается. Однако когда файл BT.601 без VUI рендерится как 709, то становится очень тёмным. Очевидно, что невозможно отрендерить картинку правильно без всей необходимой информации, однако выбранный Firefox способ искажает цвет сильнее, чем выбранные браузерами Safari и Chrome.

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

Microsoft Edge:


Похоже, что Edge (по крайней мере, на моём компьютере) просто игнорирует VUI и рендерит всё как 601.

Chrome (со включенным аппаратным ускорением):


Ситуация не очень отличается от Mac. При наличии VUI он обрабатывается правильно, но если его нет, для SD-контента предполагается формат BT.601, а для HD-контента BT.709. Это единственный браузер, в котором я такое видел, но в этом есть определённая логика. Так как рендеринг выполняется иначе, чем на Mac, то подозреваю, что дело в ОС или, что более вероятно, в чём-то на уровне драйверов видеокарты, и этот выбор сделан не командой разработчиков Chrome.

Firefox ведёт себя так же, как и на Mac.


Что касается Linux, iOS, Android, Roku, Fire TV, смарт-телевизоров, игровых консолей и т.д., то я оставлю это в качестве упражнения для читателя.

Чему же мы научились? Самое главное: всегда указывайте в своих видео метаданные цветового пространства. Если вы пользуетесь ffmpeg и не задаёте флаги цвета, то вы работаете неправильно. Во-вторых, хотя ffmpeg и является потрясающей программой, её популярность, простота использования и неудачно выбранные стандартные параметры сослужили плохую службу. Никогда не стоит допускать, что ПО достаточно умно, чтобы разобраться в этом самостоятельно. Руководителям проектов Ffmpeg, Google, Mozilla, Microsoft (и, вероятно, Nvidia и AMD) нужно собраться и вместе выбрать единый способ. Я понимаю, что здесь нет хорошего решения, но плохое и предсказуемое лучше, чем плохое и случайное. Лично я рекомендую всегда предполагать формат BT.601, если раздел VUI отсутствует. Это создаёт наименьшую степень искажений. Можно выбрать для согласования этого стандарта FOMS, или даже AOM, поскольку эти организации имеют довольно неплохое представительство.

И напоследок: если у вас есть видео без информации о цвете и вам нужно его преобразовать или отрендерить, то удачи!



На правах рекламы


VDSina предлагает недорогие серверы с посуточной оплатой. Интернет-канал для каждого сервера 500 Мегабит, защита от DDoS-атак включена в тариф, возможность установить Windows, Linux или вообще ОС со своего образа, а ещё очень удобная панель управления серверами собственной разработки. Давно пора попробовать ;)

Присоединяйтесь к нашему чату в Telegram.

Подробнее..

Почему люди так плохо прогнозируют будущее

21.06.2021 10:15:25 | Автор: admin

Взгляд на наше космическое будущее из 1970-х годов

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

В те времена в ЮАР царила политика апартеида. Так вот, примерно 65% африканцев и 80% потомков индейцев предсказали социальные и политические изменения, равносильные концу апартеида. С другой стороны, только 4% белых граждан высказали такое мнение. Откуда различие? Всё просто.

Кого устраивает существующее положение вещей тот не верит в будущие изменения, хотя эти изменения очевидны для остальных. Результаты опубликованы в научной статье Идеология и утопия в Южной Африке. Методологический вклад в социологию знания", British Journal of Sociology, 14, 5976 (1963).

Проблема футурологии нереалистичный оптимизм.

Оптимизм и реальность плохо совместимы


Психологические исследования действительно подтверждают, что чем более желанным является будущее событие, тем более вероятным люди его считают: есть явная корреляция между ожидаемыми и желаемыми событиями, см. работу Прогнозирование изменений окружающей среды: снова исполнение желаний, European Journal of Social Psychology, Volume 5, Issue 3, 315-322.

На президентских выборах в США в период с 1952 по 1980 годы около 80% сторонников каждого из кандидатов ожидали, что их любимый кандидат победит в соотношении примерно четыре к одному (Когда пророчество не сбывается. Связь предпочтений и ожиданий на президентских выборах в США, 19521960 гг., Journal of Personality and Social Psychology, 45(3), 477491). Мы снова видим тот же эффект.

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

И наоборот, чем больше страх результата, тем реже его предвидят. В ноябре 2007 года экономисты, участвующие в опросе профессиональных прогнозистов Федеральной резервной системы Филадельфии, предсказывали лишь 20-процентную вероятность отрицательного роста (так называется спад в экономической терминологии) экономики США в 2008 году, несмотря на видимые сигналы надвигающейся рецессии.


Фьючерсы на сырьё всегда выше реальных цен. Источник: Факты и фантазии о товарных фьючерсах десять лет спустя, 25 мая 2015 года, doi: 2139/ssrn.2610772

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

В прогнозировании будущего этот феномен называется нереалистичный оптимизм. В научной литературе его впервые описал Нил Вайнштейн из Ратгерского университета в работе 1980 года (Journal of Personality and Social Psychology, 1980, Vol. 39, No. 5, 806820).

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


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

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

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

Люди не хотят верить негативным прогнозам даже когда сталкиваются с объективной информацией (Предвзятость оптимизма, Тали Шарот, TED2012, рус. яз.).

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

Для примера:

Будущее, в которое хочется верить


  1. Бессмертие человека
  2. Цифровое копирование мозга, добавление и удаление воспоминаний, знаний, навыков
  3. Излечение болезней на молекулярном уровне
  4. Колонизация Марса, затем Солнечной системы и ближайших систем
  5. Демократическое мировое правительство

Будущее, в которое не хочется верить


  1. Экологический кризис
  2. Ядерная война
  3. Самоликвидация человечества
  4. Частные армии у корпораций и отдельных политиков
  5. Взаимная ненависть социальных групп и народов
  6. Деградация цивилизации до уровня Средневековья
  7. Дальнейшее уменьшение объёма головного мозга сапиенсов
  8. Невозможность выживания человеческих колоний за пределами Земли, только роботизированные миссии

Исходя из объективной реальности, научных данных и экстраполяции текущего курса человечества вторая группа прогнозов кажется более реальной (например, заметное уменьшение объёма головного мозга у сапиенсов началось около 2510тыс. лет назад, после перехода на сельское хозяйство, и продолжается сейчас; поэтому логично предположить продолжение тенденции это пункт7). Но оптимист отгоняет от себя мрачные мысли и старается больше думать о первой группе прогнозов. Серьёзные специалисты не будут слишком распространять идеи из второй группы их сочтут неприятными пессимистами и перестанут приглашать на лекции.

Твёрдые убеждения вторая проблема


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

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

Исследования показывают интересный феномен. Чем дальше от нас событие по времени, например, смерть, тем более вероятен чрезмерный оптимизм (см. статью Источники предвзятости при прогнозировании будущих событий, Майкл Милберн, doi: 10.1016/0030-5073(78)90035-1). Более того, на предсказания в наибольшей степени влияет то, имеет ли данное событие жизненно важное личное значение для предсказателя.

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

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

Автор книги Суперпрогнозирование. Искусство и наука предсказания событий Филипп Тетлок из Пенсильванского университета изучил долгосрочные прогнозы 284 политических экспертов в 19842004 годы и зафиксировал точность их прогнозов.

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

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



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



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


Источник: Future of Internet, 2005 год

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

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

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

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


Декодирование принятых решений до и после их осознания. Источник: Бессознательные детерминанты свободных решений в человеческом мозге, June 2008, Nature Neuroscience 11(5):543-5, doi: 10.1038/nn.2112

Что же получается


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

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

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

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

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

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





На правах рекламы


VDSina предлагает облачные серверы с посуточной оплатой. Интернет-канал для каждого сервера 500 Мегабит, защита от DDoS-атак включена в тариф, возможность установить Windows, Linux или вообще ОС со своего образа, а ещё очень удобная панель управления серверами собственной разработки.

Подписывайтесь на наш чат в Telegram.

Подробнее..

Внедрение DDR5 будет молниеносным к 2026 году новая память займет 90 рынка

16.06.2021 12:16:05 | Автор: admin
Согласно последнему отчету Yole Developments, внедрение новой памяти DDR5 будет происходить, по меркам сегмента, практически молниеносно. Аналитики компании считают, что уже к 2023 году сумма поставки модулей памяти нового поколения превысят $200 млрд, а к 2026 году новая память займет 90% мирового компьютерного и серверного рынка, вытеснив актуальный сейчас стандарт DDR4.



Такой взрывной рост DDR5 связывают с несколькими аспектами.

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

Второе доминирующее положение DDR5 относительно DDR4. Согласно спецификациям, которые были разработаны ассоциацией твердотельных технологий JEDEC, стартовая частота новой памяти составляет 4800 Mhz сейчас это верхнее значение для DDR4. В перспективе нормальной рабочей частотой модуля на широком старте технологии DDR5 будет 5500-6500 Mhz, вплоть до 8400 Mhz в стоке.

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

Спецификации JEDEC были опубликованы чуть менее, чем год назад 14 июля 2020 года. Согласно тогдашнему анонсу JEDEC, спецификация DDR5, по сравнению с DDR4, поддерживает вдвое больший реальный канал, вплоть до 6,4 Гбит/c у DDR5 против имеющихся 3,2 Гбит/c у DDR4.

Одним из лидеров данного направления является корейская компания SK Hynix один из старейших и крупнейших производителей чипов оперативной памяти в мире. Еще в конце 2020 года корейцы представили первые тестовые модули памяти публике и уже тогда характеристики впечатляли. Тогда новая память показала скорость передачи данных в 4,8-5,6 Гбит/c на контакт. Это 1,8 раза больше, чем базовые показатели памяти предыдущего поколения DDR4. Вся эта скорость сопровождается снижением базового напряжения на планке памяти с 1,2 V до 1,1 V.

В новой памяти все так же будет 288 пинов, то есть в это плане DDR5 является преемником стандарта DDR4, но сама распиновка по модулю будет другой.



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

Но только серверным сегментом все не ограничится. Скорее всего, массовый старт DDR5 произойдет в рамках одного года как в бизнес, так и в потребительском сегменте. Еще при выходе последних пользовательских процессоров Ryzen 5ххх, представители AMD заявляли, что следующая линейка процессоров Ryzen 6xxx под кодовым названием Rembrandt на 6 нм архитектуре Zen 3 Refresh выйдет с поддержкой памяти DDR5. В крайнем случае, это произойдет чуть позже, после выхода архитектуры Zen 4.

Учитывая то, что как минимум в России процессоры Ryzen последний год стабильно доминируют в топах продаж (первые 4 из 5 строчек на Яндекс.Маркете по популярности почти всегда заняты процессорами AMD), можно ожидать и массового перехода пользователей как на Ryzen 6xxx, так и на новую память.



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

Intel тоже не собирается сдавать позиции. Ранее планировалось, что процессоры синих с поддержкой DDR5 появятся на рынке в 2021 году вместе с семейством Tiger Lake-H, однако релиз был перенесен на год: первые камни, способные работать с DDR5, будут выпущены на архитектуре Alder Lake в 2022 году.

Важны и объемы новых модулей. Минимальный размер планки нового стандарта 16 Gb, что должно удовлетворить спрос на все больший и больший объем памяти не только в серверном, но и пользовательском сегменте. Сейчас именно 16 Gb является приемлемым минимумом для домашних станций или мощных ноутбуков. Максимальный объем планки памяти DDR5 согласно спецификации JEDEC, будет составлять 256 Gb.

Апгрейд серверной инфраструктуры процесс не самый быстрый. Однако на фоне роста потребности в мощностях дата-центров и развития облачных технологий, прогноз аналитиков Yole Developments может оказаться правдивым. Считается, что рынок ЦОДов сейчас находится на пике своего развития. Главная тройка игроков этого рынка в лице Amazon, Google и Microsoft активно вкладывает деньги в развитие своих облачных технологий, не отстают от них и частные дата-центры, которые предоставляют бизнесу услуги хостинга.

В 2021 году наметился и новый тренд дата-центры от компании Nvidia для осуществления облачных вычислений. Согласно плану Nvidia, их центры обработки данных будут включать графические процессоры, блоки обработки данных (DPU) и процессоры, причем каждая линейка продуктов будет получать обновленную архитектуру каждые два года. На рынке наблюдается рост популярности новых процессоров и уход от старых лошадок Intel к новому оборудованию, в том числе и появление доли рынка у новых AMD EPYC. Всему этому хозяйству потребуется новая быстрая память.

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



На правах рекламы


Наша компания предлагает серверы в аренду с современными процессорами от Intel и AMD под самые разнообразные задачи. Максимальная конфигурация 128 ядер CPU, 512 ГБ RAM, 4000 ГБ NVMe. Создайте свой собственный тариф самостоятельно в пару кликов!

Подписывайтесь на наш чат в Telegram.

Подробнее..

Appwrite, open-source бэкэнд-платформа

10.06.2021 10:07:14 | Автор: admin


В последние пару лет намечается тенденция на упрощение работы с бэкэндом, появляется всё больше low- и no-code обёрток для тех, кто хочет сэкономить на стоимости разработки. Экосистемы AWS и GCP задают стандарты в этой области, и все новые проекты стараются копировать их фичи. Проблема в том, что многие молодые проекты предлагают свою панельку с доступом к базе, cloud functions и базовой аналитикой, а потом продают её на сервисной основе. Идея так себе, потому что имея функционал, такой же как у гигантов, они, не имея такого же кредита доверия, пытаются сразу заработать на клиентах. Гораздо больше шансов на успех у тех, кто ведёт полную разработку в open-source, поощряет self-hosting и не пытается сходу монетизировать свой проект, взимая деньги только за использование в облаке. Пример такого подхода Appwrite, и благодаря ему они всего за два года обзавелись большим комьюнити и поддержкой, не успев полностью выпустить продукт и не начав зарабатывать на нём.

Функционал




Appwrite интегрируется с мобильными и веб-клиентами (всякий JS, Flutter, Swift, Objective-C, Kotlin) и предоставляет нужную среду для бэкэнд-задач (Node, .NET, Python, PHP, Ruby, Deno, ограниченно на Go и Java). Разбираем основной функционал:

Авторизация


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

  • Amazon
  • Apple
  • BitBucket
  • Bitly
  • Box.com
  • Discord
  • Dropbox
  • Facebook
  • GitHub
  • GitLab
  • Google
  • LinkedIn
  • Microsoft
  • PayPal
  • Salesforce
  • Slack
  • Spotify
  • Tradeshift
  • Twitch
  • VK
  • Yahoo
  • Yandex
  • WordPress


Аккаунт


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

База данных


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

Хранилище


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

  var appwrite = new window.Appwrite();  appwrite    .setEndpoint('https://localhost/v1')    .setProject('[PROJECT-ID]')  ;  var file = document.getElementById('file-input').files[0];  let read = ['*']; // wildcard read access  let write = ['user:self']; // write access only to me  appwrite.storage.createFile(file, read, write)    .then(function (response) {      console.log('file uploaded successfully');    }, function (error) {      console.log(error);    });


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

Вебхуки


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



Список событий очень большой, покрываются разделы account, database, functions, storage, users и teams.

Задачи и функции


Серверные функции, запускающиеся по расписанию или по определённым хукам. Задачи поддерживают кастомные заголовки HTTP и авторизацию для разных сценариев. Функции исполняют кастомный код в разных окружениях (Node, .NET, Python, PHP, Ruby, Deno), с нужными ограничениями по правам и доступом к указанным переменным окружения. Очень гибкая штука.

Установка


Она тут предельно простая, путь от голой VPS до работающей платформы займёт минуту.
Appwrite работает в контейнерах и может быть использован любой системой оркестрации, мы же рассмотрим самую базовую установку.

Если нет докера, ставим его:

  sudo apt-get update  sudo apt-get install \    apt-transport-https \    ca-certificates \    curl \    gnupg \    lsb-release  curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg  echo \    "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \    $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null  sudo apt-get update  sudo apt-get install docker-ce docker-ce-cli containerd.io


Затем качаем и запускаем установку:

  docker run -it --rm \    --volume /var/run/docker.sock:/var/run/docker.sock \    --volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \    --entrypoint="install" \    appwrite/appwrite:0.8.0


Проходим установочный скрипт (если хочется просто пощупать, достаточно указать везде дефолтные значения) и переходим в панельку (она будет жить на тех портах, которые мы укажем при установке, по дефолту localhost:80 / :443).

Заключение


Appwrite не похожа на другие Backend-as-a-Service проекты, стремящиеся к быстрой монетизации. Здесь разработчики сначала фокусируются на задачах, реализации и тестировании фич, и ещё даже не подошли к сервисной модели (которая, тем не менее, планируется). Проект опенсорсный и поддержка self-hosting заявлена вечная, так что сейчас Appwrite выглядит отличным решением, которое можно как минимум потестить на пет-проекте.

Ссылки:




На правах рекламы


Наши эпичные серверы вы можете использовать для любых задач разработки, размещения сайтов, использования под VPN и даже получить удалённую машину на Windows! Идей может быть много и любую из них поможем воплотить в реальность!

Присоединяйтесь к нашему чату в Telegram.

Подробнее..

Перевод Прошло тридцать лет, а QBasic по-прежнему лучший

03.06.2021 14:23:54 | Автор: admin

Моему старшему сыну Ноа три месяца назад исполнилось семь лет. Если бы он мог обменять всю свою семью на два часа игры в Minecraft, то сделал бы это без раздумий. Ещё одна любовь всей его жизни это Super Mario Maker. У меня бегали мурашки, когда я видел, как он играет в уровни, которые я проходил в его возрасте. Примерно пять месяцев назад я покинул свою семью ради ежегодного паломничества на ludum dare: соревнование разработчиков игр, во время которого мы запираемся в квартире с друзьями, возвращаемся в состояние пещерного человека, не спим 48 часов и создаём с нуля готовую игру. Когда я гордо демонстрировал свою революционную игру уровня AAA своей жене, Ноа, разумеется, заинтересовался. Поэтому я познакомил его с миром кода, показал, как из простых слов (он только что научился читать) можно создать настоящую игру. С того самого дня Ноа постоянно просил меня научить делать собственные видеоигры. И в течение следующих пяти месяцев я искал Святой Грааль языка/IDE для детей в надежде превратить эту искру интереса в запоминающийся опыт

Мои поиски приводили меня на бесконечные форумы, благодаря которым я попробовал бесчисленное множество рекомендуемых языков и платформ: SmallBasic, Pico-8, Smalltalk, Scratch и т.д. Я даже задавал вопросы великим оракулам StackOverflow, но тщетно. Спустя пять месяцев я пришёл к разочаровывающему выводу: ничто и близко не сравнимо с тем, что было у меня в мои годы. 30 лет спустя QBasic по-прежнему остаётся лучшим языком для новичков в программировании.

Боже, пожалуйста, не учи его пользоваться GOTO!

10 PRINT "О НЕТ, ЧТО ЖЕ Т ДЕЛАЕШЬ?!20 GOTO 10

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

Сегодня я установил QBasic на 11-дюймовый HP Stream сына, установку пришлось выполнять вручную через DOSBox. Он дважды нажал на значок рабочего стола и спустя долю секунды мы уже увидели IDE, приветствовавшей нас вводным экраном, который вызвал у меня кучу воспоминаний:


Потом я сказал Ноа, что существует священный ритуал, обязательный для всех, входящих в тайный круг программистов: начинать обучение с программы, приветствующей всех программистов мира. Пока я диктовал формулу, он медленно искал каждую клавишу, аккуратно печатая пальцем правой руки волшебные слова: PRINT "hello world"

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


Мы изучили ещё пару команд: CLS, COLOR, PLAY, INPUT и IF. Ничего не нужно было объяснять: никакой сложности, никаких неуклюжих операторов, никаких абстрактных концепций, никакой документации, которую необходимо изучать, никаких концепций объектов/классов/методов, не требовалась установка никаких фреймворков, нет кучи меню и кнопок в IDE, никаких специальных ключевых слов или скобок. Это был код во всей его чистейшей простоте и форме.

Спустя менее часа он написал собственную программу интерактивное и невероятно изощрённое приложение, сообщающее о том, что думает о вас компьютер:


которое Ноа с искренней гордостью запустил для своего двоюродного брата и лучшего друга Кристиана:


после чего он легко объяснил, как оно работает и что делает код!


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


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

Единственное, о чём я сейчас сожалению, так это о том, что за тридцать с лишним лет мы не смогли придумать для детей чего-то лучшего: Qbasic имеет ограниченное множество простых ключевых слов (вся справка умещается на одном экране, вызываемом по F1, и дополнена простыми примерами!), не отвлекает кодера визуальными артефактами, обладает очень компактной и уютной средой разработки, сразу же указывает на ошибки, компилирует и исполняет код за доли секунды нажатием одной клавиши, и к тому же чрезвычайно прост. Мы создали более надёжные и сложные языки/фреймворки/IDE (которые, разумеется, необходимы для любого практичного приложения), но никогда не придумывали более простого способа получить прямой доступ к удовольствию от программирования, чем QBasic. Даже запуск QBasic сегодня стал пугающей задачей для новичков, работающих на современной машине Mac/PC/Linux, хотя раньше для этого достаточно было просто вставить 3,5-дюймовую дискету в дисковод A:\

Но, впрочем, хватит проповедей, сегодня ведь нужно праздновать знакомство ещё одного человека с радостями и красотой программирования!

Ура!



На правах рекламы


Наша компания предлагает современные серверы в аренду для любых проектов. Создайте собсвенный тарифный план в пару кликов, максимальная конфигурация бьёт рекорды 128 ядер CPU, 512 ГБ RAM, 4000 ГБ NVMe!

Присоединяйтесь к нашему чату в Telegram.

Подробнее..

Перевод Культура разработки ПО слишком позитивна, это может нам вредить

14.06.2021 12:13:27 | Автор: admin
image

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

Выгорание


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

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

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

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


Новые блестящие игрушки


Ещё один аспект, в отношении которого негатив воспринимается в штыки это отношение к новым трендам, создаваемым компаниями уровня FAANG. Попробуйте сказать что-нибудь против SOA или Docker. Попробуйте предложить более взрослый и зрелый язык или SSR. Это аналогично ситуации со страстью к работе. Люди мгновенно заявят, что ты плохой разработчик, потому что ты препятствуешь прогрессу.

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

Эта недавняя статья показывает реальность многих организаций: I Almost Got Fired for Choosing React in Our Enterprise App

Best Practices


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

Какие из этих универсальных best practices на самом деле не универсальны? DRY (Dont Repeat Yourself) часто упоминается в одном предложении с KISS (Keep It Simple Stupid), хотя часто они являются взаимоисключающими практиками. Simple означает отсутствие необязательных абстракций, однако если начинать сразу с DRY-кода, то он и ведёт к преждевременным абстракциям.

Лично я пользуюсь правилом 3X:

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



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

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

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

Подведём итог


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

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

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

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

Я хочу пробовать что-то другое, и это совершенно нормально.



На правах рекламы


Наша компания предлагает аренду VPS для совершенно любых проектов. Создайте собственный тарифный план в пару кликов, максимальная конфигурация позволит разместить практически любой проект 128 ядер CPU, 512 ГБ RAM, 4000 ГБ NVMe!

Подписывайтесь на наш чат в Telegram.

Подробнее..

Перевод Как культура жителей города влияет на дизайн карт метро Нью-Йорк

13.06.2021 14:11:44 | Автор: admin
Что бы вы порекомендовали тому, кто впервые приезжает в Нью-Йорк? Посетить Центральный парк? Посмотреть шоу на Бродвее? Увидеть Статую Свободы?

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

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

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


Самая новая карта Нью-Йоркского метрополитена

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


Карта метрополитена Стамбула


Карта метрополитена Афин


Карта лондонского метрополитена

Менялась ли карта одной из старейших транспортных систем мира?


Задавшись этим вопросом, я отправилась по линии F в Музей транспорта Нью-Йорка. В нём представлено множество карт метрополитена, начиная от самой первой, спроектированной в 1904 году, до самой последней, выпущенной в 2020 году. Как изменились эти карты за последние 116 лет?


Слева направо: IRT 1904 года, BMT 1924 года, IND 1939 года

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


Карта Нью-Йоркского метрополитена, Массимо Виньелли, 1972 год

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

Почему эта карта не нравилась нью-йоркцам?


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

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

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

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

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

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

Как культура влияет на ощущение от продукта?


Ощущения и дизайн равно важны для продукта. Он может быть спроектирован приятным глазу образом. Но удовлетворяет ли этот продукт потребностям людей и даёт ли нужное решение?

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

Какие основные факторы влияют на карту?


  1. Город Нью-Йорк обладает мультикультурной структурой:

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

Также карта отражает связь, которую пассажиры имеют со своими сообществами. Эти сообщества представлены на карте косвенным образом. Это ощущение принадлежности отражено на карте Херца посредством названий районов: Бронкс, Чайна-таун, Мотт-Хейвен. Все они позволяют пассажирам не только понять то, куда они едут, но и увидеть на карте важную часть своей жизни.

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

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


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

2. Город имеет структуру сетки улиц:

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

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


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


New York Times, 2012: Туристы испытывали сложности с сопоставлением своих маршрутов с обозначениями на карте. В эпоху до Google Maps её художественное оформление делало поездки в чреве города более пугающими.

На карте Виньелли казалось, что Колумбус-Серкл на 59-й улице всего в паре кварталов от Центрального парка. На первый взгляд, линии 1, 2 и 3 представляли отдельные станции, однако это не так. Станция всех трёх линий расположена под входом в Центральный парк. Поезда линий 1, 2 и 3 останавливаются на той же станции, что и остальные. Это создавало разрыв между картой метро и реальным миром.

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

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

Как повысить удобство продукта для пользователей?


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

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

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

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

В октябре 2020 года MTA выпустил новый дизайн карты, объединяющий в себе лучшие стороны карт Виньелли и Херца. Цветовая схема и черты диаграммы были взяты из карты Виньелли, а интеграция с ориентирами и географической картой из карты Херца.

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

Источники


Tylor, E. B. (1889). Primitive culture: Researches into the development of mythology, philosophy, religion, language, art and custom. New York: H. Holt.

Norman, D. A. (2004). Emotional design: Why we love (or hate) everyday things. New York: Basic Books.

Norman, D. A. (2013). The design of everyday things. MIT Press.

Kottak, Conrad Phillip. (2013). Cultural anthropology: appreciating human diversity. New York: McGraw-Hill.

Moalosi, R., Popovic, V. & Hickling-Hudson, A. Culture-orientated product design. Int J Technol Des Educ 20, 175190 (2010). https://doi.org/10.1007/s10798-008-9069-1

Tejada, Soledad O., The Public and the Personal: Mapping the NYC Subway System as an Urban Memoryscape (2020). Library Map Prize. 7. https://elischolar.library.yale.edu/library_map_prize/7

https://www.nngroup.com/articles/ten-usability-heuristics/

https://www.nytimes.com/interactive/2019/12/02/nyregion/nyc-subway-map.html

https://www.oreilly.com/content/redesigning-the-new-york-city/

http://www.culturelookingsideways.com/subway-civility-intro



На правах рекламы


Наша компания предлагает VDS в аренду с Windows или Linux. Не экономим на железе только современное оборудование и одни из лучших дата-центров в России и ЕС.

Подписывайтесь на наш чат в Telegram.

Подробнее..

Перевод Ошибку Rockstar может совершить каждый (и я тоже)

12.06.2021 16:15:59 | Автор: admin

Несколько месяцев назад в новостях всплыла потрясающая статья [переводы на Хабре: один и второй] о Grand Theft Auto Online.

Советую прочитать статью целиком, но если вкратце, GTA Online имела внезапно квадратичную производительность при парсинге большого JSON-блоба (из-за многократных вызовов strlen); после устранения этой ошибки время загрузки уменьшилось почти на 70%.

Это вызвало оживлённые дискуссии: в этом виноват C? Или, возможно, "web shit"? Или капитализм и его стимулы?

Однако все были солидарны в одном: они бы ни за что не написали подобной глупости.

(Вы уже чувствуете, что надвигается?)


Одним из моих побочных проектов является высокопроизводительная программа для просмотра 3D-моделей под названием Erizo.


Благодаря продуманному коду она открывает 97-мегабайтный двоичный файл STL на Macbook Pro 2013 года всего за 165 миллисекунд. Это потрясающая скорость.

Из соображений совместимости я написал небольшой парсер и для ASCII STL.

ASCII STL это формат обычного текста с плохой спецификацией, который выглядит вот так:

solid cube_corner          facet normal 0.0 -1.0 0.0            outer loop              vertex 0.0 0.0 0.0              vertex 1.0 0.0 0.0              vertex 0.0 0.0 1.0            endloop          endfacet          facet normal 0.0 0.0 -1.0            outer loop              vertex 0.0 0.0 0.0              vertex 0.0 1.0 0.0              vertex 1.0 0.0 0.0            endloop          endfacet          ...endsolid

Я написал чрезвычайно надёжный парсер, добавив в комментарий такое описание:

/*  Самый либеральный парсер ASCII STL: игнорирует всё, кроме *  слова 'vertex', а затем одно за другим считывает три значения float. */

Загрузка ASCII STL всегда казалась немного медленной, но я предполагал, что причина этого в неэффективном текстовом формате.

(Тучи сгущаются.)



За несколько дней произошло несколько событий:


Вот логи загрузки 1,5-мегабайтного ASCII STL метками времени (в секундах):

[erizo] (0.000000) main.c:10      | Startup![erizo] (0.162895) window.c:91    | Created window[erizo] (0.162900) window.c:95    | Made context current[erizo] (0.168715) window.c:103   | Initialized GLEW[erizo] (0.178329) window.c:91    | Created window[erizo] (0.178333) window.c:95    | Made context current[erizo] (1.818734) loader.c:109   | Parsed ASCII STL[erizo] (1.819471) loader.c:227   | Workers have deduplicated vertices[erizo] (1.819480) loader.c:237   | Got 5146 vertices (7982 triangles)[erizo] (1.819530) loader.c:240   | Waiting for buffer...[erizo] (1.819624) loader.c:326   | Allocated buffer[erizo] (1.819691) loader.c:253   | Sent buffers to worker threads[erizo] (1.819883) loader.c:258   | Joined worker threads[erizo] (1.819887) loader.c:279   | Loader thread done[erizo] (1.821291) instance.c:32  | Showed window

С момента запуска до отображения окна прошло больше 1,8 секунды!

Посмотрев на парсер ASCII свежим взглядом, я увидел, что причина очевидна:

    /*  The most liberal ASCII STL parser:  Ignore everything except     *  the word 'vertex', then read three floats after each one. */    const char VERTEX_STR[] = "vertex ";    while (1) {        data = strstr(data, VERTEX_STR);        if (!data) {            break;        }        /* Skip to the first character after 'vertex' */        data += strlen(VERTEX_STR);        for (unsigned i=0; i < 3; ++i) {            SKIP_WHILE(isspace);            float f;            const int r = sscanf(data, "%f", &f);            ABORT_IF(r == 0 || r == EOF, "Failed to parse float");            if (buf_size == buf_count) {                buf_size *= 2;                buffer = (float*)realloc(buffer, buf_size * sizeof(float));            }            buffer[buf_count++] = f;            SKIP_WHILE(!isspace);        }    }

Можно заметить, что в коде есть sscanf, считывающая одно значение float из начала потока данных и каждый раз проверяющая длину всей строки.

Да, я совершил ту же ошибку, что и программисты, работавшие над GTA Online: написал внезапно квадратичный парсер!

Замена вызова sscanf на вызов strtof снизила время загрузки почти в 10 раз: с 1,8 секунды до 199 миллисекунд.

[erizo] (0.000000) main.c:10      | Startup![erizo] (0.178082) window.c:91    | Created window[erizo] (0.178086) window.c:95    | Made context current[erizo] (0.184226) window.c:103   | Initialized GLEW[erizo] (0.194469) window.c:91    | Created window[erizo] (0.194472) window.c:95    | Made context current[erizo] (0.196126) loader.c:109   | Parsed ASCII STL[erizo] (0.196866) loader.c:227   | Workers have deduplicated vertices[erizo] (0.196871) loader.c:237   | Got 5146 vertices (7982 triangles)[erizo] (0.196921) loader.c:240   | Waiting for buffer...[erizo] (0.197013) loader.c:326   | Allocated buffer[erizo] (0.197082) loader.c:253   | Sent buffers to worker threads[erizo] (0.197303) loader.c:258   | Joined worker threads[erizo] (0.197306) loader.c:279   | Loader thread done[erizo] (0.199328) instance.c:32  | Showed window



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

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

(Очевидно, мораль истории такова: не используйте sscanf для многократного парсинга одиночных токенов из начала строки; уверен, у вас всё будет нормально, если вы просто избежите этого.)



На правах рекламы


VDSina предлагает мощные и недорогие VPS с посуточной оплатой. Интернет-канал для каждого сервера 500 Мегабит, защита от DDoS-атак включена в тариф, возможность установить Windows, Linux или вообще ОС со своего образа, а ещё очень удобная панель управления серверами собственной разработки. Обязательно попробуйте!

Подробнее..

Body farm что выращивают судмедэксперты

05.06.2021 14:06:41 | Автор: admin

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

Внимание! Некоторые фото могут быть шокирующими!

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


Усадьбы мертвых душ


Семь таких учреждений раскиданы по всей территории Соединенных Штатов, от субтропической среды во Флориде (USF-FORT) до Северного Мичигана. Исследовательский центр, которым управляет Техасский государственный университет на ранчо Фримена (Фримэн-Рэнч), является крупнейшим с площадью территории в 26 акров. Географический разброс бодифармов по всей Америке имеет положительный эффект прежде всего тем, что окружающая среда в штатах разная. Например, окружающая среда на юго-востоке Техаса сильно отличается от окружающей среды на востоке Теннесси. Средняя годовая температура Восточного Теннесси составляет 67 F (19 C). Средняя годовая температура в Хантсвилле, штат Техас, составляет 75 F (23 C). Температура, наряду со многими другими факторами (скорость ветра, высота от уровня моря, кислотность грунта, дренаж почвы) влияет на процесс разложения, и поэтому разница в температуре приведет к различным результатам разложения.

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

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

Первая подобная ферма запущена в Ноксвилле, штат Теннесси, в конце 1981 года судебным антропологом доктором Уильямом М. Бассом для изучения разложения человеческих останков. Доктор Басс стал главой факультета антропологии университета Теннесси в 1971 году, и как официальный государственный судебный антрополог с ним часто консультировались в полицейских делах, связанных с разложившимися человеческими останками. Поскольку не существовало установок, которые специально изучали бы разложение, в 1972 году он открыл первую ферму тела в отделении.
Ферма состоит из лесного участка площадью 2,5 акра (10 000 квадратных метров), окруженного забором из колючей проволоки. Там всегда найдутся саженцы помещённые в различные условия по всему объекту и оставленные для разложения, например, запертые в багажнике автомобиля или погружённые под воду, что позволит получить фактические знания, которые могут помочь во многих судебных делах. Сохраняются наблюдения и записи процесса разложения, включая последовательность и скорость разложения, а также влияние деятельности насекомых. Стадии разложения человека, которые изучаются, начинаются со стадии свежести, затем стадии вздутия, затем распада и, наконец, стадии сушки.
Ежегодно учреждению передаются в дар более 100 тел. Некоторые люди проходят предварительную регистрацию перед смертью, а другие пожертвованы их семьями или судебно-медицинским экспертом. 60% пожертвований делают члены семей лиц не прошедших предварительную регистрацию в учреждении. Суммарно в центр в Теннесси пожертвовали свои тела примерно 1800 человек (данные по другим центрам неизвестны), ещё 4000 подали заявку на донорство. Каждый из них может указать, как именно он хочет быть расположен (лёжа, сидя, под водой, подвешенным и так далее), а также выбрать, следует ли его одеть, или же оставить голым.

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

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

Первый канадский бодифарм открылся в 2018 году и находится в Беканкур. Его первоначальное название было Безопасный сайт для исследований в области танатологии, но он был переименован в REST (Recherche en Sciences Thanatologiques) или Исследования в области экспериментальной и социальной танатологии.


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

Каторжная работа трупов


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


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


Основная задача, которая стоит перед фермами тел это научить специалистов максимально точно определять время смерти. Определить время смерти не так просто. В первые часы и дни после смерти судмедэксперты полагаются на три основных показателя: algor mortis (температура тела), rigor mortis (трупное окоченение) и livor mortis (трупные пятна). Но эти признаки быстро исчезают. Чем дольше лежит тело, тем сложнее с этой задачей справляться. Когда человек умирает, сначала погибает его мозг. Остальные органы еще какое-то время продолжают жить. Именно эта особенность человеческого организма дает возможность трансплантировать органы от умерших живым. Способность тела сохранять жизнь помогает криминалистам в их сложной работе. Например, если при ударе молоточком ниже локтя, кисть трупа разгибается, то это значит, что человек умер не более 23 часов назад, а его мышечные волокна еще выполняют свои функции. Оценивают при определении времени смерти также окоченение, температуру тела, а также наличие и цвет трупных пятен, неизбежно возникающих под действием силы тяжести.
Но проходит всего двое суток и ни один из этих показателей использовать в определении времени смерти нельзя. Поэтому эксперты используют другие способы. К этому моменту труп начинают заселять различные живые организмы, имеющие определенные жизненные циклы с известными науке временными интервалами. Судебная энтомология наука, помогающая выяснить время смерти, полагаясь на насекомых.
Первыми тело, оставшееся на открытом воздухе, населяют мухи. Этих крылатых насекомых привлекает запах разложения, который они чувствуют на большом расстоянии. Мухи откладывают личинки, которые через определенное время окукливаются и из них появляются новые мухи. Этот процесс повторяется многократно.
Кроме мух труп населяют и множество других маленьких обитателей, вид которых зависит от природных условий, в которых оказалось тело. На развитие насекомых влияет погода и некоторые другие факторы, которые специалистам важно учесть при исследовании трупа и живущих на нем насекомых.
Также в теле находится и огромное количество невидимых организмов (некробиома), которые при жизни человека не давали о себе знать, подавляемые иммунной системой. Внутренние органы, бывшие при жизни стерильными, активно захватываются бактериями. В кишечнике развиваются анаэробные бактерии, которым не нужен кислород. Выделяемые ими газы спустя время разрывают брюшную стенку и в дело вступают бактерии, потребляющие кислород.

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


Ради науки и спасения жизни


Как бы это печально ни звучало, но после смерти, человеку его тело больше не понадобится. А вот ученым оно вполне может пригодиться. Если человек желает после смерти принести пользу человечеству, то одним из лучших вариантов будет завещание бренных останков ферме тел. Благодаря сериалам Кости и C.S.I.: Место преступления, все больше людей при жизни завещают положить свое мертвое тело в лесу, замотать в пленку или неглубоко закопать, чтобы до него могли добраться животные-падальщики и студенты-криминалисты. Процедуры различаются от страны к стране. Канадские учреждения судебной антропологии могут получить доступ к телу, когда человек решил пожертвовать свое тело и подписал форму, чтобы гарантировать выполнение его желания после смерти. Другие могут позволить члену семьи, законному ближайшему родственнику, пожертвовать человеческие останки. В США для пожертвования принимаются практически все неизвестные/невостребованные тела, хотя некоторые считают это неэтичным. Отклоняется пожертвование тела, если человек при жизни был инфицирован вирусом иммунодефицита человека (ВИЧ), гепатитом или устойчивыми к антибиотикам бактериями.


Один, очень грустный, источник тел для Фримэн Рэнч незаконные мигранты из Мексики, пересекающие границу США в пустынном районе Брукс Кантри. Каждый год в этом районе находят более сотни трупов. Сколько остается ненайденными, неизвестно, но, по мнению одной из ученых, работающих в Фримэн Рэнч, там умирают ежедневно несколько человек. Генетический анализ по политическим соображениям возможен далеко не всегда, однако по другим показателям, таким, например, как остатки одежды, можно идентифицировать человека, о пропаже которого мексиканские родственники заявили, а в США такового не обнаружили. Это тоже одно из важных направлений деятельности Фримэн Рэнч.

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

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

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

Некоторые могут счесть такую работу шокирующей. Но настоящий учёный и профессионал должен уметь абстрагироваться. Эта работа имеет смысл уже потому, что только в США с 1980 года остаются нераскрытыми почти 250 тысяч убийств. А из более чем 16000 убийств в США в 2018 году почти 40 процентов остались нераскрытыми. Данные полученные с фермы тел, могут пролить свет на эти преступления. Сейчас перед специалистами в этой области стоит непростая задача перейти от описательного сбора данных к систематизации и стандартизации, что поможет их использованию в научном сообществе.





На правах рекламы


VDS с защитой от DDoS-атак и новейшим железом. Всё это про наши эпичные серверы. Максимальная конфигурация 128 ядер CPU, 512 ГБ RAM, 4000 ГБ NVMe.

Присоединяйтесь к нашему чату в Telegram.

Подробнее..

Крысы-герои спасают людей от мин и бацилл туберкулёза

12.06.2021 12:08:35 | Автор: admin

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

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

Магава гамбийская хомяковая крыса, родом из Танзании, которую APOPO обучила находить взрывчатку. Всё благодаря уникальному нюху, который прокачан по максимуму. На обонянии вообще строится вся жизнь крыс. Именно за эту способность крысу оценили люди и взяли её на службу.
Даже среди своих опытных коллег, работающих в Камбодже, Магава является выдающимся: за пять лет он помог очистить более 23 гектара земли от 71 мины и 38 неразорвавшихся бомб. По оценкам в Камбодже осталось до шести миллионов мин и неразорвавшихся боеприпасов. В сентябре 2020 года Магава был удостоен одной из высших наград Великобритании среди животных. На виртуальной церемонии британский благотворительный фонд PDSA вручил Магаве золотую медаль за его спасательную работу.

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



Про организацию


APOPO (сокращение от Anti-Persoonsmijnen Ontmijnende Product Ontwikkeling развитие продуктов обнаружения противопехотных мин) зарегистрированная бельгийская неправительственная организация, которая дрессирует гамбийских хомяковых крыс для поиска и обнаружения противопехотных мин и бацилл туберкулёза. Миссия APOPO заключается в разработке технологии поиска у крыс, чтобы обеспечить решение глобальных проблем и вдохновлять позитивные социальные изменения.

APOPO начинала свою деятельность как научно-исследовательская организация в Бельгии в 1990-х годах, работая при поддержке исследований и государственных грантов для разработки концепции технологии обнаружения мин при помощи крыс. Один из соучредителей Барт Ветджёнс, наткнулся на статью о песчанках, используемых в качестве детекторов запахов. Он считал, что крысы с их сильным обонянием и способностью к обучению могут стать лучшим средством обнаружения наземных мин. Бывший преподаватель университета Барта профессор Мик Билле, основатель Института разработки продуктов при университете Антверпена, полностью поддержал эту идею и предоставил свои личные ресурсы для дальнейшего исследования и продвижения новой инициативы. После консультации с профессором Роном Верхагеном, экспертом по грызунам на факультете эволюционной биологии Университета Антверпена, гамбийская крыса была определена как лучший кандидат из-за её долголетия и происхождения. Проект APOPO был запущен 01-ноября 1997 года Бартом Ветджёнсом и его одноклассником Кристофом Коксом. И Витеджёнс, и Кокс ранее сотрудничали в некоммерческой организации, которую возглавлял профессор Мик Билле, и вместе они начали строительство питомника для дрессировки и разведения африканских крыс. Они связались с сельскохозяйственным университетом Сокойне в Морогоро (Танзания) и разместили заказ на импорт гигантских крыс.



Первоначальная финансовая поддержка поступила в 1997 году из средств бельгийского правительства. В 2000 году APOPO переместила штаб-квартиру в Сельскохозяйственный университет Сокойне (SUA) в Морогоро в партнерстве с Народными силами обороны Танзании.

После того, как первые 11 крыс были аккредитованы в соответствии с Международными стандартами противоминной деятельности в 2004 году, начиная с 2006 года крысы помогали обнаруживать в ходе длительных операций по разминированию в Мозамбике. Поставленная в 2008 году в качестве единственного оператора по очистке провинции Газа (Мозамбик), APOPO освободила провинцию от мин в 2012 году, на год раньше запланированного срока. В 2013 году правительство разрешило APOPO расширить свою деятельность в провинциях Мапуту, Маника, Софака и Тете. 17-сентября 2015 года Мозамбик был официально объявлен свободным от всех противопехотных мин: APOPO помогла правительству очистить пять провинций.

В Анголе APOPO работает с 2012 года. С 2013 по 2015 год до 31 крысы помогали разминировать 100 га совместно с тяжелой техникой и людьми с помощью металлоискателей в Демократической Республике Конго. В 2016 году крысы помогли обезвредить участок в Ндонделе Мпаси, провинция Заир.

В начале 2014 года национальный Камбоджийский противоминный центр (CMAC) начал разминирование объектов, используя обычные методы разминирования. После 6-месячной акклиматизации и обучения 14 крыс были аккредитованы CMAC в ноябре 2015 года для использования в операциях по разминированию. К июню 2016 года крысами было расчищено первое минное поле.

Операционный штаб APOPO, включая учебные и исследовательские центры, находится в Сельскохозяйственном университете Сокойне в Морогоро (Танзания). У штаба есть полевые отделения для своих программ противоминной деятельности в Мозамбике, Анголе и Камбодже. Программы по борьбе с туберкулёзом действуют в Танзании и Мозамбике с офисами, расположенными в Морогоро, Дар-эс-Саламе и Мапуту. У него также есть два офиса по сбору средств в Швейцарии и США. Также есть офис административной поддержки в Антверпене (Бельгия).

Крыса надёжный товарищ


Факторами успеха в обнаружении мин у хомяковых крыс являются, во-первых, их высокая чувствительность к запаху, во-вторых небольшой вес (даже если крыса наступит на мину, детонации не произойдёт). На обучение каждой крысы, которое продолжается порядка 7 месяцев, тратится в среднем 7770 долларов (втрое меньше, чем на собаку); после завершения курса крыс отправляют в различные страны, где присутствуют минные поля. Неофициальное название подготовленных крыс Hero Rat (крыса-герой).



Подготовка крыс по данной программе началась в 1997 году в Бельгии, с 2000 года штаб-квартира APOPO находится в Танзании. С 2003 года организация действует в Мозамбике, где 30 крыс с начала проведения операции обнаружили 1500 мин и вернули населению этой страны 2,5 миллиона квадратных метров (250 га) территории.

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

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

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



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

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

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

Эхо войны


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

Более 60 миллионов человек, проживающих в 59 странах от Камбоджи до Зимбабве, могут стать жертвами наземных мин и других неразорвавшихся боеприпасов. В 2017 году противопехотные мины стали причиной смерти 7 239 человек, из которых 87% мирные жители и 47% дети. Разминирование минных полей трудоёмкая и опасная работа, требующая аккуратности и времени. Именно здесь системы обнаружения животных APOPO могут повысить эффективность и сократить расходы.


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

Программа APOPO в Камбодже началась в 2016 году и теперь ежегодно очищает больше земель, чем любая другая программа. Только в 2020 году APOPO в Камбоджии очистило 4500 га земли. Это было бы невозможно без помощи таких маленьких героев, как Магава.

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

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

HeroRAT обнаруживают только запах взрывчатки и игнорируют металлолом. Один HeroRAT может обнюхать территорию размером с теннисный корт за 30 минут это займёт у обычного сапёра с металлоискателем до четырёх дней (в зависимости от уровня присутствующего металлолома). Когда HeroRAT указывает на наличие взрывчатого вещества, прибывает сапёр с металлоискателем, чтобы осторожно раскопать отмеченное место и проверить наличие наземной мины.

Крысы носят ремни безопасности, привязанные к верёвке, подвешенной между двумя дрессировщиками. Крыс заставляют обыскивать обозначенную зону размером 10 x 20 м (200 квадратных метров) и определять запах взрывчатки, обычно царапая землю. Точки, указанные крысами, помечаются, а затем технические специалисты отслеживают их с помощью металлодетекторов; найденные мины затем раскапываются вручную. Если наличие мины подтверждено, то ее безопасно взрывают на месте.


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

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

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


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

Противоминная деятельность это собирательный термин для обозначения деятельности, направленной на уменьшение социального, экономического и экологического воздействия наземных мин путем их обнаружения и уничтожения. Это сложно, опасно, трудоемко и дорого. Изготовление и установка наземных мин стоит всего от 3 до 75 долларов, а их удаление стоит в среднем от 300 до 1000 долларов каждая. Эта высокая цена ложится еще большим бременем на экономику, уже пострадавшую от конфликта.



Список организаций занимающихся противоминной деятельностью. Ссылка про Международный противоминный центр РФ- тут.

Детекторы туберкулёза


В 2003 г. APOPO получила грант от Всемирного банка, который предоставил начальное финансирование для исследования другого применения крыс: выявления туберкулёза. Барт Витеджёнс получил трёхлетний личный грант от Ashoka: Innovators for the Public в 2007 году. Программа выявления туберкулёза в Танзании была запущена в середине 2007 году в рамках партнерства с четырьмя государственными клиниками. В 2008 году было предоставлено доказательство принципа использования обученных крыс для выявления туберкулёза легких в образцах мокроты человека. В 2010 году был начат план исследований по оценке эффективности и применения крыс в диагностике туберкулёза.

После результатов в Танзании программа выявления туберкулёза была воспроизведена в 2013 году в клинике в Мапуту на ветеринарном факультете Университета Эдуардо Мондлана. В 2014 году в партнерстве с Центральной справочной лабораторией по туберкулёзу, Национальным институтом медицинских исследований и Центром исследований инфекционных заболеваний в Замбии было проведено исследование для определения точности крыс в популяции предполагаемых больных туберкулёзом. В 2014 году пять дополнительных медицинских центров присоединились к программе выявления туберкулёза в Мапуту. В 2016 году APOPO охватил почти 100% всех пациентов с подозрением на туберкулёз, которые обращаются в городские клиники, а программа выявления туберкулёза в Танзании расширилась до 28 клиник в трёх областях и обрабатывала около 800 образцов в неделю.


Образцы мокроты, которые уже были протестированы традиционным способом, повторно исследуются крысами. Крысы обнюхивают ряд отверстий в стеклянной камере, под которую помещают образцы мокроты. Когда крыса обнаруживает туберкулёз, она указывает на это, засовывая нос в отверстие для пробы и/или царапая пол клетки.

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

Между тем, медленные и неточные методы выявления делают туберкулёз одним из самых смертоносных инфекционных заболеваний в мире. Ежегодно 10 миллионов человек заболевают туберкулёзом, 3 миллиона остаются недиагностированными и 1,8 миллиона умирают от этой болезни.

В 2015 году крысы проанализировали более 40 000 образцов мокроты, тем самым выявив более 1150 положительных образцов, которые были пропущены при микроскопии.

APOPO помогла клиникам общественного здравоохранения Мапуту повысить уровень выявления туберкулёза на 48% и способствовало предотвращению 3800 потенциальных случаев заражения туберкулёзом. Среди 9166 пациентов с предполагаемым туберкулёзом, обследованных на крысах в 2015 году, были диагностированы 666 пациентов, пропущенных обычными методами.

С момента начала в 2007 году программы исследований APOPO по выявлению туберкулёза APOPO достигла вершин в проведении повторного тестирования более четверти миллиона пациентов с признаками и симптомами туберкулёза в Танзании, Мозамбике и Эфиопии. По оценкам Всемирной организации здравоохранения (ВОЗ), около половины больных туберкулёзом в этих странах остаются пропущенными.

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



На правах рекламы


Эпичные серверы это виртуальные серверы для любого стартапа и проекта. Создайте собственный тарифный план в пару кликов и повышайте параметры сервера по мере роста. Максимальная конфигурация 128 ядер CPU, 512 ГБ RAM, 4000 ГБ NVMe.

Присоединяйтесь к нашему чату в Telegram.

Подробнее..

Как ажиотажный спрос на туалетную бумагу привел к дефициту электроники

19.06.2021 12:05:20 | Автор: admin
Современный мир удивительное место. Глобальная экономика, производственные цепочки, разнесенные по всему миру, и связность, казалось бы, абсолютно несовместимых между собой вещей через общие точки соприкосновения. Хорошим примером такой связности является то, что ажиотажный спрос на туалетную бумагу в США привел к дефициту электронных товаров всех категорий, а в перспективе вовсе к глобальному сбою в мировой торговле. И это могло бы быть даже забавно, если бы не приводило к пустым полкам и значительному росту цен на те товары, которые до нас все же доезжают.



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

Локдаун Китая в марте 2020 года


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



Это мы привыкли к тому, что сидя на 1/4 мировых запасов леса, всегда имеем доступ к продукции целлюлозно-бумажной промышленности. Да, качество отечественных производителей не всегда высоко, но при желании Россия за счет запасов леса Сибири может обеспечивать бумагой или сырьем для ее производства весь евразийский континент. Сложнее дела обстоят в США: страна активно импортирует бумажную продукцию.

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

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

Разворот ситуации


Разовая доставка огромного количества товаров в США из Юго-Восточной Азии привела к тому, что в порты страны прибыло большое число кораблей с еще большим числом контейнеров на борту. Мировая торговля устроена таким образом, что перегрузку судно будет ждать только в случае, если оператору выгодно придержать корабль в порту и дождаться, когда контейнеры освободят от товаров или на погрузку прибудут новые. Так как в США наблюдался дефицит товаров, суда из Китая прибывали на отгрузку и убывали вновь в Азию, уже порожняком. Это было намного прибыльнее, чем ждать поставку чего-либо из Штатов.

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



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

Эффект домино


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

В мире насчитывается около 180 млн контейнеров, но все они находятся не в том месте, главный исполнительный директор логистической компании Redwood Logistics Марк Йегер

В общей сложности на апрель 2021 года в США наблюдался дисбаланс в размере 40% в плане прибывающих и убывающих из страны грузовых контейнеров.

Как это сказалось на рынке электроники


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

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

Если до пандемии COVID-19 стоимость транспортировки из Китая в Европу морем составляла около $1500, то сейчас она подскочила до $9000 и выше за 40-футовый контейнер. В случае перевозки тех же холодильников, которых в контейнер может войти не более 60-70 штук, мы сталкиваемся с ростом стоимости каждой единицы товара на ~$100. Это же касается любой габаритной техники и прочей продукции, которая раньше перевозилась морем.



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

Закрытые порты Китая


Стоимость на компьютерные комплектующие и технику и так уже вызывают желание пустить слезу, но ситуация может еще и ухудшиться. В провинции Гуандун зафиксирована новая вспышка коронавирусной инфекции, что привело к закрытию порта с 25 по 31 мая и формированию очереди на погрузку. Это затронуло работу терминала Яньтянь в порту Шэньчжэнь (оборот 13,3 млн контейнеров в год), и ближайшие терминалы Шэкоу в Шэньчжэне и Наньша в Гуанчжоу (15,6 млн контейнеров).

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

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

Мы испытываем сложности с отправкой из портов Шэкоу и Наньша, так как помимо наличия свободного оборудования у линии необходимо найти ещё и машину с водителем, у которого будет отрицательный тест ПЦР, а также проверить, не пропускает ли линия судозаход, рассказала прессе руководитель отдела интермодальных перевозок Itella в России Юлия Никитина.

Перспективы


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

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

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

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



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

Ироничное послесловие


Во всей описанной выше ситуации с контейнерными перевозками есть один нюанс: США на самом деле может возникнуть дефицит туалетной бумаги.

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



На правах рекламы


VDSina предлагает недорогие серверы в аренду на Linux или Windows выбирайте одну из предустановленных ОС, либо устанавливайте из своего образа. И главное, всё в наличии и без дефицита!

Подписывайтесь на наш чат в Telegram.

Подробнее..

Перевод UML умер, а никто и не заметил?

06.06.2021 16:09:40 | Автор: admin

UML, нам будет тебя не хватать
Unified Modelling Language (UML), разработанный Rational Software и принятый в качестве стандарта Object Management Group (OMG) в 1997 году, призван был стандартизировать множество различных типов графических нотаций, принятых в отрасли разработки ПО.

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

Откровением для меня стала формальная семантика, связанная с UML Activity Diagrams. Я не мог терпеть неформальные схемы Visio из-за множества неопределённостей в них. Например, что означают две стрелки, исходящие их прямоугольника: выбор или разделение потока на два параллельных пути? Аналогичный пример: две стрелки, указывающие на один прямоугольник, означают, что действие начинается сразу после достижения первым потоком прямоугольника? А может, это OR, XOR или AND? В общем, смысл вы поняли. UML решает эту проблему благодаря введению чёткой и недвусмысленной семантики.


Игра была нечестной изначально: правильного ответа нет

Я по-настоящему вкладывал душу в UML:

  • Я чертил схемы для собственных решений с 2004 по 2015 годы для семи разных работодателей и клиентов почти исключительно с помощью UML.
  • Я проводил буткемпы по UML (для бизнес-аналитиков) у двух крупных клиентов.
  • В качестве кандидатской диссертации я определил ключевое множество дискретной математики, являющееся фундаментом для большинства структурных и поведенческих моделей UML. Я даже написал на Haskell инструмент на основе GraphViz для визуализации этой математики в графическом UML.

Спустя несколько лет, примерно в 2015 году, я осознал, что практически перестал пользоваться UML, как и остальные мои коллеги, а также почти все клиенты из списка Fortune 500, которых я консультировал в последнее время. Что же произошло?

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

Но жертвой стал не UML сам по себе. Если откровенно, UML стал просто побочной потерей. Настоящая резня развернулась в сфере разработки требований, включающей в себя бизнес-аналитику и проектирование. Убийцей стал Agile, а его отравленными стрелами были user stories.

В модели, куда на входе засовывают user stories, а на выходе получают демо (или feature production release), больше нет места для содержательного структурного анализа задач.

В современном дивном новом мире понимание напрямую кристаллизуется в код, готовый к продакшену. Даже моделирование бизнес-структур, по сути, было убито родственной Agile дисциплиной: Domain Driven Design (DDD). Ограниченные контексты инкапсулируют (заметают под ковёр) сложность, чтобы энтерпрайз мог масштабироваться на команды на две пиццы. Компании, использующие BDD и требующие от своих рабочих групп писать спецификации Cucumber, имеют здесь перевес, но этим занимаются очень немногие бизнесы.

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

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


Пример масала-диаграммы

Хотя некоторые используют легковесные техники моделирования наподобие C4, большинство применяемых сегодня диаграмм относятся к типу, который я несколько пренебрежительно называю масала-диаграммами. В конце концов, почему бы не назвать так диаграммы, которые я и сам делаю? Почему масала? Потому что они неформальные; они одновременно покрывают несколько размерностей, они могут быть и структурными, и поведенческими, логическими и физическими. Часто они являются мешаниной визуализаций архитектурной модели 4+1.


Как готовить масала-диаграмму

Системы стоимостью в миллионы долларов, от которых зависят наши жизни и финансы, создаются, финансируются и реализуются полностью на основе этих масала-диаграмм, которые часто не содержат ничего лишнего, кроме нескольких эпиков и user stories.

Автор, ну архитектура ипотечной системы моего банка уж точно не была спроектирована на основе этих ваших ужасных масала-моделей!

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

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

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

Как бы я ни спорил с моими друзьями из лагеря Agile, я не могу остаться слепым к счастью людей. Мои клиенты и коллеги не только просят больше масала-диаграмм, но и настаивают, чтобы я делал их ещё более масала (чтобы я объединял в них больше архитектурных размерностей!). Зачем же этому противиться?

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



На правах рекламы


Эпичные серверы это VDS для размещения сайтов от маленького интернет-магазина на Opencart до серьёзных проектов с огромной аудиторией. Создавайте собственные конфигурации серверов в пару кликов!

Присоединяйтесь к нашему чату в Telegram.

Подробнее..

Выкладка нетрадиционной ориентации

11.06.2021 12:20:14 | Автор: admin


Все, кому приходится иметь дело с вёрсткой, знают что гриды и flexbox давно захватили CSS, позволяют очень удобно организовать классическую выкладку хедер-контент-сайдбар-футер, списки карточек, masonry и так далее. Но их настоящая крутизна не в удобстве использования, а в бескрайних возможностях, которые они открывают. Я покажу и объясню мой любимый трюк, который позволяет верстать за рамками привычной вертикально-горизонтальной прямоугольной сетки, и выглядит это очень круто.

Разминка


На закуску разберём пример с КДПВ. Сетка на нём всё же прямоугольная, но очевидно, что поворотом на 45 градусов такого эффекта не добиться. Вот рабочий пример:



Разберём его строение. Структура HTML не содержит подвохов:

  <ul>    <li>      <img src="http://personeltest.ru/aways/habr.com/book01.jpg" alt="" />    </li>    <li>      <img src="http://personeltest.ru/aways/habr.com/book02.jpg" alt="" />    </li>    <!-- И так далее -->  </ul>


В CSS же мы обнаружим, что каждый ромб занимает две столбца сетки, а всего столбцов используется 2n+1, где n число ромбов:

  /*    Сначала задаётся дефолтное значение для самых узких экранов    3 столбца = 1 ромб в строке  */  :root {    --columns: 3;  }  /*    Благодаря значению span 2 каждый ромб занимает два столбца    в ширину, но не в высоту.  */  li {    grid-column-end: span 2;  }  /*    Медиа-запрос для 4 ромбов в строке определяет уже 9 столбцов  */  @media (min-width: 1200px) {    :root {      --columns: 9;    }  }


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

  /* Двигаем каждый второй элемент при одном столбце */  li:nth-child(2n) {    grid-column-start: 2;  }  /* В других случаях подсчёт тоже простой */  @media (min-width: 1200px) {    li:nth-child(6n-2) {      grid-column-start: auto;    }    li:nth-child(8n-3) {      grid-column-start: 2;    }  }


Таким образом, мы получаем следующую картинку (пунктиром выделены границы строк и столбцов сетки):



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



Здесь используются li:before и li:after, форма достигается с помощью clip-path, а полосатая раскраска с помощью крутого трюка с двойным применением бэкграунда:

  background-size: 50% 100%;  background-position: left, right;  background-image: linear-gradient(45deg, var(--pink) 40%, var(--green) 40%),    linear-gradient(-45deg, var(--pink) 40%, var(--green) 40%);


Посмотреть на эту фишку и многие другие безумные трюки можно на A Single Div (репо).

Гексагональные миры


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



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



Структура HTML почти не изменилась:

  <div class="main">    <div class="container">      <div></div>      <div></div>      <div></div>      <!-- И так далее -->    </div>  </div>


Задавать форму шестиугольников будем через clip-path:



Исходные стили у нас простые:

  .main {    display: flex;    --s: 100px;  /* size  */    --m: 4px;   /* margin */  }  .container {    font-size: 0; /* убирает пробелы между элементами inline-block */  }  .container div {    width: var(--s);    margin: var(--m);    height: calc(var(--s) * 1.1547);    display: inline-block;    font-size: initial; /* we reset the font-size if we want to add some content */    clip-path: polygon(0% 25%, 0% 75%, 50% 100%, 100% 75%, 100% 25%, 50% 0%);  }


Для выкладки мы используем inline-block, в котором, чтобы избежать лишних пробелов, используем трюк с font-size: 0. Отступы между элементами контролирует переменная --m (от margin). Теперь добавим отрицательный отступ, чтобы элементы приняли нужную высоту:

  .container div {    ...    margin-bottom: calc(var(--m) - var(--s) * 0.2886);  }


Элементы выстраиваются в обычную сетку и накладываются друг на друга, пора заняться смещением. Слева мы разместим container::before с высотой контейнера и шириной половины элемента плюс отступа:



Теперь прибегнем к крутейшему свойству shape-outside, которое позволяет тексту обтекать произвольные формы (а не только прямоугольные по модели margin-box). Крутизна в том, что это работает не только с текстом, но и с любыми inline-элементами. Чтобы создать нужную нам форму обтекания (не затрагивает нечётные ряды, чётные сдвигает на определённое расстояние), воспользуемся второй мощной фишкой shape-outside принимает градиенты, что позволяет создать повторяющийся паттерн:

  shape-outside: repeating-linear-gradient(#0000 0 A, #000 0 B);


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

  calc(1.732 * var(--s) + 4 * var(--m))


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

  shape-outside: repeating-linear-gradient(#0000 0 calc(var(--f) - 3px),#000 0 var(--f));




Круто? Круто. Подведём итог:

  .main {    display:flex;    --s: 100px;  /* size  */    --m: 4px;    /* margin */    /* Дополнительно вычитаем 1px, чтобы сгладить ошибки округления */    --f: calc(var(--s) * 1.732 + 4 * var(--m) - 1px);   }  .container {    font-size: 0; /* disable white space between inline block element */  }  .container div {    width: var(--s);    margin: var(--m);    height: calc(var(--s) * 1.1547);    display: inline-block;    font-size:initial;    clip-path: polygon(0% 25%, 0% 75%, 50% 100%, 100% 75%, 100% 25%, 50% 0%);    margin-bottom: calc(var(--m) - var(--s) * 0.2885);  }  .container::before {    content: "";    width: calc(var(--s) / 2 + var(--m));    float: left;    height: 120%;     shape-outside: repeating-linear-gradient(#0000 0 calc(var(--f) - 3px), #000 0 var(--f));  }


Немного CSS-магии, и мы получаем рабочую, адаптивную шестиугольную выкладку! Вообще CSS всех бесит, но иногда он бывает удивительно красив.



На правах рекламы


Эпичные серверы это VDS для размещения сайтов от маленького интернет-магазина на Opencart до серьёзных проектов с огромной аудиторией. Создавайте собственные конфигурации серверов в пару кликов!

Присоединяйтесь к нашему чату в Telegram.

Подробнее..

Перевод Android 12 лет истории дизайна ОС

20.06.2021 12:09:43 | Автор: admin
Android установлен примерно на 2,5 миллиардах активных устройств. С чего он начинался? Давайте проверим и разберёмся. Мы протестируем все версии Android, с 1.0 по 9.0, и посмотрим, как менялась система.

image

ОС Android имеет довольно долгую историю: о выпуске самого первого Android-телефона HTC Dream объявили в сентябре 2008 года. Найти этот телефон может оказаться сложно, но это нам и не нужно компания Google создала для разработчиков эмулятор каждой из версий Android. SDK для версии 1.0 можно скачать со страницы https://developer.android.com/sdk/older_releases.html, и это единственная версия, не требующая установки. Достаточно просто запустить файл tools\emulator.exe. При первом запуске мы получаем ошибку:


Создание отсутствующей папки AppData\Local\Android\SDK-1.0 позволило решить проблему, после чего мы смогли запустить эмулятор:


Эмулятор Android 1.0

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


Непривычны два аспекта. Во-первых, на телефоне есть около десяти аппаратных кнопок (в том числе курсорных клавиш). Например, кнопка Menu обеспечивает доступ к некоторым функциям:


В целом, все операции можно выполнить, не касаясь экрана, при помощи только аппаратных кнопок.

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


Телефон HTC Dream

Android 1.0 работал на телефоне с 192 МБ ОЗУ, процессором на 528 МГц, аккумулятором на 1150 мАч и экраном с разрешением 320x480.

Давайте проверим компоненты системы.

Вызовы и SMS


Очевидно, что я не мог совершить телефонный звонок или отправить SMS через эмулятор, но, по крайней мере, мы видим UI:


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

Контакты



Карты


Google Maps работают на удивление хорошо. Поиск выполняется, режим отображения карты можно менять, и так далее.


Удивительно, что Google Maps API не изменился за более чем 12 лет.

Интернет


Google Maps работают хорошо, но ситуация сильно ухудшается, если протестировать Интернет-браузер. Поиск Google работает:


Но все остальные сервисы недоступны например www.youtube.com показывает, что требуется версия не ниже Android 4.0.


Я попробовал открыть Medium.com, первая страница Get started работала (более-менее), но после нажатия на Get Started отобразилась ошибка:


На самом деле, веб-сайт www.google.com оказался единственным, который я смог открыть. Это неудивительно, ведь Android 1.0 был выпущен больше десяти лет назад, а веб-стандарты сильно изменились.

Android 4.0 (2011 год)


Было бы слишком скучно тестировать все версии Android, поэтому давайте перенесёмся на несколько лет вперёд, к Android 4.0. Типичным телефоном того времени был LG Optimum L5 или HTC Desire C: 4-дюймовый экран с разрешением 320x480, процессор на 600 МГц и аккумулятор на 1230 мАч.


HTC Desire C

Для тестирования этой версии нам понадобится AVD (Android Virtual Device), который является частью Android Studio. Эта версия предназначена для разработчиков, но для запуска эмулятора нам не нужно писать код. Компонент AVD Manager позволяет выбирать разные версии и устройства:



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


Как мы видим, UI и аппаратная раскладка изменились: больше нет отдельной кнопки Menu и клавиш курсора, только три аппаратные кнопки (Home, Back и Apps List), их можно увидеть и в современном Android.

Добавлена новая функция UI Widgets:


Один из них это большая панель, которая по умолчанию включена. Она позволяет быстро включать/отключать WiFi, Bluetooth и некоторые другие сервисы.

Settings по сравнению с современными версиями не сильно изменились, однако UI и шрифты, разумеется, другие:


Contacts теперь можно сохранять локально или синхронизировать с аккаунтом Google. Contacts и Dialer (набор номера) теперь стали двумя отдельными приложениями.



Отправка SMS не особо изменилась:


Web Browser работает, но большинство страниц (google play, youtube, даже Wikipedia) не открывается:


Medium.com по-прежнему открыть нельзя, но, по крайней мере, первая страница выглядит лучше, чем на Android 1.0:


Мне удалось открыть страницу MSN (с предупреждениями), страница BBC открылась без ошибок, но UI выглядел странно, а сайт NY Times вообще не открылся:


В картах добавлена новая функция: Google Maps Navigation:


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

Android 6.0 (2015 год)


Четыре года долгий срок для мира технологий, и характеристики смартфонов значительно улучшились. Хорошим примером устройства с Android 6 может служить Samsung Galaxy S6: 5,1 дюймовый AMOLED-экран с разрешением 1440x2560, восьмиядерным процессором и аккумулятором на 2550 мАч:


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

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


Contacts и Dialer по-прежнему остаются двумя отдельными приложениями (и двумя значками на экране), но разница между ними не так очевидна:



Интерфейс Settings тоже не особо изменился:


Web browser работает гораздо лучше, даже видео воспроизводится корректно, однако medium.com снова не прошёл тест отображается только белая страница:



На самом деле, www.medium.com это единственный сайт, который мне не удалось открыть.

Теперь в Android добавлены Gmail и Google Photos:


Google Maps работают хорошо, но, на удивление, спустя пять лет навигация по-прежнему находится в бета-версии.


В целом, интерфейс Android 6.0 выглядит достаточно современно даже по нынешним меркам, а разница между 4.0 и 6.0 гораздо очевиднее, чем между Android 6.0 и 10.

Android 8.0 (2017 год)


Я не собирался тестировать Android 8.0, с точки зрения UI отличий было бы не так много. Но мне стало любопытно, в какой версии Android корректно откроется medium.com. Давайте проверим.

Первое забавное отличие список приложений снова можно перетаскивать снизу вверх, точно так же, как в Android 1.0 (для сравнения см. изображение в начале статьи):


Как мы видим, как отдельные приложения были добавлены Youtube, Google Drive и Google Play Music.

Давайте снова протестируем браузер на medium.com. В целом, всё стало намного лучше мне удалось добраться до первого этапа логина:


Но на этом этапе страница зависает, и постоянно появляется всплывающее окно Sign in.

Android 9.0 (2018 год)


Очевидно, в каждой новой версии Android происходило множество скрытых изменений в безопасности, API и фоновых сервисах, но с точки зрения UI эта версия не сильно изменилась по сравнению с Android 6.0 2015 года. Как мы видим, добавилась левая панель Google. Приложения можно разделить на секции популярные и все приложения:


Напоследок давайте снова проверим страницу medium.com. Вуаля, теперь она работает:


Программирование


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


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


На следующем этапе нужно указать имя приложения, его уникальный идентификатор, язык программирования (Java или Kotlin) и минимальный уровень версии Android.


После нажатия на Finish будут сгенерированы исходный код и ресурсы приложения.


Теперь мы можем запустить своё приложение в эмуляторе или в реальном устройстве:


Очевидно, что это приложение не делает ничего полезного, если вас интересуют последующие шаги, то изучите туториалы на веб-сайте https://developer.android.com.

Заключение


Исследование истории Android оказалось любопытным занятием. Как обычно, я призываю заинтересовавшихся читателей установить эмулятор и самостоятельно увидеть все различия. Один из способов это Android Studio, но она выполняет образ x86 и не может запускать сторонние приложения для Android. Ещё один удобный эмулятор это Genymotion, он основан на VirtualBox и обеспечивает полную эмуляцию ARM. Кроме того, он бесплатен для личного пользования. Я пользовался Genymotion несколько лет назад, но последняя версия по неизвестным причинам не работает. Возможно, кому-то из читателей повезёт. Однако существует множество других способов запуска Android на PC, так что можете выбрать подходящий для вас.

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

Дизайн UI



Совместимость веб-страниц






На правах рекламы


Воплощайте любые идеи и проекты с помощью наших серверов с мгновенной активацией на Linux или Windows, на наших серверах можно установить даже Android!

Подписывайтесь на наш чат в Telegram.

Подробнее..

Перевод Перерасти ПО код это современное электричество

21.06.2021 12:17:59 | Автор: admin
image

Десять лет назад Марк Андриссен написал для Wall Street Journal статью под названием "Софт пожирает мир", в которой говорит о фундаментальном сдвиге роли, которую ПО играет в экономике. В прошлом IBM, Oracle или Microsoft продавали технологии другим компаниям как инструмент. Они продавали компьютеры и ПО GE, P&G и Citibank. Теперь есть поколение компаний, которые и создают ПО, и самостоятельно используют его, чтобы войти на рынок другой отрасли, а часто и изменить его. Uber и Airbnb не продают ПО компаниям, владеющим такси или отелями, Instacart не продаёт ПО компаниям, занимающимся продуктами питания, а Transferwise не продаёт ПО банкам.

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

Но также любопытно будет взглянуть на отдельные отрасли, которые уже были подорваны программным обеспечением, и подумать над тем, что случилось дальше. Первой, очевидно, стала отрасль звукозаписей. Технологии значительно повлияли на музыкальный бизнес, но сегодня никто в сфере технологий об этом особо не задумывается. 15 или 20 лет назад музыка была способом продажи устройств и удержания людей в экосистеме, но возникновение сервисов стриминга по подписке означало, что музыка больше не является сильным стратегическим оружием ты не потеряешь свою библиотеку музыки, если перейдёшь с iPhone на Android, или даже со Spotify на Apple Music. В то же время, абсолютный размер рынка стал очень мал по сравнению с тем, чем стала сфера технологий в прошлом году общие доходы отрасли звукозаписи составили менее 20 миллиардов долларов (половина от максимума, который был в 2000 году), а доходы Apple составили 215 миллиардов. Больше никого не заботит музыка.

Нечто подобное произошло и с книгами. Amazon занимает половину рынка, электронные книги стали реальным бизнесом (хоть и остались нишевыми), а самиздат стал вертикальным, но я подозреваю, что если бы у Apple был выбор, она не стала бы снова заниматься электронными книгами. Как и в случае с музыкой, здесь нет возможности стратегического давления: общие доходы рынка книг США в прошлом году составили около 25 миллиардов, а доходы Amazon в США 260 миллиардов. Никого в сфере технологий не интересуют онлайн-продажи книг или электронные книги.

Однако в более фундаментальном смысле, с точки зрения музыки и книг, большинство споров и вопросов относятся к индустрии музыки и книг, а не к технологиям или ПО. Spotify судится с Apple по поводу правил комиссий App Store, но во всём остальном все вопросы Spotify связаны с музыкой. Почему исполнители не зарабатывают больше денег на стриминге? Спрашивайте у лейблов. Почему Интернет не убил лейблы или издателей? Спрашивайте у любителей музыки и книг.

Думаю, то же самое происходит сегодня с телевидением и кинематографом. Технологии (а теперь и локдаун) разрушили старую модель и изменили все правила, но вопросы о новых моделях это вопросы о телевидении и кино, а не о программном обеспечении. Что произойдёт с гарантированной долей Тома Круза от выручки фильма, если он стал частью пакета, используемого для продажи подписок на стриминговый сервис? Каков срок жизни шоу на Netflix, кому переходят права на спортивные трансляции, и как будут устроены периоды релизов, когда снова откроются кинотеатры? Не спрашивайте меня всё это вопросы для Лос-Анджелеса, а не для Кремниевой долины. Netflix использовал технологии в качестве рычага для попадания на телевизионный рынок, но, повторюсь, все вопросы о его будущем это вопросы о телевидении. Тем временем, фильмы и телевидение (что бы это сегодня не значило), как и музыка с книгами, имеют ограниченное стратегическое значение для крупных технологических платформ Amazon использует их как мотиватор к покупке подписок Prime, а Apple только как маркетинговый инструмент. Контент больше не главное.

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

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

Но после того, как технологии всё изменят, вопросы снова будут касаться в основном розницы, а не технологий. Какой это продукт, как ты о нём узнал, и как его получить? Это вопросы ретейла, бренда и маркетинга. Разумеется, ретейлер, продающий через новый онлайн-канал, должен быть в этом хорош, но тогда он должен быть хорош и в физическом канале. Наличие большого онлайн-опыта это условие для входа на рынок, но благодаря инструментам наподобие Shopify и Stripe он всё больше становится просто слоем в стеке. Однако правильной реализации онлайна недостаточно если бы Netflix показывал бы заново Друзей или Скорую помощь, то дело было бы не в качестве приложения, а Hulu не так популярен, как Netflix, не из-за качества сжатия. Правильная реализация онлайна и необходима, и сложна, но ваш успех будет определяться вопросами ретейла, телевидения или музыки.

На самом деле, то же относится и к Tesla: автономность это определённо вопрос ПО, но с электроприводом не всё так очевидно. Tesla бык в том, что она программная компания, и медведь в том, что автомобильная компания.

В начале статьи я упомянул Walmart как компанию, изменившую лицо рынка ретейла, но она также изменила ретейл благодаря пониманию того, что автомобилями уже владеют массы людей. Вероятно, автомобилестроение создало больше миллионеров в ретейле и недвижимости, чем в автомобильной отрасли производство автомобилей было просто одной из отраслей, но массовое владение автомобилями изменило всё остальное. Часто я думаю, что это хорошая точка зрения на современное состояние технологий: 80% взрослого населения мира имеет сегодня смартфон, что же мы можем с этим сделать? Именно это и означает софт пожирает мир. Но можно ещё и сказать, что Walmart не был создан людьми из автомобильной отрасли, из Детройта. Он был создан ретейлерами. Сэм Уолтон родился на десять лет позже появления Model T, а сегодняшние выпускники MBA родились в год выпуска Netscape. В какой-то момент в этой обстановке будет расти каждый, и все компании будут софтверными, а важные вопросы будут связаны не с ПО.



На правах рекламы


Облачный хостинг для размещения сайтов от маленького блога на Wordpress до серьёзных проектов и порталов с миллионной аудиторией. Создайте собственный тарифный план в пару кликов, максимальная конфигурация 128 ядер CPU, 512 ГБ RAM, 4000 ГБ NVMe!

Подписывайтесь на наш чат в Telegram.

Подробнее..

Перевод Процесс это не продукт антиманифест методологии разработки ПО

19.06.2021 14:07:57 | Автор: admin

TLDR:

Антиманифест методологии разработки ПО

Процесс это не продукт

Руководство, а не менеджмент

Диалог, а не диктат


Вот и всё, остальное вы можете додумать сами, но если хотите, продолжайте чтение.

Процесс это не продукт


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

Если встретишь Будду на дороге убей его!

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

Не нужно так думать, они никуда не денутся.

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

Если можешь делать, то делай. Если не можешь, то управляй.

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

Руководство, а не менеджмент


И это приводит нас к следующему пункту манифеста: к лидерству. Знаете, такому настоящему руководству. Ты приходишь и показываешь путь вперёд. Лично каждому, чётко, по одному программисту за раз, и не только то, что они должны знать, но и спринты с use cases. Нужно иметь достаточно технических возможностей, чтобы обучать, готовить и мотивировать. И учиться самому. Сообщать всем, вплоть до уборщиков, куда и зачем мы движемся. Не один раз, а постоянно. Организации, которые будут это делать, окажутся самоуправляемыми. Почему? Потому что люди (даже программисты) умны. Если даёшь им информацию и полномочия, они думают, правильно расставляют приоритеты, не ругаются из-за смены целей и не особо нуждаются в менеджменте. Если сделать всё правильно, то окажется, что вы следуете за коллективом, а не ведёте вперёд, потому что культура команды становится больше, чем любой из её участников.

Диалог, а не диктат


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

Если всё это заставило вас ощутить неудобство, то это хорошо. Для того и написана эта статья.

P.S.: Никакой Jira.



На правах рекламы


Многие клиенты уже оценили преимущества серверов от Вдсины.
Мы предлагаем выделенные и виртуальные серверы. Максимальная конфигурация позволит реализовать практически любую идею 128 ядер CPU, 512 ГБ RAM, 4000 ГБ NVMe. Закажите и вы!

Подписывайтесь на наш чат в Telegram.

Подробнее..

Перевод 27 лет жизни серии Elder Scrolls

07.06.2021 14:15:24 | Автор: admin

Прошёл почти десяток лет и сменилось два поколения консолей со времени выхода в 2011 году игры Skyrim. С тех пор Bethesda занималась другими франшизами: мы увидели две новые игры Fallout, а сейчас студия работает над совершенно новым научно-фантастическим проектом Starfield.

Что касается серии The Elder Scrolls, то пока у нас есть только трейлер, состоящий из слов The Elder Scrolls VI и аккомпанемента музыкальной темы игры. Тодд Говард чётко дал понять, что следующая Elder Scrolls выйдет нескоро, уже после Starfield. Однако недавняя покупка студии компанией Microsoft вызвала вопросы относительно планов Bethesda. Превратятся ли франшизы Bethesda в эксклюзивы для Xbox и PC? Планирует ли Microsoft выпустить Elder Scrolls VI раньше?

Пока у нас нет ответов. Но поскольку франшизе исполнилось 27 лет, настал подходящий момент узнать, с чего всё начиналось. Нет, Skyrim 2, вероятно, в ближайшее время не планируется. Но за четвертьвековую историю Elder Scrolls у неё было много интересных и любимых фанатами моментов. Давайте узнаем о них!

Ранние годы


В начале 1990-х Bethesda была неопытным разработчиком, сотрудничающим с EA в работе над John Madden Football, после чего приступила к созданию фэнтезийной игры про бои на аренах.

Изначально планировалось, что игроки в The Elder Scrolls: Arena будут путешествовать из города в город и драться на различных аренах, продвигаясь к Имперскому городу. По пути они должны были выполнять случайно генерируемые побочные квесты для NPC.

В процессе разработки игры всё более важными становились побочные квесты и исследование мира. В конечном итоге Bethesda полностью отказалась от идеи арен и удвоила усилия по реализации dungeon crawling и квестов в огромном открытом мире.


Начало и середина 90-х были эпохой расцвета игр жанра dungeon crawler от первого лица. Игры наподобие Ultima Underworld и Wizardry 7 внешне напоминали Arena. Однако они были гораздо ограниченней в отношении масштаба и интерактивности.


Благодаря использованию процедурной генерации Bethesda смогла создать огромный открытый мир размером почти с континентальную часть США. Однако такое решение оказалось двояким. На всём континенте Тамриэль присутствовало всего 17 созданных вручную подземелий. Почти всё остальное создал алгоритм из небольшого количества изготовленных вручную ресурсов. Бои и исследование мира от первого лица в Arena многое позаимствовали из игр наподобие Ultima Underworld.

Сегодня Arena выглядит не очень хорошо: пустынный мир, простая 3D-графика и ограниченная вариативность квестов. Сразу заметно, что это первая проба пера разработчика, ищущего своё место в жанре RPG. Однако Arena создала фундамент из лора и антуража для будущих игр серии Elder Scrolls. Также она познакомила игроков с характерными особенностями новых Elder Scrolls: обширными открытыми пространствами, исследованием и полной свободой. Её сиквел под названием Daggerfall подтвердил, что Bethesda ждёт отличное будущее.

The Elder Scrolls II: Daggerfall


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


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

Мир стал в разы меньше размеров мира Arena: 200 тысяч квадратных километров вместо 6 миллионов. Однако, он был (и по-прежнему остаётся!) абсолютно гигантским: больше 15 тысяч городов, подземелий и деревень. В Daggerfall даже появился встроенный поисковый движок для нахождения интересных игроку мест.

Благодаря сотням квестов, взаимодействиям с уникальными NPC и достаточно детализированному открытому миру игроки могли погрузиться в Daggerfall на сотни часов. Для игроков середины 90-х, начинавших с настольных сессий в D&D, Daggerfall оказалась настоящим откровением.

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


Интересна ли эта игра сегодня? И да, и нет. Можно получить полное представление об игре, запустив оригинал под DOSBox. Но если вы на самом деле хотите попробовать сыграть в Daggerfall, то стоит скачать разрабатываемый сообществом фанатов проект Daggerfall Unity. Как можно понять из названия, Daggerfall Unity это попытка воссоздания Daggerfall с нуля на современном движке Unity.

За последние несколько лет проект проделал длинный путь и теперь в нём есть почти все функции. Кроме упрощения запуска Daggerfall на современных машинах, Daggerfall Unity также поддерживает инструменты моддинга. Моддеры добавили кучу возможностей: трёхмерные NPC, улучшенные при помощи ИИ текстуры и динамические источники света.

Если вы больше склоняетесь к ванильному геймплею Daggerfall, но со значительными графическими улучшениями, то рекомендуем пак модов D.R.E.A.M, заменяющий тысячи спрайтов, текстур, моделей и звуковых файлов.

The Elder Scrolls III: Morrowind


Через шесть лет после Daggerfall, в 2002 году, Bethesda выпустила Morrowind третью игру основной линейки Elder Scrolls. Во многих смыслах Morrowind был противоположностью Daggerfall и Arena. Две первые игры активно использовали при создании огромных пространств процедурную генерацию. Остров Вварденфелл из Morrowind имеет площадь всего лишь 16 квадратных километров. Но каждый его сантиметр создан вручную, что позволило обеспечить невиданные ранее разнообразие и внимание к деталям.


С точки зрения графики, Morrowind стала огромным шагом вперёд. Хотя движок Daggerfall xEngine, строго говоря, использовал 3D-рендерер, персонажи и многие объекты являлись спрайтами. Благодаря движку Gamebryo игра Morrowind совершила переход к полигональному 3D, реализовав полностью смоделированных и текстурированных персонажей с окружениями, а также смену дня и ночи.


Хотя некоторые системы по-прежнему напоминали позаимствованные из D&D механики первых частей (например, рукопашный бой с вероятностью промаха), Morrowind создала шаблон, которому будут следовать все будущие игры серии Elder Scrolls.

Что касается лора, то Morrowind начала процесс создания уникальной идентичности вселенной Elder Scrolls вместо использования стандартных тропов высокого фэнтези, как это было в Daggerfall и Arena. Лучше всего это заметно в повествовании, передаваемом через окружения самого Вварденфелла: вулканический остров с грибной архитектурой, загадочные даэдрические руины и летающие медузы. Хотя последующие игры превзошли Morrowind технологически, её странные и чудесные окружения по-прежнему выделяются на фоне типичных для жанра миров Oblivion и Skyrim.


Также важно отметить, что Morrowind стала первой игрой серии Elder Scrolls, появившейся на консолях. Хотя геймплей всё равно больше подходил для PC с точки зрения интерфейса и глубины, появление Morrowind на первой Xbox доказало, что глубокие RPG с открытым миром могут подойти и для консолей. Разработчики последующий игр Elder Scrolls удвоили усилия по улучшению геймплея на консолях, сосредоточившись на доступности и упрощении геймплейных систем.

Кроме того, Morrowind также стала первой игрой Elder Scrolls, собравшей вокруг себя активное сообщество моддеров. Моддеры Morrowind за прошедшие двадцать лет создали потрясающе разнообразные проекты. Графические улучшения, усовершенствования геймплея, дополнения объёмом с DLC наподобие Tamriel Rebuilt сообщество моддеров Morrowind добавило в игру гораздо больше, чем любое из официальных расширений, и оно продолжает свою работу.

Переходный период


Четыре года, прошедшие между выпуском Morrowind и появлением Elder Scrolls IV: Oblivion, стали для франшизы странным периодом. Bethesda вместе с Vir2L studios работала над созданием игр Elder Scrolls для телефонов начала 2000-х в формате серии-спиноффа The Elder Scrolls: Travels. Большинство из этих игр жанра dungeon crawler (честно говоря, ужасных) имело мало общего с играми основной линейки. Самой амбициозной (и печально известной) из игр The Elder Scrolls Travels стала Shadowkey, выпущенная на злополучном игровом телефоне Nokia N-Gage.

В отличие от своих предшественников с платформы J2ME, Shadowkey должна была обеспечить полномасштабный геймплей Elder Scrolls на мобильных устройствах. К сожалению, процессор N-Gage на 104 МГц попросту не был рассчитан на такие задачи.


В Shadowkey присутствовал полностью трёхмерный открытый мир с исследованиями и боями от первого лица в стиле Morrowind. К сожалению, аппаратные ограничения N-Gage обеспечивали столь малое расстояние отрисовки Shadowkey, что NPC и объекты буквально выпрыгивали на экран. Частота кадров во время активных сцен часто снижалась до однозначных чисел, делая бои при помощи цифровой клавиатуры N-Gage раздражающим занятием. Во многих смыслах Shadowkey выглядела и ощущалась как демейк Elder Scrolls для пятого поколения консолей (в пятое поколения входили такие приставки, как Sony PlayStation, Nintendo 64 и Sega Saturn).


Эта игра даёт нам представление о том, как бы выглядел Morrowind, если бы Bethesda выпустила его двумя годами ранее на PlayStation 1.

Oblivion и Skyrim: когда The Elder Scrolls стали мейнстримом


В современном мире The Elder Scrolls (или, по крайней мере, Skyrim) получили широкую популярность, насколько это возможно для западной фэнтези-серии RPG. Но так было не всегда. Morrowind и более старые игры были популярны на PC, и у них по-прежнему есть преданные сообщества фанатов, но они оставались очень нишевыми играми в нишевом жанре.

The Elder Scrolls IV: Oblivion и The Elder Scrolls V: Skyrim сделали шаг с PC к мейнстримной аудитории консолей. Трейлер Oblivion, показанный Bethesda на E3 2005, стал одним из первых проектов, мотивировавших к покупке Xbox 360.


После того, как Oblivion вышел практически одновременно с выпуском консоли Xbox 360, стало очевидно, что приоритеты Bethesda изменились. Множество школ магии, типов оружия и взаимодействий, которые можно было найти в Morrowind, оказалось вырезанным (например, больше никаких вам ботинок левитации).

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


Сложность диалогов была сильно снижена, у большинства NPC имелось всего два-три варианта выбора. Однако, в отличие от Morrowind, все они имели голосовую озвучку. Критиковали Oblivion и за его антураж. В старых играх серии Elder Scrolls провинция Сиродил, в которой происходит действие Oblivion, описывалась как пышные джунгли с разбросанными между ними селениями. В Oblivion этому описанию отдалённо соответствовали только регионы вокруг Брумы и Лейавина. Основная часть Сиродила представляла собой стандартный пасторальный антураж высокого фэнтези. Вероятно, это тоже было вызвано стремлением к повышению мейнстримности игры, но из-за него Oblivion потерял часть своей души.

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

Благодаря хорошо реализованному открытому миру и многофункциональным инструментам моддинга Creation Engine компания Bethesda обеспечила игре очень долгую жизнь. Даже десяток лет спустя Skyrim сохраняет наиболее активное сообщество моддеров из всех игр. Крупные моды по полной переделке игры наподобие Enderal: The Shards of Order даже имеют собственные моды. Кроме того, благодаря модам моделей и текстур графика Skyrim может выглядеть даже лучше, чем у более свежей Fallout 4.


Единственная реальная проблема Skyrim заключается в том, что он слишком популярен. Это негативный аспект по двум причинам. Во-первых, вероятно, это главная причина долгого создания The Elder Scrolls VI. Skyrim: Special Edition, Skyrim на Nintendo Switch и Skyrim VR всё это, по сути, Skyrim в новой упаковке, но все эти ремейки хорошо продаются. Для Bethesda игра Skyrim стала дойной коровой.


Второй проблемой стала память о бренде. Skyrim настолько хорошо встроился в мейнстрим, что многие игроки, вероятно, никогда не слышали о других играх серии Elder Scrolls. Они ждут Skyrim 2, а не The Elder Scrolls VI. Это повлияет на тот геймплей, который Bethesda будет создавать и в следующем проекте Elder Scrolls, и в играх наподобие Starfield.

В то время, как франшизы типа Assassin's Creed всё сильнее склоняются в сторону базовых механик RPG, Bethesda, скорее всего, продолжит всё упрощать из-за одержимости игроков Skyrim. Но это необязательно плохо. Реалистичная анимация, улучшенный бой и расширенные взаимодействия с NPC могут привести к созданию более лучших Elder Scrolls, пусть даже Bethesda решит порвать с корнями серии. На что же больше будет походить The Elder Scrolls VI? Мы увидим потомка Skyrim или возвращение к корням?

The Elder Scrolls Online


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

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


Elder Scrolls Online стала храброй попыткой Bethesda привести свою однопользовательскую RPG-франшизу в мир, где фанаты фэнтези тратят сотни часов на World of Warcraft и Guild Wars 2. Успешной ли оказалась эта попытка? Не совсем. Стала она катастрофическим провалом? Тоже нет.

Реализовав в проекте интересные квесты и нарратив, а также систему боёв, внешне напоминающую бои в Skyrim и Oblivion (хоть и не на основе хитбоксов), Bethesda попыталась не слишком отдаляться от однопользовательких корней серии. Хотя в ESO можно играть в социальную игру, базовая система квестов осталась практически неизменной, погружению в которую сильно поспособствовала полная голосовая озвучка.


Это ни коем случае не The Elder Scrolls VI, а мультяшная графика и довольно статичное поведение NPC может отталкивать некоторых игроков. Но в конечном итоге, ESO это лучшая MMO, которую Bethesda могла бы сделать, оставаясь в рамках шаблона Elder Scrolls.

В ожидании The Elder Scrolls VI


Если говорить о графике, то недавно утёкшие скриншоты Starfield дают нам достаточно полное представление о том, какие технологии использует Bethesda при создании следующего поколения своих RPG.

Выпуск The Elder Scrolls VI запланирован сразу после выпуска Starfield, поэтому, вероятно, в ней будет использоваться та же базовая технология. Утёкшие скриншоты были сделаны в 2018 году и в готовой игре графика может сильно улучшиться. Однако, судя по тому, что мы увидели, в Starfield используется конвейер физически корректных материалов и моделей, а количество полигонов выше, чем в современных проектах Bethesda.

Fallout 4 добавила в Creation Engine PBR (physically-based rendering, физически корректный рендеринг), поэтому следует ожидать высокого качества материалов. Модели с увеличенным количеством полигонов отлично подойдут для GPU консолей следующего поколения. Кроме того, трейлер The Elder Scrolls VI продемонстрировал значительное увеличение расстояний прорисовки. Если ландшафт в трейлере действительно реализован на движке, то можно ожидать гораздо более впечатляющих видов и снижения эффекта резко появляющихся на экране объектов.

А как насчёт всего того, чего мы не знаем?

Самым важным улучшением The Elder Scrolls VI может стать не графика, а глубина геймплея. Обе консоли девятого поколения содержат 8-ядерные процессоры Zen 2, которые на порядок величин быстрее, чем слабые процессоры на основе Jaguar консолей PlayStation 4 и Xbox One. Эту процессорную мощь можно будет использовать для создания более глубоких взаимодействий с NPC на основе искусственного интеллекта, повышения детализации миров и ветвящихся структур квестов со множеством состояний.


В RPG-играх компании Bethesda самым главным всегда была атмосфера, возможность затеряться в странном новом мире. Хотя графика стала намного лучше, основные взаимодействия и дизайн квестов Elder Scrolls со времён Morrowind практически не изменились. Новые RPG наподобие Cyberpunk 2077 переосмысляют роль игрока. Будет интересно узнать, как Bethesda воспользуется новыми процессорными мощностями для создания более правдоподобных окружений.

Ко времени выхода The Elder Scrolls VI франшизе The Elder Scrolls вполне может исполниться тридцатник. За десяток лет и смену двух поколений консолей с момента выхода Skyrim мы наблюдали заметный прогресс в жанре RPG с точки зрения игровых технологий.

Сейчас, когда мы находимся в начале эпохи нового поколения консолей, нам только предстоит узнать, что придумают разработчики, использующие полную мощь PlayStation 5 и Xbox Series X. Если воспринимать ситуацию так, то ещё несколько лет разработки могут пойти игре на пользу.

Полностью оформившаяся игра Elder Scrolls нового поколения вполне может превратиться в RPG десятилетия.



На правах рекламы


Наши эпичные серверы могут использоваться для любых задач. Надёжные VDS на Linux или Windows с мощными процессорами семейства AMD EPYC и очень быстрой файловой системой, используем исключительно NVMe диски от Intel. Попробуйте как можно быстрее!

Присоединяйтесь к нашему чату в Telegram.

Подробнее..

Категории

Последние комментарии

  • Имя: Билал
    04.12.2024 | 19:28
  • Имя: Murshin
    13.06.2024 | 14:01
    Нейросеть-это мозг вселенной.Если к ней подключиться,то можно получить все знания,накопленные Вселенной,но этому препятствуют аннуннаки.Аннуннаки нас от неё отгородили,установив в головах барьер. Подр Подробнее..
  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2025, personeltest.ru