Попробуйте переключиться или направьте энергию на борьбу с возможными последствиями.
Краткую версию статьи можно послушать. Если вам так удобнее, включайте подкаст.
У этого состояния есть много имён: беспокойство, тревога, паника. Вы постоянно прокручиваете в голове бесконечный поток пугающих мыслей и чувствуете при этом страх, неопределённость, нервозность, обречённость. Вот несколько шагов, которые помогут структурировать эти эмоции и найти способ борьбы с ними.
Важно: справиться самостоятельно можно не всегда. Если приступы тревоги переросли в тревожное расстройство или вы сталкиваетесь с паническими атаками, лучше разбираться с этим с помощью специалиста. Иначе можно сделать только хуже.
Признайте проблему
С тех пор, как стрессоустойчивость превратилась в неотъемлемый пункт любого резюме, беспокоиться стало как‑то несолидно. Все справляются с кризисными ситуациями по‑разному: у кого‑то открывается второе дыхание и человек становится невероятно продуктивным. Ну а кто‑то тратит половину ресурсов на тревогу и не может собраться. Оба варианта — нормальная реакция на стресс. Этакое «замри или беги», только в условиях городских джунглей, а не реальных.
Бывает, пока одни в панике скупают гречку и доллары, другие смеются над ними: «Вот глупые, паникуют, я‑то не такой». Это не значит, что вторые не беспокоятся: попытки игнорировать проблему тоже реакция.
Елена Петрусенко
Психолог онлайн-школы «Фоксфорд».
Стресс необходим человеку, ведь он позволяет организму адаптироваться к изменяющимся условиям окружающей среды и возвращаться в нормальное состояние. Не отрицайте то, что происходит с вами и вокруг вас. Это не уведёт от неприятной действительности. Не нужно требовать от себя и своих близких невозможного. Постарайтесь увидеть реальность во всём объёме.
Как только вы признаетесь себе честно и без прикрас, что у вас проблема, вы можете начать её решать.
Осознайте причины беспокойства
Вы признались себе, что тревожитесь, самое время разобрать источник беспокойства по косточкам. Допустим, вы переживаете из‑за мирового кризиса, на который по очевидным причинам повлиять не можете. Но это довольно абстрактное понятие. Если подумать, пугает не кризис, а возможные последствия, которые он в состоянии принести. Поэтому важно проговорить (а лучше прописать) реальные страхи. Например, это может быть:
потеря работы;
ухудшение финансового положения;
невозможность платить по кредитам и рост задолженности;
потеря сбережений.
С одной стороны, эти тревоги, переведённые в практическую плоскость, могут напугать ещё сильнее. С другой стороны, враг из абстрактного превращается в реального и близкого вам. И, возможно, здесь вы повлиять на ситуацию уже можете.
Такой подход поможет структурировать хаос в вашей голове, сформулировать реальные причины беспокойства.
Действуйте, если на ситуацию всё же можно повлиять
Возможно, вы сформулировали свои реальные страхи и выяснили, что не бессильны. Как в примере с мировым кризисом: вам не подвластна экономика планеты, но для себя вы можете подстелить соломку.
Пугает неизвестность. Как только враг станет знакомым, бороться с ним будет гораздо проще.
Переключайтесь, если ничего не можете изменить
Сказать проще, чем сделать. Более того, не в любом состоянии можно уйти от тревоги. Именно поэтому вначале мы уже говорили о необходимости обратиться к специалисту, если с беспокойством не получается справиться самостоятельно. Когда страхи отравляют жизнь, но ещё не завладели ею, бороться с ними всё же можно, хоть для этого и нужно будет потрудиться.
Переключение не имеет ничего общего с советами доброжелателей «просто перестать беспокоиться». Это так не работает: нельзя взять и прекратить. Зато можно попытаться купировать приступ тревоги. Для этого необходимо следить за своим состоянием и тормозить себя, если вы погружаетесь в воронку пугающих мыслей. В этот момент лучше отвлечься на что‑то другое. Вот несколько вариантов.
Заняться спортом
Усилия воли не всегда достаточно, чтобы отвлечься. Гормоны радости эндорфины справятся с этим гораздо лучше. Именно они вырабатываются при занятиях спортом. Не обязательно ставить рекорды. Подойдёт любая физическая активность.
Сконцентрироваться на ощущениях
Подумайте о том, что вы видите, слышите, ощущаете пальцами, чем пахнет вокруг — задействуйте ваши органы чувств.
Мария Эриль
Психолог, психотерапевт, руководитель направления «Психология коммуникации» в компании Business speech.
В момент, когда вы ощущаете, что подступает тревога, оглянитесь вокруг и назовите: пять объектов, которые вы видите (зрение), четыре, к которым прикасаетесь (осязание), три источника звука (слух), два источника запаха (обоняние) и один объект, который ощущаете на вкус.
Обняться с близкими
Тактильный контакт с приятными вам людьми стимулирует выработку окситоцина — одного из четырёх гормонов счастья. Соответственно, настроение улучшается, а уровень беспокойства снижается.
Глубоко дышать
Важно сосредоточиться на процессе.
Илья Шабшин
Психолог-консультант.
Всего несколько минут подышите таким образом, чтобы на вдохе живот выпячивался, а грудь не поднималась, и вы почувствуете, как волнение уходит. Это простой и надёжный способ.
Переключиться на то, что можно контролировать
В фильме «День радио» в критической ситуации один из главных героев сказал: «У нас сейчас две проблемы — Минобороны и пуговица. Пуговицу мы найти можем? Чисто теоретически можем! А с Минобороны мы сделать ничего не можем. Вывод: надо искать пуговицу». И это один из способов справиться с беспокойством.
При этом важно не переключаться с одних тревожащих мыслей на другие: смена шила на мыло никогда не была выгодной сделкой.
Рационализировать ситуацию
Возвращение к тревожащим мыслям, пусть и с другой стороны, подойдёт не всем. Но если вы из тех, кого успокаивают цифры, статистика, доказательства, можно попробовать объяснить себе, почему ситуация не так страшна, как кажется.
Илья Шабшин
Психолог-консультант.
Поговорите с собой, точнее со своей испуганной частью. Представьте мысленно, что внутри вас есть такая часть. Возможно, это ваш внутренний ребёнок. От имени взрослого себя обратитесь к нему и успокаивайте как малыша, которого вы любите и которому хотите помочь. Его даже можно мысленно обнять, чтобы ещё сильнее дать почувствовать защищённость и безопасность.
Это лишь несколько примеров того, на что вы можете переключиться. Найдите способы, которые успокаивают и радуют вас, и используйте их. Что бы вы ни делали, важно действовать по следующему алгоритму: поймали себя на тревожащих мыслях → сказали себе «хватит» → переключились. Помните, что у любой пугающей ситуации есть не только начало, но и конец.
Неприязнь к пористым поверхностям появилась не просто так — она заложена в нас эволюцией.
Посмотрите на картинку ниже. Это плод лотоса орехоносного, содержащий его семена. Возможно, вы не заметите ничего интересного — растение и растение. Кто‑то может даже счесть его забавным или симпатичным.
Но если вы внезапно почувствовали страх, отвращение, брезгливость, знайте: у вас трипофобия.
Что такое трипофобия
Слово это происходит от греческих «трипа» (τρύπα) — «отверстие» или «сверление» и «фобос» (φόβος) — «ужас». То есть это страх перед скоплением отверстий или бугорков на разных поверхностях.
Строго говоря, официального диагноза с таким названием вообще не существует. Трипофобия не включена Американской психиатрической ассоциацией в Диагностическое и статистическое руководство по психическим расстройствам (DSM‑5). И явление это научным сообществом исследовано довольно слабо.
Само слово «трипофобия» придумала в 2005 году некая анонимная пользовательница интернета из Ирландии. С тех пор появилось изрядное количество веб‑форумов и групп в соцсетях, завсегдатаи которых обмениваются фотографиями отверстий и выпуклостей, вызывающих крайнюю степень отвращения и брезгливости. Очень многие люди узнали о своей трипофобии именно благодаря подборкам таких картинок и видеороликов.
Как проявляется трипофобия
Люди с трипофобией при взгляде на предметы с так называемыми кластерными отверстиями или даже их изображения чувствуют тревогу, тошноту, потливость, дрожь и кожный зуд. Особенный дискомфорт у них вызывают кораллы, пчелиные соты, различные пористые растения и грибы, копошащиеся насекомые или личинки, а также некоторые животные. Например, лягушка пипа суринамская, которая вынашивает своих головастиков в наростах на спине.
Ещё хуже трипофобам становится, если подобные кластерные отверстия будут нанесены с помощью фотомонтажа или грима на кожу человека.
Не переживайте, это не ужасная кожная болезнь, а просто грим. Кадры: QUEENKINGSFX / YouTube
Но отдельные впечатлительные личности могут испытывать трипофобный ужас даже перед совершенно невинными вещами: пенкой в кофе или стоящими тесными рядами пластиковыми стаканами. Некоторые и тройную камеру iPhone подолгу рассматривать не могут.
Насколько распространена трипофобия
Неприязнь перед кластерными дырками и бугорками встречается очень часто. Психиатры из Университета Эссекса Джефф Коул и Арнольд Уилкинс отмечают, что в той или иной степени дискомфорт при рассматривании картинок с пористыми поверхностями испытывает большинство людей — даже те, кто отрицает наличие у себя трипофобии.
Просто у одних такое зрелище вызывает лёгкую неприязнь, а у других — приступы паники.
Уилкинс и Коул показывали испытуемым фотографии, на которых изображались дырочки в коже, мясе, дереве, растениях, кораллах, губках, плесени, сухих стручках, семенах и пчелиных сотах. И большинство респондентов отмечали, что те казались им «отвратительными и огромными». Они чувствовали, что «могут упасть в них» или что «внутри этих отверстий может что‑то жить».
Если речь идёт о пипе суринамской, то в отверстиях на её спине живут головастики. Кадры: Wikimedia Commons
Другие исследования показали, что до 17% детей и взрослых — примерно каждый шестой человек — в той или иной степени страдают трипофобией. Отмечается, что эта боязнь чаще встречается у женщин, хотя и мужчины ей подвержены.
Из‑за того, что дискомфорт при виде кластерных отверстий встречается так часто, некоторые учёные считают, что трипофобия является не патологией, а нормой.
Почему трипофобия отличается от других фобий
Арахнофобы испытывают ужас при виде пауков, акрофобы боятся высоты, клаустрофобы впадают в панику, оказавшись запертыми в тесноте. А вот основные эмоции, которые вызывают у людей кластерные отверстия, не страх, а отвращение и брезгливость.
В 2018 году исследователи из Университета Эмори провели эксперимент. Они отобрали группу из 41 студента и показывали им различные пугающие фотографии змей, пауков и прочих созданий, которые чаще всего становятся объектами фобий. Кроме того, им демонстрировали картинки с кластерными отверстиями и бугорками. В процессе у испытуемых измеряли пульс, давление, отслеживали движение и изменение размера зрачков.
Вид опасных и потенциально ядовитых животных вызывал обычный страх, который, в свою очередь, стимулировал встроенный в человека механизм защиты. Зрачки расширяются, кровь начинает активно циркулировать по мышцам, сердце бьётся сильнее, адреналин вырабатывается. Типичная реакция «бей или беги».
И это логично: когда наши предки замечали ядовитого паука или змею, они либо уничтожали источник угрозы, либо убегали прочь, громко крича, чтобы предупредить соплеменников.
А трипофобные изображения вызывали у студентов совсем другую реакцию. Зрачки сужались, дыхание и пульс замедлялись, человек впадал в оцепенение. Это не ужас, а крайняя форма отвращения.
Откуда у нас взялась боязнь маленьких дырочек
Психиатры из Университета Эмори и Университета Кюсю считают, что трипофобия является защитной реакцией, но не на хищников и ядовитых созданий, а на потенциальный источник инфекции.
Кожа человека, больного корью или оспой, отверстия, сделанные насекомыми‑паразитами, поры, раны и личинки в гниющих тканях, червивые ходы в мясе и фруктах — отвращение ко всему этому заложено в нас эволюцией. Поэтому приступ трипофобии не заставляет людей кричать и бежать что есть сил. Напротив, он усиливает брезгливость, вынуждая замереть и задержать дыхание, чтобы как можно меньше контактировать с источником заразы.
Примерно по той же причине мы испытываем врождённую неприязнь к мертвецам, язвам и продуктам гниения. Это защита от отравления и инфекции.
Несложно заметить, что кластерные отверстия, которые вызывают трипофобию, визуально похожи на проявления кожных, инфекционных и паразитарных заболеваний. Таким образом подсознательно мы выявляем потенциальную опасность заразиться оспой либо подцепить личинку овода или какого‑нибудь его экзотического родственника, например вольфартовой мухи.
Так что не думайте, что вы сходите с ума, если вам неприятно смотреть на дырки в сыре. Просто у вас слишком хорошо развиты инстинкты, которые миллионы лет защищали ваших предков.
Можно ли справиться с трипофобией
У некоторых людей трипофобия настолько сильна, что они могут впадать в панику, увидев ажурный блинчик, лежащие рядком макароны или пенку на поверхности напитка. Если ваши чересчур обострённые чувства мешают повседневной жизни, следует обратиться к психотерапевту.
Специальных методов лечения трипофобии нет. Но врачи рекомендуют использовать ту же технику, что работает против других фобий, — постепенную экспозицию.
Человеку в спокойных условиях показывают картинки и предметы, которые его пугают, постепенно увеличивая их количество и время сеанса. Со временем трипофоб начинает контролировать свои страх и отвращение и оказывается способен спокойно смотреть на объекты с дырочками и даже прикасаться к ним.
Впрочем, как уже упоминалось, в том или ином виде трипофобия присутствует у многих, и обычно она не особенно мешает. Вряд ли в обычной жизни вам каждый день приходится рассматривать спину суринамской пипы, соты и кораллы. Так что если вы не будете целенаправленно гуглить специфические картинки в интернете, боязнь пористых поверхностей вам никак не повредит.
Во все времена ради красоты люди были готовы терпеть любые неудобства.
1. Огромные гульфики
В Европе XIV века мужские кальсоны снабжались специальными мешочками, куда помещались гениталии. Причём гульфики эти кроились так, чтобы не скрывать, а, напротив, показывать достоинства их владельцев. Более того, их также наполняли тканью, чтобы ещё увеличить предполагаемые размеры содержимого.
Гульфики расшивали бисером, жемчугом и драгоценностями, изготавливали из бархата и снабжали пуговицами и завязками. Причём их устанавливали и на доспехах — там они были металлические.
Эта мода достигла своего пика в 1540‑х годах, но к 1590‑м пошла на спад.
Гигантские гульфики, которые носили модники, осыпались насмешками более консервативных господ. Например, Франсуа Рабле иронизировал над этим элементом одежды в своей книге 1532 года «Гаргантюа и Пантагрюэль».
Когда мода на гульфики прошла и соображения о благочестии в обществе поменялось, их даже пришлось отковыривать с церковных статуй и надгробий. Потому что важные господа, заказывая памятники, не стеснялись дополнительно украшать изваяния, представлявшие их после смерти.
В конце концов, памятник должен отображать лучшее, чем человек мог похвастаться, пока ещё пребывал среди живых, правда?
2. Обувь с чрезвычайно длинным носком
Гульфики были не единственным своеобразным модным аксессуаром Средневековья. Ещё в Европе в XIV–XV веках была популярна весьма странная обувь — пулены. В Польше их также называли кракове.
Это были мягкие кожаные башмаки с невероятно длинным носом — иногда до 60 сантиметров. Чтобы они не теряли форму, солидные господа помещали внутрь китовый ус. При этом носили такую обувь и не очень обеспеченные ребята — это был отличный способ покрасоваться.
Церковь пулены осуждала. В 1388 году один набожный англичанин жаловался, что окружающие его господа не могли встать на колени во время молитвы, потому что у них были слишком длинные носки туфель. А в пьесе 1440 года обладателей пуленов упрекали в склонности к гордыне и пустой похвальбе.
Вижу я, что ты раздуваешь своё хвастовство длинными носками туфель!
«Замок Настойчивости»
Пьеса неизвестного автора XV века
Кстати, как и гульфики, пулены бывали и металлические — они служили частью доспеха. История не сохранила упоминаний о том, использовалась ли такая обувь как оружие. Хотя, надо полагать, если как следует лягнуть таким башмачком соперника по фехтованию в гульфик — мало никому не покажется.
Пулены были весьма неудобной обувью, и носившие их нередко зарабатывали бурсит — воспаление суставов. И к 1480‑м годам они наконец вышли из моды и были заменены на туфли с короткими и широкими — «утиными» носами.
3. Чудовищно высокие платформы
Думаете, в наши дни женщины ходят на по‑настоящему высоких каблуках? Ха! Это вы ещё в Средние века не заглядывали. Чопины, они же цокколи, были популярной в Европе XIV–XVII века обувью. Они изготавливались из пробкового дерева и увеличивали рост обладательницы сантиметров на 50.
В эпоху Возрождения чопины получили особенно широкое распространение. Они отражали статус владелицы: чем выше цокколи — тем благороднее дама. Приятно взирать на чернь свысока, знаете ли. А то, что ходить неудобно, — ну так красота требует жертв.
Чтобы встать на чопины, благородной девице требовалась помощь пары слуг.
Но зато, по словам итальянского танцмейстера Фабрицио Карозо, при должной сноровке леди в цокколях могла грациозно двигаться, прогуливаться и даже танцевать гальярду.
В интернете можно найти утверждения, что обувь эта якобы была изобретена, чтобы женщины могли перемещаться по залитым нечистотами улицам, не пачкая платья. В действительности же Средневековье было не таким уж и грязным, и чопины были сугубо модным аксессуаром. А миф такой, возможно, появился потому, что их путали с ходулями.
В те времена многие крестьяне действительно использовали палки для ходьбы по вспаханным полям и болотам, для пересечения ручьёв и так далее. Но это всё частности быта сельских жителей — благородная дама в поле в чопинах, очевидно, не пошла бы.
Церковь эту обувь считала символом греха и распущенности. В Венеции в 1430 году даже был принят закон, ограничивающий их высоту до 3 дюймов (7,6 см), но его никто не соблюдал. В 1700‑х же чопины вышли из моды, и на смену им пришли более привычные нам каблуки.
4. Очень широкие юбки
Первоначально кринолином называли хлопковую ткань с основой из жёсткого конского волоса, изобретённую в начале XIX века. Её использовали для создания подкладок к платьям, которые придавали им нужную форму. Но в апреле 1856 года парижская компания RC Milliet запатентовала юбку из стальных обручей, выполнявшую ту же роль, и с тех пор кринолином стали называть именно такую конструкцию.
Дамы, желавшие сделать свои платья действительно пышными и широкими, надевали под платье каркасы из металла, китового уса, тростника и даже каучука. Диаметром кринолиновые юбки могли достигать 1,8 метра.
Ну и что, что в таком платье нельзя ни посидеть, ни в дверь пройти, ни нагнуться, чтобы шнурки завязать? Зато красиво. Ну, относительно. Бывали экземпляры и до 2,8 метра диаметром, но их использовали только для постановочных фотографий — ходить в них было нельзя. Кринолин стал чрезвычайно модным в 1850‑х — его носили женщины всех социальных слоёв.
Однако он был не только неудобен, но порой ещё и опасен.
Сохранись записи о случаях, когда женщины в кринолине умирали или получали травмы, потому что не могли быстро его снять. Например, сестра милосердия Флоренс Найтингейл в 1863–1864 годах подсчитала, что в от возгорания этой конструкции погибло не менее 630 женщин.
Так, 13 февраля 1863 года 14‑летняя кухарка по имени Маргарет Дэйви сгорела заживо, когда подошла к разожжённому камину снять несколько ложек с полки над ним. Похожий случай произошёл в том же году с 16‑летней Эммой Муссон — ей под платье залетел горящий уголёк. Кроме того, женщины в кринолине цеплялись за колёса карет, слетали с лестниц и попадали под лошадей. В отчёте от 2 июня 1864 года описана смерть некой Энн Роллинсон, которая работала в цехе по отжиму белья в Фирвуде. Её кринолин был захвачен вращающимся валом, и модницу раздавило.
Благо к концу 1860‑х годов кринолины стали уменьшаться в размерах, и женская смертность пошла на убыль.
5. Высоченные парики со шляпами
В XVIII веке молодые британские аристократы повадились после совершеннолетия ездить в Европу, а в частности — в Италию. Это называлось «Гранд‑тур». И из поездок этих они привозили с собой разные модные тенденции, казавшиеся глупыми более взрослым чопорным британцам. Таких франтов называли «макарони» в честь итальянского блюда, и отличительной чертой их были сногсшибательные парики.
Эти искусственные напудренные причёски с завитыми кудрями и бантами были очень, очень высокими — настолько, что головы их обладателей казались вытянутыми чуть ли не вдвое. А чтобы казаться ещё выше, макарони надевали поверх всего этого благолепия шляпу с пером. Её приходилось прикалывать булавкой, чтобы не свалилась.
Производство париков было недешёвым удовольствием, ведь их изготавливали из натуральных человеческих волос. И если стремление к прекрасному было сильно, а вот финансовое положение — не очень, можно было заказать искусственную шевелюру из конских либо козьих волос. Выходило дешевле, но вот друзья могли и засмеять.
Волосы для парика отбеливались специальным сортом глины, использовавшейся для штукатурки, а также подкрашивались мукой. Затем специальной помадой из воска, медвежьего жира или сала волосы поднимали, заставляя их буквально «колом стоять».
К этому украшению должны были прилагаться узкие штаны, короткие пальто, яркие туфли и полосатые чулки. Вот такой вот запоминающийся образ.
6. Украшения из живых существ
Обычной брошкой с золотой бабочкой или жуком никого не удивить. А как насчёт живых насекомых, ползающих по вам в качестве украшения? В наши дни это звучит не особо приятно, но в истории были случаи, когда люди украшали себя образчиками живой природы.
Так, в викторианскую эпоху определённую популярность получили броши, сделанные из живых жуков. Насекомых украшали золотом и бриллиантами, прицепляли ажурной цепочкой к одежде с помощью булавки и позволяли им гулять по телу.
Сохранились записи о том, как в 1891 году некая миссис Де Джонс прикрепила алмаз к спинке жука и повесила его на шею как ожерелье. Насекомое ползало по декольте, бриллиант переливался — оригинальный аксессуар, не правда ли? Викторианские модницы также украшали платья живыми сверчками, гусеницами и светляками, чтобы те светились, стрекотали и всячески привлекали внимание к своей хозяйке.
Причём чем реже и экзотичнее было насекомое, тем более престижным оно считалось.
Некоторые редкие виды радужных жуков даже оказались под угрозой исчезновения — так активно их ловили для продажи.
Одними насекомыми викторианские леди не ограничивались — тогда также была популярна таксидермия, и для девушки из высшего общество было естественным потрошить разных зверюшек и украшать ими своё жилище или одежду. Чучело райской птицы на шляпке и живой жук или ящерица в декольте — как вам такие пикантные детали?
В наши дни желающие украсить себя насекомыми тоже находятся. Например, в 2006 году модельер Джаред Голд представил коллекцию гигантских мадагаскарских шипящих тараканов с прикреплёнными к ним кристаллами Сваровски. Впрочем, популярности они не снискали — защитники прав животных справедливо указывают, что подвергать инсектоидов таким страданиям бесчеловечно.
С моделями из подборки можно забыть о вёдрах с водой и бытовой химии.
1. С насадкой для очистки ковров
Швабра Kitfort КТ‑1015 подойдёт для очистки пола от грязи и микробов без агрессивных моющих средств. Модель также поможет освежить ковры с коротким ворсом. Устройство разогревается всего за 15–30 секунд и подаёт пар с интенсивностью 20–30 г/мин, легко справляясь с въевшимися пятнами.
Съёмный резервуар для воды вмещает 330 мл. Этого объёма хватит примерно на 20 минут, если включить максимальную мощность. Интенсивность подачи пара регулируется по трём уровням, позволяя подобрать вариант для покрытий разного типа.
Благодаря шарнирному креплению рабочая поверхность вращается — с тщательной уборкой под низкорасположенной мебелью трудностей не возникнет. Для экономии места устройство можно хранить вертикально. К сети швабра подключается при помощи шнура длиной 5 м. В комплекте идёт салфетка из микрофибры и насадка‑рамка для лёгкого скольжения по коврам.
Со шваброй Kitfort КТ‑1081 получится проводить влажную уборку любых поверхностей и ухаживать за мебелью. Съёмный модуль с комплектом насадок превращает устройство в ручной пароочиститель, который поможет отмыть окна, очистить кафель, шторы, диваны и мягкие игрушки.
Подача пара плавно регулируется. Максимальная интенсивность достигает 35 г/мин. Объёма съёмного контейнера для воды в 380 мл достаточно на 10–15 минут непрерывной работы. Помимо насадок для ручного модуля в набор входят две многоразовые салфетки и пластиковая рамка для ковров.
Эта модель, как и предыдущий вариант, заменит сразу несколько бытовых приборов. Помимо очистки пола, ковров и стёкол швабра Starwind SSM5575 умеет отпаривать одежду и мебельную обивку. Всего в наборе 10 насадок, включая гибкий шланг‑удлинитель для работы в труднодоступных местах. Рабочая поверхность вращается на 180° и позволяет легко добраться до труднодоступных мест.
Всего через 30 секунд после включения устройство готово к использованию. Мощность подачи пара настраивается по трём уровням до 25 г/мин. Резервуар на 350 мл встроен в корпус, и, чтобы его было проще наполнять водой, в комплекте есть мерный стаканчик с носиком.
Швабра Kitfort КТ‑1017‑3 с функцией вертикального отпаривания легко справится со въевшимися загрязнениями на линолеуме, кафеле, сантехнике, кухонной вытяжке и не только. Быстро привести в порядок одежду прибор тоже поможет. Поддерживается плавная регулировка мощности подачи пара до 30 г/мин. Полностью разогревается швабра всего за 15 секунд.
Ещё один плюс — большое резервуар для воды. Он вмещает 550 мл и обеспечивает до 55 минут непрерывной работы на низкой мощности. Комплект включает 10 насадок.
Швабру Maunfeld MF‑1934GR можно использовать в ручном режиме как пароочиститель. В комплекте есть две салфетки для пола и различные насадки. К примеру, для удаления сложных загрязнений с поверхностей, устойчивых к механическому воздействию, пригодятся скребок и металлическая щётка.
Благодаря складной конструкции модель занимает минимум места при хранении. Подача пара плавно регулируется от 25 до 35 г/мин. Без дозаправки водой швабра работает около 15 минут. Объём бака — 350 мл.
Паровая швабра Ariete 4164 разогревается за 10 секунд и работает без остановки около 20 минут. У модели поворотная рабочая поверхность, резервуар для воды на 350 мл и множество насадок в комплекте.
Есть функция вертикального отпаривания и регулировка мощности. Пар подаётся под давлением 1 бар — этого достаточно для быстрого удаления въевшейся грязи и дезинфицирования поверхностей. Чтобы во время хранения сетевой шнур не спутывался, на корпусе есть пара крючков для аккуратной его намотки.
Futula Steam Mop SM12 с резервуаром на 400 мл пригодится владельцам домашних питомцев. Помимо двух салфеток из микрофибры и насадки для вертикальной глажки, в наборе есть щётка, которая поможет очистить одежду и мебель от шерсти животных. Всего в комплекте 9 аксессуаров.
Настраивать подходящую длину под разный рост во время мытья пола позволит телескопическая удлинительная трубка. На корпусе установлены кнопки для регулировки силы подачи пара до 1,5 бар. Максимальное время работы без перерыва достигает 25 минут.
Швабру Tefal VP6557 не получится использовать в качестве ручного отпаривателя, зато с очисткой и дезинфекцией напольных покрытий любого типа прибор справится отлично. У модели вместительный съёмный бак объёмом 600 мл, который позволит убрать без дозаправки большую квартиру.
На разогрев устройства потребуется около 30 секунд. Подачу пара можно настраивать по трём уровням для разных материалов. Длины сетевого шнура в 7 метров достаточно для свободного перемещения по комнате. Переносить устройство одной рукой поможет ручка‑петля.
Паровая швабра Karcher SC 2 Upright тоже предназначена только для очистки пола. Модель поддерживает два режима подачи пара для деревянных и плиточных покрытий и создаёт давление до 3,2 бар.
Внутри съёмного резервуара для воды ёмкостью 400 мл есть картридж фильтрации — он предотвращает образование накипи и защищает прибор от поломок. Подливать жидкость в бак можно прямо в процессе работы, не прерывая уборку. Салфетка из микрофибры крепится с помощью липучки — её получится снимать, придерживая ногой, чтобы не контактировать с грязью.
Security Week 2416: уязвимость в серверных материнских платах Intel, Lenovo и Supermicro
1 минуту назад
4 мин
8
На прошлой неделе исследователи компании Binarly сообщили об обнаружении уязвимости в серверных материнских платах как минимум трех крупных вендоров: компаний Intel, Lenovo и Supermicro. Уязвимость была обнаружена в модуле Baseboard Management Controller, используемом для удаленного управления сервером. BMC создан для управления парком серверов, он упрощает установку операционной системы и другие операции и работает, даже когда сам сервер выключен. Для работы BMC требуется веб-сервер, и в ряде контроллеров для этого используется проект с открытыми исходными кодами lighthttpd. Уязвимость в этом веб-сервере может быть эксплуатирована для чтения данных из оперативной памяти за пределами выделенного диапазона (out of bounds read).
Как отмечается в отчете Binarly, данная уязвимость выявляет целую серию недоработок в цепочке поставок. Уязвимость была обнаружена и исправлена разработчиками lighthttpd еще в 2018 году. Производители контроллеров BMC, несмотря на это, продолжили использовать уязвимую версию — она обнаружена в ряде контроллеров как минимум двух поставщиков, компаний AMI и ATEN. Контроллеры устанавливались в материнские платы, для которых какое-то время выпускались обновления прошивки. Соответственно, имелась возможность исправить уязвимость для уже выпущенных устройств. Но этого сделано не было: в отчете приводится пример платы Intel, самое свежее обновление прошивки контроллера для которой датировано февралем 2003 года. Уязвимость в этом случае не была исправлена. А после того, как Binarly передала информацию о проблеме производителям матплат, Intel и Lenovo сообщили, что исправлять ошибку не будут, так как подверженные устройства более не поддерживаются.
Отдельным интересным моментом этой истории является то, как разработчики lighthttpd исправили уязвимость. Это было сделано в августе 2018 года, с комментарием о том, что «были справлены некоторые сценарии use-after-free». Ошибки не были квалифицированы как уязвимость, для них не был назначен идентификатор CVE. Скорее всего, это привело к тому, что разработчики контроллеров BMC не обратили внимания на сообщение. Справедливости ради отметим: в отчете Binarly не показаны опасные сценарии эксплуатации уязвимости. Возможность чтения чувствительных данных из оперативной памяти — уже представляет проблему, но, например, перехват управления сервером возможен, только если комбинировать данную уязвимость с какой-то другой. Возможность для этого есть: потенциальный злоумышленник может использовать уязвимость, направляя подготовленные http-запросы к серверу, чтобы в итоге получить достаточно данных для обхода стандартной системы защиты ASLR.
В любом случае использование в коммерческом продукте, в одном из самых ответственных его узлов, кода шестилетней давности — не лучшая практика. Равно как и отказ обновлять прошивки «устаревших» устройств, которые широко используются клиентами. Последним придется заняться сложной задачей: определить наличие уязвимых серверов, что зависит как от версии используемой материнской платы, так и от модели установленного контроллера. Это далеко не первая проблема, обнаруженная в контроллерах BMC. В 2023 году та же Binarly нашла в модулях, используемых Supermicro, ряд критических уязвимостей. В том отчете приводится полезная статистика. Несмотря на (очевидные) рекомендации ограничить доступ к BMC, более 70 тысяч контроллеров были доступны из Интернета. Важным отличием свежей проблемы является то, что ее можно было решить много раз за последние шесть лет. Что еще произошло
Критическая уязвимость в брандмауэрах компании Palo Alto эксплуатируется с середины марта этого года. Заплатки для разных версий операционной системы PAN-OS начали выпускать с 14 апреля.
Опубликовано два подробных анализа бэкдора в xz-utils, о котором мы писали ранее. Исследователи «Лаборатории Касперского» в деталях рассказывают, как элементы бэкдора были спрятаны в исходных кодах проекта, забираемых мейнтейнерами дистрибутивов. В отчете компании Binarly приводится множество фрагментов вредоносного кода. Самым важным развитием этой истории стало уточнение функциональности бэкдора: он обеспечивает как обход системы аутентификации, так и возможность выполнения произвольного кода с наивысшими привилегиями.
На прошлой неделе компания Microsoft выпустила очередной ежемесячный набор патчей. В том числе были закрыты две серьезных уязвимости, используемые в реальных атаках. Всего было исправлено 150 ошибок, и это делает данный набор патчей крупнейшим с 2017 года. Набор патчей также выпущен для продуктов Adobe, в нем помимо прочего закрыты уязвимости в платформе для интернет-магазинов Magento.
Американское агентство по кибербезопасности предупреждает о взломе инфраструктуры компании Sisense, предоставляющей компаниям услуги бизнес-аналитики. Опасность этого инцидента в том, что клиенты Sisense доверяют компании максимально чувствительную информацию, которая в результате взлома может попасть в руки злоумышленников.
Издание Ars Technica пишет об опасности глобальной автозамены. Соцсеть X/Twitter на прошлой неделе попыталась заменить все ссылки, ведущие на twitter.com. Менялись отображаемые ссылки, а не «реальные», по которым пользователя переводят после клика, по паттерну *twitter.com -> *x.com. Что привело к ситуации, когда ссылка на сайт netflitwitter.com отображается как netflix.com. Это создает идеальные условия для фишинга, что было подтверждено массовой регистрацией доменов, заканчивающихся на twitter.com.
Компания Lastpass, разработчик одноименного менеджера паролей, сообщила о попытке атаки на собственного сотрудника, в ходе которой он получал звонки и голосовые сообщения якобы от генерального директора. Атакующие пытались воспроизвести голос реального гендиректора Lastpass, используя технологии машинного обучения. Это интересное развитие достаточно распространенного метода атак на бизнес, которое еще раз напоминает — если начальство звонит вам и просит срочно что-то сделать, возможно, не стоит торопиться.
Исследователи из университета VU Amsterdam показали новый вариант атаки Spectre на процессоры Intel.
Серьезные уязвимости обнаружены в умных телевизорах LG, работающих на платформе WebOS. Они позволяют обойти систему аутентификации по ПИН-коду и получить полный контроль над устройством.
11 апреля в российский прокат одновременно со всем миром вышел новый фильм Алекса Гарленда «Падение империи» — его четвёртая полнометражная режиссёрская работа (был ещё сериал «Разрабы»). Хотя автора уже до этого знали как отличного сценариста и писателя: по его книге сняли фильм «Пляж», и он работал над сюжетом «28 дней спустя».
В новой картине Гарленд пробует новые для себя тему и жанр: «Падение империи» — мрачное роуд‑муви о гражданской войне в США. Режиссёр не зацикливается только на американской культуре, поэтому фильм будет понятен зрителю в любой стране. По этой же причине смотреть его очень дискомфортно, но необходимо.
О чём фильм
Действие происходит в США, но неизвестно, в какое время. Вероятно — это ближайшее будущее или альтернативное настоящее. Страну поглотила гражданская война. «Силы запада», выросшие из объединения Техаса и Калифорнии, продвигаются к Белому дому. Президент (Ник Офферман) занимает свой пост уже третий срок. Он ещё озвучивает мотивирующие лозунги, но все понимают, что его дни сочтены — восставшие скоро захватят власть.
Фотожурналистка Ли (Кирстен Данст) и репортёр Reuters Джоэл (Вагнер Моура — Пабло Эскобар из «Нарко») хотят успеть добраться до Белого дома. Первая, чтобы заснять все события, второй — чтобы взять у президента последнее интервью. С ними вызывается ехать пожилой коллега Сэмми (Стивен Хендерсон), работающий на «то, что осталось от New York Times» и юная Джесси (Кейли Спейни, недавно блиставшая в «Присцилле»). Она хочет быть фоторепортёром, снимает на старую плёночную камеру отца и восхищается Ли.
Вся эта компания должна проехать вместе сотни километров. Они сталкиваются с очень разными людьми и документируют происходящее в стране. Но главное ждёт их в финале.
Фильм очень мрачно рассказывает о будущем и настоящем
Алекс Гарленд — жестокий режиссёр. Он снимает разные фильмы и сериалы, но все они настолько же красивые, насколько грубые и травмирующие.
Темы никогда не повторяются: в «Из машины» Гарленд размышлял о развитии искусственного интеллекта, в «Аннигиляции» формально говорил об инопланетянах, но на самом деле — об отношениях человека и природы, в «Роде мужском» — о токсичной маскулинности, в «Разрабах» — о синдроме бога.
Объединяет эти истории одно: они никогда не заканчивались полноценным хеппи‑эндом. Хоть иногда режиссёр и давал своим героем право на покой (вряд ли на счастье), кажется, он никогда не верил, что кто‑то усвоит урок.
«Падение империи» выглядит чуть ли не как итог всей его режиссёрской деятельности — не ясно, случайно ли Гарленд недавно объявил, что пока больше не хочет снимать кино. Отчасти картина будто бы возвращается к идеям «28 дней спустя» — там персонажи тоже путешествовали по стране (Великобритании) среди общей разрухи и ненависти. Тогда сценарист тоже говорил о человеческой агрессии, но теперь он не оставляет никаких оправданий в виде вируса и мутаций.
Всё, что увидят главные герои в дороге — дело рук таких же американцев. И эти люди встретятся им на пути не раз. Те, кто стали жестокими ради выживания и не просто убивают мародёров, а пытают их. Те, кто даже находясь в окружении трупов продолжает верить в то, что происходящее их не касается.
И конечно же, те, для кого война стала просто поводом больше не скрывать свою извращённую жестокость и наслаждение властью: здесь будет потрясающий своей мерзостью выход Джесси Племонса. Что иронично, в реальной жизни это муж Кирстен Данст, и их пара считается одной из самых милых в Голливуде. Вряд ли даже автор закладывал такой подтекст, но это будто намёк, что политические распри могут разделить даже самых близких людей.
Последние же 20 минут фильма — бесконечный экшен, очень зрелищный, но снятый вовсе не ради развлечения.
Это апофеоз жестокости, к которому неизбежно приводят подобные конфликты. Недаром в оригинале фильм называется намного прозаичнее, чем в русской локализации: не «Падение империи», а просто «Гражданская война».
Причём Алекс Гарленд злонамеренно не говорит ни о времени действия, ни о конкретных политических нюансах: мы не знаем, к каким партиям относятся противоборствующие стороны, не знаем, что вообще произошло — есть лишь намёки. В финале никто не скажет, был ли тут кто‑то прав, и к лучшему ли перемены. Фильм не о том.
Да и было бы наивно предполагать, что британец с ливанскими корнями Гарленд будет говорить исключительно о возможных проблемах США, — тема даже слишком интернациональна и актуальна во многих точках планеты. Поэтому смотреть фильм стоит не ради того, чтобы поболеть за кого‑то из героев. А просто чтобы увидеть происходящее.
Героев делают наблюдателями, но очень эмоциональными
«Падение империи» пугающе контрастный фильм. С одной стороны, это очень личное и эмоциональное роуд‑муви. С другой — герои здесь наблюдатели, которые не оценивают происходящее, а лишь фиксируют его.
Возможно, типажи подобрали слишком клишированные — от пожилого циника до начинающей идеалистки. Хорошо хоть обошлись без лишней любовной линии между основной парой. Но благодаря великолепной актёрской игре буквально всего основного каста ни один персонаж не выглядит функцией.
Кирстен Данст как‑то жаловалась, что в последние годы ей предлагали играть сплошь «грустных матерей». Но здесь типаж совсем другой.
Гарленд вообще любит снимать в главных ролях женщин (кроме дебюта, хотя и там спорный вопрос), подбирая необычные образы что Натали Портман в «Аннигиляции», что Джесси Бакли в «Роде мужском». Данст в «Падении империи» — циничный профессионал, который, кажется, видел слишком многое, поэтому уже не верит ни в какое сострадание. Хотя к финалу именно она поведёт себя очень неожиданно.
Вагнер Моура — главная рок‑звезда картины. Его герой одновременно и влюбляет в себя, и дико раздражает. Он крут и обаятелен. Но как же пугает его хищная улыбка, когда вокруг творится настоящий кошмар. Он словно им наслаждается. Хотя будет момент, когда и Джоэл сорвётся в истерику.
Хендерсон и Спейни могли бы оказаться лишь дополнениями для большей эмоциональности, если бы не их таланты. Глядя на первого понимаешь, каким крутым мог бы быть Суфир Хават во второй «Дюне», если бы его не вырезали из сюжета.
Основные принципы героев (читай: основную идею фильма) прямо озвучат в самом начале: «Мы не задаём вопросы, мы фиксируем, чтобы их задавали другие». Герои картины отправляются в путь не чтобы помочь кому‑то или уничтожить кого‑то. Через их не бесстрастное, но почти безучастное восприятие Гарленд и рассказывает историю зрителю.
Это даже не восхваление военной журналистики — «Падение империи» не претендует на темы «Сальвадора» Оливера Стоуна или «Добро пожаловать в Сараево» Майкла Уинтерботтома, тут персонажи хотя бы у себя дома. Просто их профессия хорошо встраивается в подачу основной части фильма.
Герои едут по стране, где одни просто торгуют, другие — просто прячутся, третьи — просто стреляют во всех подряд, многие — уже мертвы и лежат в яме. А Ли и её друзья снимают происходящее. Даже в этом кошмаре каждый продолжает делать то, что у него получается. А нужна ли кому‑то общая картина? Кто‑то вообще думает о происходящем в целом? На эти вопросы тоже никто не ответит.
Масштаб действия поражает и пугает
Среди режиссёрских работ Алекса Гарленда лишь в «Аннигиляции» персонажи постоянно куда‑то передвигаются. В остальных фильмах и сериале он предпочитал ограниченное количество локаций и скорее диалоги, нежели действие. Хотя в его сценариях («Пляж», «28 дней спустя», «Пекло») герои часто путешествовали. Но теперь автор получил бюджет в 50 миллионов долларов — огромный как для него, так и для студии A24, более известной недорогими камерными проектами.
«Падение империи» — масштабный блокбастер с потрясающей проработкой всех деталей. Причём фильм не хвастается своим размахом, просто теперь Гарленд может себе позволить показать вертолёты, танки и десятки разных локаций, чтобы зрители прошли этот путь вместе с героями. Но всё работает исключительно на атмосферу. В отличие от многих роуд‑муви, это не просто набор эпизодов, в каждом из которых происходит какая‑то история. Это цельный путь, меняющий и персонажей и, возможно, зрителя.
Картина идеально проработана на всех уровнях.
На первом плане отлично сыгранные герои. На фоне — потрясающие пейзажи, где красота природы перемежается с уродством, которое натворили люди: в одной из сцен героиня будет в буквальном смысле выбираться из свалки трупов. Гарленд снова не жалеет зрителя, хотя те, кто смотрел «Аннигиляцию» и «Род мужской», и так это знают.
Оригинальный саундтрек, написанный постоянным композиторами режиссёра Джоффом Барроу (основателем Portishead) и Беном Солсбери, погружает в транс — примерно как в «Разрабах», а вкрапления ретро‑музыки, вроде групп Silver Apples или Suicide, опять же, роднит фильм с классикой роуд‑муви.
Масштабная сцена штурма в финале на большом экране выглядит зрелищнее, чем половина блокбастеров последнего времени. Но при этом она поставлена не ради веселья и драйва, а просто передаёт весь ужас происходящего. Здесь убивают случайных людей и стреляют в безоружных, это перестрелка, где участники почти обезличены. И речь вообще не о справедливости, а просто об уничтожении врага.
«Падение империи» — жуткий фильм, страшнее любого хоррора. Алекс Гарленд в своих работах всегда пытался изучать людей и разбираться в мотивах их поведения. Но теперь он будто просто документирует: всё плохо, всё страшно и, вероятно, будет только хуже. Можно ли что‑то с этим сделать? Режиссёр не отвечает, он просто делает так, чтобы этим вопросом задались другие.
Nothing Phone (2a) это пожалуй самый интересный смартфон среднего класса вышедший в 2024 году. Первый доступный аппарат от компании Nothing, который пошел по стопам Google Pixel А и фактически является его прямым конкурентом. Nothing Phone (2a) это смартфон, который привлекает своим дизайном и оригинальными решениями. Смартфон, для тех, кто хочет выделиться из серой массы однотипных «обмылков». Смартфон для гиков и технарей. Смартфон, который можно любить или ненавидеть, но точно нельзя оставаться к нему равнодушным. 3 недели я использую его на постоянной основе и сегодня расскажу о всех его особенностях. Будет интересно…
Но прежде всего задайтесь вопросом, какие аппараты сейчас стали наиболее востребованы? Мое мнение — модели среднего класса. С бюджетниками все понятно, их берут не от хорошей жизни. А вот с дорогими моделями, в том числе флагманами, ситуация весьма интересная. Их стали сильно меньше покупать, ведь производительность мобильных платформ давно шагнула в небеса и по сути уже является избыточной. Ну куда использовать всю мощь флагманских чипсетов, если даже самые требовательные игры не способны загрузить процессор, более чем на 30%. А ведь многие вообще не играют и фактически используют мощность своего устройства от силы на 5 — 10%. Параллельно подтянулся средний класс и сейчас он обеспечивает такую производительность, которой достаточно и для рабочих целей и для развлечений. Все важные для повседневного использования функции также уже есть в среднем классе: качественные дисплеи, звук, модемы и т. д. Так что же осталось у флагманов? Только камеры. Но и в этом вопросе середняки наступают на пятки. Уже сейчас отличить снимки флагмана от середняка можно лишь при прямом сравнении, скрупулезно разглядывая детали. В общем-то не удивительно, что многие заинтересовались такими смартфонами, как Nothing Phone (2a). И аппарат не разочаровывает. Уверен, что он станет бестселлером и зайдет очень многим пользователям. Хотя и идеальным назвать его не могу, есть некоторые моменты на которые стоит обратить внимание перед покупкой.
Видео версия обзора
Технические характеристики Nothing Phone (2a)
Дисплей
6,67″ Flexible AMOLED с разрешением 2412 х 1084 пикселей и адаптивной частотой обновления до 120 Hz, пиковая яркость 1300 нит, сертифицирован HDR10+ защищен закаленным стеклом Corning Gorilla Glass 5
Чипсет
8 ядерный MediaTek Dimensity 7200 Pro с частотой до 2,8 GHz, техпроцесс 4 нм, графика Mali-G610 MC4
Оперативная память
8 GB или 12 GB LPDDR5 + 8 GB за счет накопителя
Постоянная память (накопитель)
128 GB или 256 GB UFS3.1
Основная камера
Главный сенсор 50MP с оптической и электронной стабилизацией F1.88, 1/1.56″ + ультраширик 50MP F2.2, 1/2.76″, угол обзора 114°
Фронтальная камера
32МР F2.2, 1/2.74″
Беспроводные интерфейсы
WiFi 6 (802.11ax) 2×2 MIMO and MU-MIMO, Bluetooth 5.3, NFC, Gigabit LTE (4×4 MIMO), Gigabit 5G (NSA & SA 4×4 MIMO)
Для меня это первый смартфон от Nothing, поэтому было вдвойне интересней пощупать новинку. Покупал по предзаказу через посредника, поэтому получил в числе первых. Упаковка оригинальная, имеет защиту от несанкционированного вскрытия (при вскрытии срывается часть упаковки на торце).
В моем случае это версия 8/128GB черного цвета, привезен из Польши. Модельный номер смартфона A142, произведен в январе 2024 года. Гарантийный талон прикреплен с внешней стороны коробки.
Под глянцевой обложкой скрывается более прочная коробка из картона, с тиснением повторяющим дизайн спинки смартфона.
Коробка открывается как книжка, на титульной странице распечатано приветствие, слова благодарности и ссылки на комьюнити. Заметно, что в компании придерживаются определенной философии и выдерживают стиль даже в мелочах.
Под смартфоном есть небольшая ниша, где разместили кабель, иголку для извлечения лотка и документацию. Зарядного устройства нет, но в 2024 это уже стандартная практика.
Здесь сразу можно отметить «гиковскую» стилистику, которая отображена даже в деталях: минимализм, шрифт, внешняя легкость и прозрачность. Например, USB кабель имеет прозрачный корпус на разъемах, сквозь который проглядывается логотип.
Иголка также имеет весьма необычный дизайн. Лично мне она напоминает диод или миниатюрную усилительную лампу.
Даже документация соответствует общей концепции дизайна и ее «техно-печатный» шрифт используется в качестве основного.
Скорость зарядки
Максимальная поддерживаемая мощность зарядки заявлена на уровне 45W. Для проверки скорости зарядки я воспользовался зарядным от Ugreen на 65W. И здесь сразу вскрылась небольшая особенность. Максимальная мощность зарядки, которую я зафиксировал, составила 29W. Т. е мое зарядное оказалось не на 100% совместимо со смартфоном и не смогло раскрыть весь скоростной потенциал восполнения энергии. В этом и есть главное преимущество комплектных зарядок (которые перестали использовать): производитель точно проверяет совместимость и обеспечивает максимальную скорость. В ином случае могут быть нюансы, ведь зарядки у всех разные.
Но даже в моем случае скорость весьма приличная и на зарядку аккумулятора емкостью 5000 mAh от 0 до 100% ушло 1 час 8 минут. Если расписать по времени, то получим такие данные:
10 минут — 19%
20 минут — 41%
30 минут — 61%
40 минут — 81%
50 минут — 95%
1 час — 100% (но при этом продолжается зарядка небольшим током)
1 час 8 минут — 100% и полное прекращение зарядки
При этом стоит отметить, что во время процесса аккумулятор не нагревается, а значит ему не грозит деградация из-за повышенной температуры.
Внешний вид и интерфейсы
В описании внешнего вида сразу стоит отметить один важный момент: вживую смартфон выглядит намного лучше, чем на фотографиях. Это обусловлено тем, что камера не может передать глубину и объем полупрозрачного корпуса, расположенных внутри элементов. Смартфон действительно красивый и его хочется разглядывать. Даже спустя 3 недели я ловлю себя на мысли, что периодически рассматриваю его спинку. Единственное, что портит впечатление это маркий корпус. На черном глянце достаточно быстро собираются отпечатки и пыль, поэтому приходится периодически протирать его замшевой тряпочкой. С белой расцветкой такая проблема не актуальна, т. к отпечатки просто не будут видны. Также это не является проблемой, если вы планируете использовать смартфон в чехле.
Как я уже говорил, спинка смартфона прозрачная и через нее можно рассмотреть «внутренний мир». Нет, конечно вы видите не реальные компоненты смартфона или дорожки шлейфов, но выглядит это интересно. В качестве материала корпуса использовали качественный пластик и хотя в плане защиты от царапин он не является лучшим материалом, но зато отлично противостоит ударам, без последствий выдерживая падение с высоты человеческого роста.
Двойная камера расположена по центру и получила главный объектив с сенсором на 50 МП, который оснастили оптической и электронной стабилизацией. В дополнение к нему поставили ультраширик и он также получил сенсор на 50 МП. Есть небольшой светодиод для ночной подсветки. Расположение камеры самое правильное. Если положить смартфон на стол, то он не шатается при наборе текста на экранной клавиатуре. Объектив заметно выступает из корпуса, но имеет защиту стеклышек в виде накладок по их периметру. Вокруг блока с камерами расположены элементы Glyph интерфейса — светодиодные полоски, которые умеют взаимодействовать с системой и некоторыми приложениями.
Glyph интерфейс расширяет взаимодействие со смартфоном через визуальные эффекты. Помимо стандартных сигналов оповещения это могут быть различные индикаторы прогресса или регулировки уровня. Фактически эти светодиодные полоски работают в двух режимах. Первый режим, когда они светятся равномерно. Это могут быть разные последовательности и комбинации, привязанные к звукам и вибрации.
Или частичное подсвечивание с изменением яркости, что удобно для демонстрации уровня или прогресса. Например, визуализация текущего уровня громкости в наушниках. Или таймер обратного отсчета (тогда полоска будет понемногу уменьшаться).
С лицевой стороны аппарат также выгодно отличается от большинства Android смартфонов. Главное отличие это симметричные по размеру рамки со всех сторон. Не знаю как у других, но у меня это вызывает восторг. Это то, чего я давно ждал. Никаких «подбородков», «челок» и разношерстных отступов. Мой внутренний перфекционист радуется как ребенок.
Вырез под фронталку сделан в виде точки, а разговорный динамик органично вписан в рамку. Все простенько, но аккуратно.
При своей крупной диагонали 6,67″ Phone (2a) абсолютно не чувствуется «лопатой». Им комфортно пользоваться, он не занимает много места в кармане джинсов.
Что касается рамки, то она также пластиковая, но с цепкой матовой фактурой. На ощупь пластик приятный, слегка шершавый и абсолютно не скользкий. Для прочности внутри используется рама из переработанного алюминия. К слову, вопрос использования переработанных материалов здесь обыгран на 100%. Переработанный пластик для корпуса, переработанный алюминий и медь для внутренней части, даже сталь и жесть большинства элементов использованы повторно. Само собой упаковка вообще не содержит пластика и также изготовлена из переработанных материалов. В общем как заявляют в компании, это самый «чистый» смартфон за всю историю, а его углеродный след рекордно низкий. Грета Тунберг будет довольна.
В плане управления инженеры не стали идти на поводу устоявшихся традиций и разнесли кнопки громкости с кнопкой блокировки на разные грани. Это оказалось довольно удобно, т. к отсутствует риск случайной блокировки при попытке изменить громкость.
На верхнем торце все гладенько, лишь небольшое отверстие для дополнительного микрофона (используется в качестве шумодава при разговорах).
Ну, а внизу разместили USB-C разъем, аудио динамик и слот для SIM карт. Что касается звука, то он здесь очень классный, на ровне с флагманскими аппаратами Samsung или Google. Звук чистый, громкий, объемный и конечно же стерео (роль второго динамика выполняет разговорный динамик). Кстати, когда будете извлекать слот, будьте внимательны, чтобы не перепутать отверстие с рядом расположенным микрофоном.
Лоток у смартфона двусторонний и поддерживает установку двух физических сим-карт. А вот карту памяти установить возможности нет, поэтому если нужно много памяти, то лучше взять старшую версию с накопителем на 256 GB.
Могу в очередной раз отметить, что мода циклична, в том числе и на смартфоны. Сейчас снова становятся популярны плоские смартфоны с плоскими экранами. Никаких экранов — «водопадов» и корпусов — «обмылков». Можно с легкостью поклеить пленку или защитное стекло. Нет никаких искажений изображения по краям экрана. А если уроните, то подавляющем большинстве случаев ничего с экраном не произойдет. В общем смартфон радует возвратом к корням индустрии. Кстати, с завода на экран наклеена неплохая защитная пленка (есть даже олеофобное покрытие).
Дисплей
Как бы ни был важен дизайн, но не он играет первостепенную роль в том, какие впечатления подарит смартфон. Даже самые необычные и красивые смартфоны остаются на витрине, если у них плохой дисплей. Дисплей, это главная составляющая, которая влияет на восприятие аппарата. Мы читаем новости, играем в игры, общаемся с друзьями и разглядываем фотки с щенками — все это не имеет никакого смысла, если перед вами тусклое синюшное нечто. Nothing Phone (2a) в этом плане нисколько не разочаровывает. Сочная и яркая картинка, высокая детализация, частота обновления 120 Hz и колоссальный запас яркости делает этот экран одним из лучших в классе.
Цвета яркие и сочные, но не перенасыщенные. Лайм или апельсин на экране выглядит так, что начинают течь слюнки. При этом лица людей, их кожа — выглядят естественно, без завала в красные или желтоватые оттенки.
Цветовой охват соответствует 100% DCI-P3, есть поддержка HDR10+, а пиковая яркость достигает 1300 нит.
Благодаря Flexible AMOLED — дисплею (маркетинговое название собственных настроек AMOLED), изображение выглядит супер реалистично, черный цвет действительно черный, а контрастность достигает показателя 5000000:1
Еще раз напомню о симметричных рамках. Да и размер у них вполне минималистичный, соотношение экрана к корпусу составляет 91,65%.
Оцените читаемость экрана под открытым небом (середина дня, солнечная погода). Максимальной яркости достаточно, чтобы комфортно пользоваться смартфоном.
Углы обзора максимальные. Никаких искажений цветов, муара или значительного падения яркости.
Равномерность заливки белого поля отличная, битых пикселей или аномальных участков отличающихся по оттенку нет. Однородность яркости высокая, на предельных значениях разница составляет 6%.
Согласно фотометрии цветовая температура составляет 6700К, что близко к идеальному показателю (6500К для белого цвета). Другой важный показатель, это индекс цветопередачи. Здесь Ra=100, что соответствует идеальной естественной цветопередаче при солнечном свете. По отдельным показателям цветов также видим отличные значения (90 — 100). А вот синий цвет, который принято называть «вредным», т. к он способен нарушать циркадные ритмы (R12) — наоборот, приглушен.
Касательно мерцания есть некоторые вопросы. Производитель заявляет использование ШИМ на частоте 2160 Hz, т. е такой частоте, которая не воспринимается человеческим зрением. Но пульсометр обнаружил ШИМ на более низких частотах, причем на любых уровнях яркости. При этом коэффициент пульсации не находится в «опасной» зоне, а скорее в приграничной. Если у смартфонов Samsung этот показатель стартует с 60 — 80% и может даже превышать 100%, то здесь это умеренные 20%.
При снижении яркости коэффициент пульсаций остается неизменным и лишь на низкой яркости (от 20% и ниже) снижается до 13%. Обычно со снижением яркости ШИМ только растет, а здесь наоборот — снижается. Это говорит о том, что возможно параллельно используется технология DC Dimming (скорее всего она включается на низких значениях яркости). Если обобщить, то как и у любых AMOLED-дисплеев яркость регулируется при помощи ШИМ. Однако здесь это реализовано более грамотно и показатели находятся в пределах нормы, отчего можно предположить, что длительное использование смартфона не будет вызывать усталости зрения. По крайней мере я на себе не ощутил никаких негативных эффектов.
Что касается настроек отображения, то здесь также есть поле для экспериментов. Есть возможность включить HDR режим для поддерживаемого контента (в этом случае доступна максимальная яркость 1300 нит). Можно отрегулировать цветопередачу выбрав между насыщенными и стандартными оттенками, а также отрегулировать баланс белого (в любом режиме). По частоте обновления есть возможность выбора принудительных 60 Hz для экономии заряда, 120 Hz для максимальной плавности и адаптивный режим, который сам выбирает частоту обновления в зависимости от контента.
Программная часть
Не меньший интерес представляет и программное обеспечение, т. к в компании разработали собственную оболочку Nothing OS. Оболочка очень легкая и близка по функциональности к стоковой системе. На текущий момент последняя версия Nothing OS 2.5.4 базируется на Android 14.
Когда я только получил смартфон, он имел множество проблем в программном плане. С его выпуском откровенно поторопились и попросту не успели довести до ума программное обеспечение. Пользователи отмечали множество багов в прошивке, а камера снимала плохо и имела серьезные проблемы с HDR и динамическим диапазоном. Поэтому допиливали софт уже по ходу дела и практически сразу после старта продаж компания выпустила большой апдейт, исправляющий ошибки. А спустя неделю прилетело еще одно обновление, в котором довели до ума камеру. На текущий момент прошивка серьезно доработана и каких-то замечаний к работоспособности смартфона у меня нет. В любом случае можно отметить, что смартфоном активно занимаются, обновления выпускают и поддержка у аппарата на самом высоком уровне.
Первое впечатление смартфон производит хорошее. Внешний вид и функциональность оболочки близка к идеалу: минималистичный дизайн в технологичном стиле, спокойная цветовая гамма с преобладанием темных тонов, фирменный шрифт от Nothing и внимание к различным мелочам в оформлении. Иконки прорисованы в монохромном стиле, однако не все приложения поддерживают такой дизайн. Например, Geekbench поддерживает иконку в таком исполнении, а вот Aida 64 пестрит яркими красками. Сама система не перегружена лишними приложениями и фактически кроме стандартного пакета от Googlе не имеет никаких сторонних программ.
Над дизайном системных приложений также хорошо поработали. Виджет погоды, диктофон, калькулятор и прочие инструменты выглядят органично и не выбиваются из стилистики.
По настройкам также проведена большая работа, в особенности это касается уникальных функций, вроде Glyph интерфейса. Давайте рассмотрим, что умеет этот интерфейс. Самое очевидное, это визуальное сопровождение входящих звонков или уведомлений. Для этого есть специально разработанные рингтоны и сигналы, которые сопровождаются вибрацией и световыми эффектами в специальной последовательности. Но по большому счету можно использовать абсолютно любой рингтон, система автоматически подстроит световое сопровождение в такт мелодии. Для чего это нужно? Во-первых, это просто красиво. А во-вторых, в темное время суток это хорошо заметно и очень помогает если смартфон стоит на беззвучном.
В этом плане мне очень нравится функция Flip to Glyph. Фактически она позволяет переключить смартфон в беззвучный режим с поддержкой Gliph просто положив его экраном вниз. Если смартфон в кармане, то он будет играть рингтон как обычно. Но если вы дома или на работе, то просто кладете его экраном вниз и он не станет пугать вас резким звуком при входящем звонке, а просто начнет мигать своими полосками. Кстати, когда смартфон переходит в беззвучный Glyph, то он оповещает вас подмигивание своих светодиодов. Т. е вы получаете визуальное подтверждение, что теперь звук отключен. Еще одна интересная функция с применением Glyph интерфейса — таймер. Ставите таймер и фактически можете визуально видеть как уменьшается светодиодная полоска (по аналогии с горящим фитилем).
По этому же принципу работают функции «Индикатор громкости» и Glyph прогресс. На светодиодной полоске мы видим некое подобие шкалы. Например, увеличив громкость до 70% мы увидим на 70% заполненную полоску Glyph интерфейса. Еще интересней выглядит Glyph прогресс. Например, вызвали Uber и визуально видите по Glyph интерфейсу статус заказа. Чем ближе такси подьезжает, тем меньше полоска. Здесь пока не так много поддерживаемых приложений, но со временем их список могут увеличить, т. к функция находится на стадии бета-тестирования (различная доставка еды и такси).
Есть конечно и просто развлекательные фишки, вроде визуализации музыки, когда смартфон подмигивает в такт трека. Все описанные эффекты можно поставить на расписание, чтобы они работали по заданному графику.
Также есть возможность создать свой собственный рингтон с применением визуальных эффектов. Для этого есть специальный редактор, где доступны разные стили и инструменты.
Ну да ладно, посмотрим что еще интересного есть у смартфона. Одним из самых часто задаваемых вопросов является возможность записи разговоров. И да, ответ утвердительный. Смартфон умеет записывать разговоры (слышно будет обоих собеседников). Однако при старте записи собеседник получает голосовое уведомление, что разговор записывается.
Управление изначально организовано при помощи наэкранных жестов, но есть возможно включить наэкранные кнопки. На кнопку питания можно назначить дополнительное действие, которое запускается двойным нажатием. Также можно включить режим управления смартфоном одной рукой (интерфейсы располагаются таким образом, что вы дотянетесь до них большим пальцем).
Есть игровой режим, который позволит сосредоточиться на игре. Есть новомодное расширение оперативной памяти за счет накопителя, с помощью которого можно добавить от 2 до 8 GB дополнительной памяти. Само собой есть разблокировка при помощи отпечатка пальца или фейсконтроля. Оба метода разблокировки работают хорошо и практически мгновенно.
Ну и конечно есть широкие возможности по настройке внешнего вида. Начиная с обоев, значков и расцветки оформления. И заканчивая размерами элементов, сеткой и виджетами.
Производительность и синтетические тесты
С программной частью разобрались, теперь изучим аппаратную. Смартфон базируется на новом эксклюзивном чипсете Dimensity 7200 Pro, который специально разрабатывался под Nothing Phone (2a). Этот восьмиядерник получил двухкластерную архитектуру: 6 ядер Cortex A510 и 2 ядра Cortex A715. Максимальная тактовая частота 2,8 GHz. Чипсет изготавливается на техпроцессе 4 нм, что положительно сказывается на автономности и отсутствии чрезмерного нагрева. За графику отвечает интегрированный четырехядерный Mali-G610 MC4 на втором поколении архитектуры Valhall. Поддерживает OpenGL ES 3.2, OpenCL 2.0 и Vulkan 1.2. Чипсет работает в связке с LPDDR5 оперативной памятью (в моем случае 8 GB) и UFS3.1 накопителем (в моем случае 128 GB).
В синтетике получаем такие результаты:
Antutu V10 — 696 422 балла
Geekbench 6 — 1114 баллов в режиме одного ядра, 2557 баллов в многоядерном режиме
Проверил скоростные показатели накопителя. В зависимости от теста, он показал 420 — 570 MB/s на запись и 870 — 1040 MB/s на чтение. Копирование памяти — 5,83 GB/s.
Тестирование навигации показало поддержку всех популярных спутниковых систем (GPS, GLONASS, BDS, GALILEO, QZSS). Точность позиционирования около 1 метра, есть магнитный компас. Трек полностью совпадает с передвижением, время первой фиксации заняло несколько секунд.
Отдельно хочу похвалить модемы и модуль связи, которые обеспечивают высокую скорость как мобильного интернета, так и сети WiFi. В мобильных сетях 4G смартфон с легкостью преодолевает скорость в 100 Mbps, в моем случае зафиксирован «личный рекорд» в 117 Mbps. WiFi также не пасует и благодаря поддержке стандарта WiFi 6 (802.11ax), а также технологий 2×2 MIMO и MU-MIMO в диапазоне 5 GHz показывает скорость 514 Mbps. Даже в диапазоне 2,4 GHz скорость составляет внушительные 231 Mbps. Отличные показатели.
Стресс тесты, нагрев и стабильность
Производительность современных смартфонов взлетела и вместе с этим появилась необходимость отводить избыточное тепло от процессора. Согласитесь, что не много толку от мощного смартфона, если через минуту нагрузки он потеряет 50% производительности, сравнявшись с 5 летними моделями. Поэтому проверка стресс тестами очень важна. Она позволяет выявить «дутых» лидеров и понять реальные возможности смартфона. Я нагружаю смартфоны по полной, можно сказать даже с избытком. Например, Throttling тест я провожу на 100 потоках, не менее 30 минут. Nothing Phone (2a) с достоинством прошел этот тест показав 91% от максимальной производительности. Т. е за пол часа 100% нагрузки он потерял всего 9%. Еще лучший результат оказался в CPU Slowdown, где замедление не было обнаружено вовсе. Т. е за 20 минут нагрузки процессор не потерял производительности совсем.
При этом смартфон абсолютно не склонен к перегреву, а его температура поднимается умеренно. Во время стресс тестов самая горячая точка была 41,7 градусов в правом верхнем углу. Видимо там разместили чипсет. А вот аккумулятор расположен ниже и там температура существенно меньше. Стоит учитывать, что это термограмма сделана после 30 минутной максимальной нагрузки, в обычном же использовании температура гораздо ниже.
Также немного поэкспериментировал с приложением Burnout Benchmark. Оно умеет одновременно нагружать CPU, GPU и NPU. Сравнивая полученный результат с раздельными одиночными тестами, мы можем видеть насколько падает суммарная производительность. Здесь получилось 55,1% и это весьма неплохой результат. Например, у Google Pixel 7 Pro он составляет 46,7%.
Игровые возможности
Ну и конечно же я потестировал игровые возможности смартфона. Как обычно, для этих целей я использую геймерский бенчмарк Gamebench. Первая игра это горячая новинка Call of duty: Warzone. Игра совсем недавно вышла в открытый бета тест и я конечно решил ее затестить. Максимально доступное качество графики для смартфона — «средние», производительность настроена на максимальное количество кадров в секунду (без ограничений).
И средний FPS в игре равен 41. При этом он может подниматься до 50 — 55 кадров в секнду или падать до 30.
Очевидно, что игра совсем сырая (не зря все же это бета тест) и не оптимизирована под разное железо. С такими посредственными настройками графики FPS должен быть намного выше. Визуально я не увидел каких-то красот и даже обычный Call Of Duty Mobile выглядит намного лучше. В общем для тестов эта игра пока не годится, но поиграть уже можно.
Следующая игра Shadowgun Legends. Требовательная и графически красивая игра. В ней можно смело устанавливать максимальные настройки графики (Ultra) и максимальные 60 FPS.
И видим реальные возможности чипсета. Игра работает со средними 55 FPS (83% игрового времени). В городе он немного опускается (40 — 50 FPS), но во время заданий может достигать 60 FPS. При этом это одна из самых требовательных игр на Android.
Последняя игра в сегодняшней подборке — великий и могучий Genshin Impact. Игра, которая ставит на колени даже некоторые флагманы. Ставлю максимальное качество и высокую частоту кадров.
И получаю графику консольного уровня и неплохой FPS на уровне 37 кадров в секунду (84% игрового времени). Иногда случаются кратковременные просадки до 25 — 30 кадров, но игре это абсолютно не мешает и связано скорее с подгрузкой локаций. Процессор нагружен на 45%, оперативки используется около 2 GB. В общем действительно серьезная нагрузка и требовательная игра. И смартфон без проблем «тащит», причем даже спустя пол часа игры он не перегревается и не снижает частоты.
Камера
Камеры смартфонов среднего класса заметно прибавили в последние годы. Теперь если вы хотите хорошую камеру — не обязательно покупать флагман. Да, для подавляющего большинства пользователей возможностей Nothing Phone (2a) будет достаточно. На старте продаж у камеры были проблемы с динамическим диапазоном и HDR, но сейчас это исправили и смартфон выдает классные, яркие фоточки с хорошей детализацией. Давайте покажу несколько примеров (оригиналы можно скачать здесь). При дневном освещении камера выдает звенящие, сочные снимки. Резкость равномерна по всему кадру, детализация хорошая, баланс белого подобран корректно, фокусировка быстрая и безошибочная.
С добавлением облачности ситуация никак не меняется. Баланс белого снова корректный, детализация и резкость в норме. При использовании HDR заметна постобработка снимка, облака более контрастные чем на самом деле. Но для меня это только плюс, ведь хочется сделать красивое фото, а не «задокументировать» окружающую обстановку.
Могу отметить широкий динамический диапазон. Если на кадре есть затененный участок, то он не теряет деталей. При этом солнечная сторона не пересвечена. Яркие элементы, вроде бликов лучей от воды — приглушаются и не засвечиваются.
С контровым светом камера справляется без труда, камера выравнивает освещение и проводит всю работу со снимком «на лету» выдавая отличный результат на выходе. Что касается предметной съемки, то фокусировка на объекте осуществляется на расстоянии около 12 — 12, 5 см. Если нужно сделать объект крупнее, то можно воспользоваться цифровым приближением (до 1,5X качество визуально почти не страдает).
В темное время суток камера творит чудеса. Она отлично выравнивает освещение, поднимая яркость в одним местах и уменьшая в других. Вывески не пересвечены, в то время как затененные участки содержат большое количество деталей.
В плане освещения, в некоторых моментах камера видит лучше, чем есть на самом деле. Например, на первом снимке дом в реальности виден не так хорошо, т. к он не освещен фонарями и яркими вывесками. На втором фото также можно рассмотреть облицовку домов, номера на автомобилях и плиточку на тротуаре. Детали не сливаются в кашу, камера отлично справляется с условиями.
В помещении при искусственном освещении камера выдает хорошие, резкие снимки. В общем и целом, основной камерой я полностью доволен и считаю, что она не сильно уступает флагманским решениям.
Что касается селфи, то здесь тоже все в порядке. Камера отлично передает тон кожи, не пересвечивает лицо на солнечной стороне и не разглаживает кожу (видны морщинки, волоски и т. д). Nothing Phone (2a) приятно удивляет.
Видео запись возможна в качестве Full HD со скоростью 60 кадров в секунду или 4К со скоростью 30 кадров в секунду. Электронная стабилизация есть в обоих случаях и она хорошо отрабатывает мелкую тряску. Пример видео в 4К ниже.
Звук
Думаю не лишним будет сказать пару слов о звуке в наушниках. Обычно я этого не делаю, т. к большинство современных смартфонов звучат плюс-минус одинаково, но Nothing Phone (2a) несколько выбивается из массы. В лучшую сторону естественно. Аналогового аудио выхода у него нет, но можно использовать переходник с USB-C на 3,5 аудио. Это если предпочитаете проводные наушники (олды здесь?).
Но на мой взгляд здесь вполне реально обойтись беспроводными наушниками, ведь смартфон получил поддержку высококачественных аудио кодеков, в том числе aptX HD. Его еще называют aptX Lossless, т. к считается что он передает звук «без потерь». На самом деле потери в любом кодеке есть, но в aptX HD они настолько незначительные, что при слепом тестировании меломаны не слышат никакой разницы. Естественно, чтобы оценить кодек, нужны соответствующие наушники. Но и это еще не все. Смартфон поддерживает Hi-Res кодек LHDC 5, который есть у фирменных наушников nothing ear 2. И LDAC, который используют в Sony. В общем смартфон может раскрыть любые беспроводные наушники. Что касается самого звука, то это конечно зависит от модели наушников. Но в любом случае это мощное звучание с внушительным запасом громкости. Мощные и глубокие низкие, яркие верхние и детальные средние частоты — понимаю, что звучит несколько слащаво, но именно так смартфон и передает звук. Повторюсь — только если у вас конечно не днищенские наушники. Ну хотя бы что-то за 30 — 50 баксов и уже можно говорить о детальности, широкой сцене и равномерности АЧХ.
Автономность
В этом плане смартфон особо ничем не примечателен. Аккумулятор емкостью 5000 mAh можно считать устоявшимся стандартом, а зарядка на 45W это нормальное явление в новых моделях. Хотя за счет экономичного чипсета расход заряда здесь меньше, чем у менее технологичных аналогов. Напомню, что чипсет здесь построен по техпроцессу 4нм, а это напрямую влияет на энергопотребление. В целом можно уверенно заявить, что смартфон легко выдержит день самой интенсивной работы. У меня обычно к вечеру остается около 30% заряда. Но если вы не виснете круглосуточно в соцсетях (особенно с использованием мобильного интернета), а также не играете в игры, то вполне можно рассчитывать на 2 дня работы при довольно активном использовании. Это косвенно подтверждает и мой пользовательский тест с цикличным воспроизведением видео. Качество FullHD, полноэкранный режим без рамок, яркость 100% — 15 часов 18 минут непрерывного воспроизведения. Если снизить яркость до 50%, то при прочих равных условиях получим 20 часов 28 минут. Ну и конечно же тест Work 3.0 с имитацией смешанного использования — 16 часов 24 минуты.
Итоги
Nothing Phone (2a) очень хорош и на мой взгляд является одним из лучших смартфонов среднего класса в 2024 году. Альтернативой ему являются Google Pixel 8 (более дорогой) и Google Pixel 7А (менее технологичный), которые также очень нравятся и при использовании дарят похожие эмоции. В чем-то они похожи, в чем-то отличаются. Но оригинальности компании Nothing не занимать. В плюсы отнесу оригинальный подход в дизайне, оформлении и деталях к мелочам. Все пропитано духом Nothing, будь то инструкция или приложение диктофона. Также отмечу Glyph интерфейс, который уже стал визитной карточкой. В аппаратном плане также все хорошо: яркий качественный дисплей, громкий стерео звук, а также экономичный, но мощный чипсет. По большому счету и поругать то смартфон не за что. Можно предьявить за глянцевый пластик на корпусе, но это дело на любителя. А если раздражают отпечатки — возьмите белый цвет. Были претензии к прошивке, но пока тестировал смартфон и писал обзор — все поправили. В общем классный смартфон, если зацепит внешний вид.
Всем привет, я Григорий Тумаков, CTO в Моризо Диджитал.
Недавно рассказал, как мы в компании «потрогали» нейросети для прикладных задач разработки. Но там никаких серьезных выводов сделать не удалось.
Поэтому решил на этом не останавливаться. Если есть инструменты — их надо протестировать на какой-то реальной задаче.
Далее в статье мой опыт сравнения для прикладной задачи трех AI-инструментов: Phind, ChatGPT, Machinet.
Идея и промпт
Создай страницу с использованием JS и html для получения погоды по названию города. На странице должна быть форма заполнения названия города, кнопка «Узнать погоду». Не забудь учесть проблемы с CORS.
Работать это должно таким образом:
Пользователь вводит название города.
По названию города нужно запросить долготу и широту по этому API
functionfetchCoordinates(city) { var apiToken = ‘{API_TOKEN}’; var secretToken = ‘{SECRET_TOKEN}’;
return fetch(‘https://cleaner.dadata.ru/api/v1/clean/address’, { method: ‘POST’, headers: { ‘Content-Type’: ‘application/json’, ‘Accept’: ‘application/json’, ‘Authorization’: ‘Token ‘ + apiToken, ‘X-Secret’: secretToken }, body: JSON.stringify([city]) }) .then(function(response) { if (!response.ok) { thrownew Error(‘Ошибка при получении координат города.’); } return response.json(); }) .then(function(data) { var coordinates = data[0].geo_lat && data[0].geo_lon ? { lat: data[0].geo_lat, lon: data[0].geo_lon } : null; if (!coordinates) { thrownew Error(‘Координаты для указанного города не найдены.’); } return coordinates; }); }
functionfetchWeather(lat, lon) { var apiKey = ‘{API_KEY}’;
return fetch(`https://api.openweathermap.org/data/2.5/weather?lat=${lat}&lon=${lon}&appid=${apiKey}`) .then(function(response) { if (!response.ok) { thrownew Error(‘Ошибка при получении данных о погоде.’); } return response.json(); }); }
functiondisplayWeather(weather) { var weatherResultDiv = document.getElementById(‘weatherResult’); weatherResultDiv.innerHTML = »;
var cityName = weather.name; var weatherDescription = weather.weather && weather.weather[0] ? weather.weather[0].description : »; var temperature = weather.main && weather.main.temp ? Math.round(weather.main.temp — 273.15) : »;
var weatherInfo = document.createElement(‘p’); weatherInfo.textContent = `Погода в городе ${cityName}: ${weatherDescription}, Температура: ${temperature}°C`; weatherResultDiv.appendChild(weatherInfo); } </script> </body> </html>
*Пожалуйста, обратите внимание, что вы должны заменить `{API_TOKEN}`, `{SECRET_TOKEN}` и `{API_KEY}` на свои реальные значения. Кроме того, помните, что без использования сервера для обхода CORS вы можете столкнуться с проблемами безопасности при попытке выполнить этот код в браузере.*
Очевидно, что этот код не выведет нам результат, мы получим ошибку CORS.
Поэтому я попросил придумать решение этой проблемы.
Вот, что предложил ChatGPT
*Чтобы обойти ошибку CORS при обращении к API с клиентской стороны, можно воспользоваться серверной прокси. Например, можно создать простой сервер с использованием Node.js, который будет проксировать запросы к API `cleaner.dadata.ru` и передавать результат обратно на клиент.*
if (coordinates) { res.json(coordinates); } else { res.status(404).json({ error: ‘Coordinates not found for the provided city name’ }); } } catch (error) { console.error(‘Error:’, error); res.status(500).json({ error: ‘Internal Server Error’ }); } });
app.listen(PORT, () => { console.log(`Server is running on port ${PORT}`); });
*Изменения в коде:*
1. *Добавлена библиотека `express` для создания сервера.*
2. *Добавлена библиотека `node-fetch` для выполнения HTTP запросов на сервере.*
3. *Добавлена библиотека `cors` для обработки CORS политики.*
4. *Создан маршрут `/getCoordinates`, который принимает POST запрос с именем города, отправляет запрос к API `cleaner.dadata.ru` через сервер, получает координаты города и отправляет их обратно клиенту.*
*На стороне клиента теперь нужно обратиться к серверу для получения координат города, затем использовать полученные координаты для запроса погоды к API `api.openweathermap.org`.*
*Теперь клиентский JavaScript делает запрос к серверу для получения координат города, затем использует эти координаты для запроса погоды к API `api.openweathermap.org`.*
К сожалению, снова получаю ошибку.
Error [ERR_REQUIRE_ESM]: require() of ES Module …/ai/chat-gpt/node_modules/node-fetch/src/index.js from …/ai/chat-gpt/server.js not supported. Instead change the require of index.js in …/ai/chat-gpt/server.js to a dynamic import() which is available in all CommonJS modules. at Object.<anonymous> (…/ai/chat-gpt/server.js:50:15) { code: ‘ERR_REQUIRE_ESM’ }
Прошу поправить и получаю новый блок кода, с указанием необходимости установки axios.
if (coordinates) { res.json(coordinates); } else { res.status(404).json({ error: ‘Coordinates not found for the provided city name’ }); } } catch (error) { console.error(‘Error:’, error); res.status(500).json({ error: ‘Internal Server Error’ }); } });
app.listen(PORT, () => { console.log(`Server is running on port ${PORT}`); });
И наконец получаю нужный результат, приложение работает
Попрошу отформатировать полученный ответ от API.
*Выведи красиво ответ от API, чтобы было понятно какая сейчас погода, скорость ветра и так далее*
Phind
Загружаю промпт и сразу вижу различия в результате. Phind предпочел разделить html и js код в разные файлы, что радует.
К сожалению, не получаю работающую программу с первого запроса, поэтому прошу добавить веб-сервер для обхода проблемы с CORS. Вижу, что Phind дает более развернутые ответы и предлагает несколько вариантов.
Пробую сначала первый вариант. Спрашиваю, как его использовать, и получаю достаточно подробную инструкцию.
После изменения кода пробую запустить сервер, но получаю уже знакомую ошибку.
«`
Error [ERR_REQUIRE_ESM]: require() of ES Module …/ai/chat-gpt/node_modules/node-fetch/src/index.js from …/ai/chat-gpt/server.js not supported. Instead change the require of index.js in …/ai/chat-gpt/server.js to a dynamic import() which is available in all CommonJS modules. at Object.<anonymous> (…/ai/chat-gpt/server.js:50:15) { code: ‘ERR_REQUIRE_ESM’ }
«`
Прошу исправить ошибку и получаю ответ, который значительно лучше по сравнению с ChatGPT, он подробный и в нем объясняется проблема.
Пробую использовать предложенное решение — все работает.
Прошу красиво вывести ответ от апи, чтобы было понятно, какая погода, ветер и т.д.
Правлю код и пробую получить данные.
Теперь тестирую второй предложенный вариант. Применяю изменения, запускаю.
Но выходит ошибка — прошу ее исправить.
Снова получаю развернутый ответ с объяснением ошибки и несколькими решениями, но теперь уже знаю, что первое решение поможет, поэтому не продолжаю.
Machinet
Загружаю промпт, получаю ответ:
*Хорошо, я могу помочь вам создать страницу для получения погоды по названию города с использованием JavaScript и HTML. Для начала, вам понадобится создать HTML-разметку для страницы. Вот пример кода:*
<script> // Обработчик события отправки формы $(«#weatherForm»).submit(function(event) { event.preventDefault(); // Предотвращаем отправку формы
var city = $(«#cityInput»).val(); // Получаем значение поля ввода
// Запрос для получения долготы и широты $.ajax({ url: «https://cleaner.dadata.ru/api/v1/clean/address», type: «POST», headers: { «Content-Type»: «application/json», «Accept»: «application/json», «Authorization»: «Token {API_TOKEN}», «X-Secret»: «{SECRET_TOKEN}» }, data: JSON.stringify([city]), success: function(response) { var latitude = response[0].geo_lat; var longitude = response[0].geo_lon;
// Запрос для получения погоды $.ajax({ url: «https://api.openweathermap.org/data/2.5/weather», type: «GET», data: { lat: latitude, lon: longitude, appid: «{API key}» }, success: function(weatherData) { // Выводим результат обращения к API $(«#weatherResult»).html(«Текущая погода в городе » + city + «: » + weatherData.weather[0].description); }, error: function() { $(«#weatherResult»).html(«Ошибка при получении погоды»); } }); }, error: function() { $(«#weatherResult»).html(«Ошибка при получении координат города»); } }); }); </script> </body> </html>
*В этом примере мы используем jQuery для упрощения работы с AJAX-запросами. При отправке формы, мы сначала отправляем запрос на получение долготы и широты города с помощью API от Dadata, а затем используем полученные координаты для запроса погоды с помощью API от OpenWeatherMap. Результат выводится в элементе с id «weatherResult».*
*Обратите внимание, что вам нужно будет заменить {API_TOKEN}, {SECRET_TOKEN} и {API key} на соответствующие значения, полученные при регистрации на соответствующих сервисах.*
Пробую запустить код и выполнить запрос. Снова получаю ошибку CORS, прошу исправить, используя тот же текст, что и в предыдущих нейросетях — и получаю интересный ответ.
Выбираю второй подход.
Пробую запустить сервер и получаю ошибку.
app.use(corsAnywhere({ ^ TypeError: corsAnywhere isnot a function
Прошу исправить.
После исправлений сервер действительно запустился. Но при выполнении запроса получаю новую ошибку, снова прошу ее исправить.
Применяю изменения и пробую выполнить запрос еще раз, но снова получаю ошибку.
Пробую дать больше информации об ошибке.
К сожалению, не получаю никакого решения, только рекомендации. Здесь нет смысла дальше продолжать.
Результаты
Хуже всех с поставленной задачей справилась Machinet, ей не удалось выдать работающего решения. Возможно, на более простых задачах она сможет помочь.
Если же выбирать из ChatGPT и Phind, то я бы предпочел Phind, поскольку она давала более развернутые ответы и предлагала больше вариантов решения задач.
Фото с сайта платформы CHERIoT, проекта Microsoft по решению проблем с доступом к памяти IoT-устройств на аппаратном уровне
Такое заявление может показаться странным для тех, кто более десяти лет работает над обеспечением безопасности памяти на аппаратном уровне, так что я его поясню. Безопасность памяти меня волнует в той же степени, в какой и сложение. Если оно работает, я могу строить на его основе что-нибудь интересное. По факту большинство интересующих меня вещей опираются на него как на фундамент. Если же сложение не работает, я не могу уверенно рассуждать о чём-либо, происходящем в программе.
То же касается и безопасности памяти. Для меня тот факт, что 70% уязвимостей возникают в результате её отсутствия, не говорит о важности этого аспекта. Важность безопасности памяти в том, что один связанный с ней баг может полностью подорвать все гарантии, на которые я опираюсь.
Доступ за границами выделенной памяти или баг с использованием данных после её освобождения могут привести к утечке памяти или повреждению любого состояния в программе. Если я думаю, что какие-то данные являются приватными для моего потока, потому что программа не сохраняет на них ссылку в местах, доступных для другого потока, то так будет, только пока программа обеспечивает безопасный доступ к памяти. Если я считаю, что объект иммутабелен, потому что не раскрываю изменяющие его API, и система типов говорит, что он иммутабелен, это будет так, опять же, только пока программа обеспечивает безопасный доступ к памяти.
Как только в ней появится хоть одна ошибка доступа к памяти, ни одно из этих свойств не сохранится, даже если вы формально проверили некоторые из них. Проект EverCrypt проделал феноменальную работу, создав формально верифицированные (включая защиту от атак по сторонним каналам) криптографические библиотеки, но свойства формально верифицированной программы подтверждаются только в случае действительности аксиом. Если же безопасности памяти нет, то и аксиомы не работают.
Если же у вас обеспечен безопасный доступ к памяти, вы можете начать создавать интересные вещи. Я начал работать над этим аспектом, потому что хотел создавать мощные компонентные системы. В 90-х различные платформы предоставляли обширные компонентные модели. В документы Word можно было встраивать инструменты управления COM (Component Object Model, объектная модель компонентов), которые встраивали другие мощные приложения. Большая часть всего этого исчезла, потому что опасно выполнять произвольный сторонний код. Пожалуй, единственными программами, которые делают это безопасно, являются браузеры (созданные конкретно под эту задачу).
В 2005 году я присутствовал на выступлении Алана Кея. В середине своего доклада он раскрыл неожиданный факт о том, что показанные им слайды являются не презентацией PowerPoint, а созданы с помощью языка Smalltalk. Он нарисовал несколько насекомых и написал код, который заставлял их бегать вдоль краёв вложенных изображений и видео. Алан задал разумный вопрос: «Зачем вам использовать программу, которая не является языком программирования?» К сожалению, если вы обмениваетесь документами, это означает выполнение кода других людей. Представьте, что у вас есть возможность получать код из интернета и встраивать его в документ, который вы отправляете кому-то, не боясь при этом скомпрометировать свою систему или систему получателя.
Вы можете начать делать подобное с помощью WebAssembly, но тогда столкнётесь с общей проблемой:
Изолировать легко, а вот безопасно обмениваться сложно.
Мы знаем, как всё безопасно изолировать. Эта техника десятилетиями использовалась для защиты ядерных пусковых установок. Тут всё просто. У вас есть компьютер, подключённый к другим компьютерам. Вы помещаете его в запертую комнату, у дверей которой ставите вооружённую охрану с приказом стрелять по всем, кто попытается проникнуть внутрь без разрешения.
В случае менее критических систем можно исключить момент с вооружённой охраной и даже запертой комнатой. Именно поэтому модули управления памятью (memory management units, MMUs), используемые в общедоступном аппаратном обеспечении, изменили мир. Благодаря им, ошибка в одной из нескольких выполняющихся программ не ведёт к сбою в другой и не рушит всю систему, но при этом программы могут обращаться к одному набору файлов. Два пользователя могут использовать одну систему, и ядро будет предоставлять им доступ как к личным, так и к общим коллекциям файлов.
Отсутствие безопасности памяти мешает нам создавать крутые вещи.
Именно поэтому меня не вдохновляет, когда она сопровождается примечанием вроде (MTE, Memory Tagging Extension), то есть «до тех пор, пока кто-нибудь ни подберёт 4-битное число». Или если для полной компрометации вам нужно подменить три указателя, то «до тех пор, пока кто-нибудь не подберёт 12-битное число». Таким образом, если у вас обнаружится баг с безопасным доступом к памяти в Windows или Android, вы скомпрометируете лишь одного из 4,096 пользователей, то есть всего получается около пяти миллионов систем (при условии, что у вас всего одна попытка), и наверняка будете обнаружены в одной из тех, которую скомпрометировать не удастся.
Или примечанием вроде «пока вы не используете небезопасное ключевое слово, небезопасный пакет или пакет sun.misc.Unsafe» (Rust, Go, Java). Или: «пока вы не используете код из небезопасных языков» (во всех безопасных языках).
Но я хочу использовать код из небезопасного языка! На GitHub есть тринадцать миллиардов строк С/С++, которые я не горю желанием переписывать (или платить кому-то за это) на безопасном языке. Хочу иметь возможность переиспользовать этот код, но ограничить его так, чтобы минимизировать баги. Хочу производить из него вызовы, зная, что он может выполнять запись через передаваемые указатели, но не может получить доступ к чему-либо не расшареному. Хочу быть уверен, что он не может ничего передать в мой процесс (не говоря уже о других местах на компьютере), пока я открыто ему это не разрешу. Хочу не беспокоиться о том, есть ли в нём баги, потому что могу явно ограничить зону поражения, исключив неприятные последствия в перспективе, которые предполагают ошибки, связанные с безопасным доступом к памяти.
Создавать такие системы нам позволяет платформа CHERI (Capability Hardware Extension to RISC-V, аппаратное расширение возможностей архитектуры RISC-V).
Очень здорово, что мы можем сократить число багов безопасного доступа к памяти или усложнить их эксплуатацию. Переписывание кода на безопасных языках исключает категории сбоев и делает мир лучше. Если вы можете позволить себе затраты на такое переписывание, делайте это! Применение средств противодействия, которые сократят число потенциально захваченных атакующими машин с двух миллиардов до пяти миллионов, значительно уменьшает возможный вред. Но такие подходы не позволяют мне создавать впечатляющие системы.
Возможность выполнять всё современное POSIX-совместимое ядро, пользовательское пространство и кучу ПО с безопасным доступом к памяти очень важна, поскольку именно такое ПО существует сейчас в мире. Но это не раскрывает те возможности, которые становятся доступны, когда мы можем рассматривать безопасность памяти как что-то просто работающее. Аналогично тому, как просто работает целочисленная арифметика (которая намного понятнее арифметики чисел с плавающей запятой).
И с появлением CHERIoT мы начали постепенно приближаться к такому миру. Вы можете взять существующий код C/C++ и перекомпилировать его для выполнения в сегменте (compartment) CHERIoT. Вы можете принять как должное тот факт, что любой доступ за границами выделенной памяти и использование памяти после освобождения будут перехвачены. Вы можете расшарить объект с другой ячейкой, передав в неё указатель. Вы можете полагаться на то, что в случае передачи в другой сегмент указателя на объект в стеке (или любого указателя, который явно обозначите как временный), любая попытка перехватить этот указатель будет пресечена. Вы можете расшарить представление буфера только для чтения, передав указатель без разрешения записи, или сложную структуру данных, передав его без транзитивного разрешения записи.
У этой платформы есть, как её называет Роберт Ватсон, «модель разработки ПО ‘пылесос’»: вы направляете свой пылесос в интернет, всасываете все нужные компоненты и потом поставляете. Только теперь вы можете проверить конкретно, к чему каждый из них имеет доступ. Поскольку даже код ассемблера должен следовать фундаментальным правилам для обеспечения безопасности памяти, вы можете составить политики, диктующие, к чему эти компоненты должны иметь доступ, и проверять их до подписания образа прошивки.
Простое угадывание адреса, по которому находятся важные данные или код, не даст вам возможности получить доступ к этой памяти. Вы можете писать безопасный код, не беспокоясь о целом классе ошибок, и обоходиться без развёртывания дорогостоящих обновлений безопасности для компонентов, которые находятся в изоляции. Самое же главное, вы будете понимать характеристики безопасности фрагмента кода, просто глядя на его интерфейс.
Платформа CHERIoT ориентирована на небольшие системы, поскольку целесообразно заменить всю операционную систему чем-то, что предоставит абстракции, которые намного безопаснее и юзабельнее всего, что может предоставить существующее оборудование. И даже на этом мы задействуем лишь самую малость того, что становится возможным, когда при создании системы безопасность памяти (включая целостность ссылок и потока управления) становиться её неотъемлемым свойством.
Думаю, с момента выхода аппаратного решения CHERI пройдёт ещё лет десять, пока операционные системы потребителей смогут использовать его для реализации основных абстракций. Но есть в этом то, что меня действительно вдохновляет, а именно возможность глубоко встраивать в сложные системы недоверенный код, который будет обширно взаимодействовать с другими фрагментами недоверенного кода.
Не согласны с лицензией? Просто сделайте форк проекта, но не выкидывайте его код — говорите, что он всегда был доступен публично. Сравните код и лицензию HashiCorp с версией OpenTofu.
Автор, используя обороты вроде «возможно» и «судя по всему», довольно жёстко обвиняет сообщество OpenTofu в том, что они включили в своей проект часть кода Terraform, который доступен только под лицензией BUSL и не может быть свободно переиспользован, фактически вменяя разработчикам свободного проекта воровство.
Напомним, в августе 2023 года HashiCorp сменила лицензию на Terraform с MPLv2 на BUSL, не соответствующую критериям Open Source Initiative. После этого ряд игроков рынка сделал форк еще свободной версии Terraform и запустил проект, в итоге получивший название OpenTofu. Через некоторое время проект был передан в Linux Foundation и с тех пор развивался под крылом этой организации.
Ниже — главные мысли автора статьи (мы постарались сохранить стилистику).
OpenTofu — чрезвычайно многообещающий, но сложный в реализации проект. Настолько сложный, что OpenTofu, возможно, незаконно заимствовал код HashiCorp, чтобы не отставать от Terraform.
OpenTofu, судя по всему, удалил код Terraform, связанный с новой фичей, связанной с блоком removed, впервые реализованной в Terraform версии 1.7, которая была выпущена уже под Business Software License (BUSL) — через несколько месяцев после создания самого OpenTofu. То есть разработчики OpenTofu взяли этот код, удалили заголовки и попытались перелицензировать его под публичной лицензией Mozilla (MPL 2.0).
Ребята, открытый исходный код работает не так. Вы можете не соглашаться с тем, какую лицензию выбрал правообладатель, но у вас нет права брать чужой код, а потом копировать его и менять лицензию.
OpenTofu был запущен в сентябре 2023 года с большой помпой и «официальными гарантиями» поддержки от более чем 140 организаций, среди которых Cloudflare, Harness, Oracle и GitLab. Конечно, основные хранители (maintainers) в основном пришли от прямых конкурентов HashiCorp (Spacelift и env0), которые построили свой бизнес на Terraform и были расстроены сменой лицензии HashiCorp. Справедливо (тут автор явно использует сарказм — Прим. ред.).
К январю проект вовсю говорил о том, что OpenTofu уже доступен, даже несмотря на то, что в нём упоминались функции, которые ещё не были реализованы в Terraform и в самом OpenTofu должны были появиться позднее. Однако, несмотря на оптимистичное начало, команда вскоре начала осознавать сложность реализации этой функции. Безопасность — это сложно. (Возможно, ребята из HashiCorp, в конце концов, не были идиотами). Если такая скорость разработки звучит слишком хорошо и нереалистично, особенно учитывая, что за проектом стоит наспех собранная группа относительно небольших компаний (и ни одного из крупных поставщиков облачных технологий), возможно, так оно и было. В конце концов, что бы кто ни думал об изменении лицензии HashiCorp, компания потратила десятилетие на создание продукта. Инженерная мощь, стоящая за подобными усилиями, не проявится в течение нескольких месяцев, какими бы высокими ни были идеалы основателей.
В Terraform версии 1.7 HashiCorp представила важную новую функцию: автоматизация удаления ресурсов из state с использованием блока removed, которая позволяет Terraform лучше управлять удалением ресурсов. Думайте об этом как о подходе, основанном на конфигурации к terraform state rm. Важно отметить, что эта функция была представлена в конце ноября 2023 года, то есть уже после перехода HashiCorp на BUSL. Если кто-то хотел использовать блок removed для автоматизации удаления, он не мог использовать эту функцию так, будто бы она была выпущена под MPL.
К концу февраля 2024 года OpenTofu выпустил функциональность, аналогичную удалённой автоматизации блокировки от HashiCorp. Не только с точки зрения того, что она делает, но и с точки зрения кода, написанного для её выполнения. Взгляните на эти репозитории и скажите мне, если вы не видите того же самого:
Закон об авторских правах сложен. По образованию я юрист, но не практикую, поэтому не могу считаться очень хорошим юристом. Важнее то, что OpenTofu, похоже, удалил некоторые комментарии в нескольких файлах. Возможно, они к тому же изменили пару строчек в нескольких местах. Возможно, кто-то даже мог бы утверждать, что OpenTofu на самом деле не использовал код Terraform, лицензированный BUSL. Возможно.
Однако такой аргумент становится менее убедительным, когда вы смотрите на заголовки OpenTofu в файлах. Вот заголовок, который HashiCorp использовал в своих файлах с кодом блока removed:
// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: BUSL-1.1
А вот заголовок, который использовал OpenTofu:
// Copyright (c) 2023 HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
Видите проблему? OpenTofu признает, что использует код HashiCorp, но делает вид, что этот код лицензирован по MPL. Только это не так. Вообще. Весь этот код был выпущен после перевода Terraform на BUSL. В лучшем случае сообщество OpenTofu выдает желаемое за действительное, отчаянно надеясь, что оно сможет задним числом волшебным образом превратить код, лицензированный BUSL, в код, лицензированный MPL. В худшем случае разработчики OpenTofu обманным путём незаконно использовали интеллектуальную собственность HashiCorp и попытались присвоить её себе.
Что бы ни думали разработчики OpenTofu, такое поведение грубо противоречит позитивному «подходу, ориентированному на сообщество» и уж точно никак не демонстрирует «ценности открытого исходного кода», как провозглашается в пресс-релизе Linux Foundation. Это очень похоже на нарушение интеллектуальной собственности HashiCorp. Со стороны OpenTofu довольно логично не принимать новые лицензионные условия HashiCorp и форкать проект; однако с их стороны также совершенно незаконно брать код HashiCorp и применять к нему ту лицензию, которая им по душе.
А ещё это уж больно похоже на провал в менеджменте. Cloudflare, Oracle и другие компании никак не могли подписаться на такое поведение сообщества, но, похоже, именно это они и получают в итоге.
Пикантности этой статье добавляют три факта:
Matt Asay руководит DevRel-направлением в MongoDB — ещё одном Open Source-проекте, которой в недавнем прошлом сменил лицензию на не-Open Source.
Статья вышла до официального сообщения о том, что юристы HashiCorp отправили претензию сообществу OpenTofu. Возникает вопрос, откуда DevRel с юридическим, а не техническим бэкграундом выкопал все эти факты? В статье об этом, между прочим, — ни слова. Мем с Киселевым с канала «Россия» как нельзя кстати 🙂
OpenTofu — часть Linux Foundation, организации, у которой высокая репутация во всём мире: как среди инженеров, так и в бизнес-сообществе.
Обсуждения статьи в интернете
На самом сайте InfoWorld нельзя оставить комментарии, поэтому дебаты разгорелись на других площадках:
Причём реакция практически всех комментаторов была однозначной:
Статья написана слишком обвинительным тоном, при этом мнения второй стороны никто не спросил.
Реализация фичи отличается, а сходство будет просто в силу того, что реализуются одинаковые функции и реализуются они на Go, а этот язык дает не так много вариантов реализации одной и той же логики.
В заголовках файлов упоминаются авторские права HashiCorp, потому что так принято делать.
Мэтт, ты прекрасно всё знаешь сам. Именно так и происходит, когда ты делаешь форк. Форк всегда сохраняет предупреждения об авторских правах их прежнего проекта. И я посмотрел на код [обоих проектов]: то, что в них выглядит похоже, — просто следствие того, что они реализуют одну и ту же функциональность. А то, что в них выглядит по-разному, — я вижу как «разные SDE».
Эй, член core-команды OpenTofu здесь.
Заголовки с копирайтами в новых файлах необходимы, потому что иногда мы вынуждены перемещать код из старых файлов.
А вот ещё несколько ответов от представителей сообщества:
Письмо от юристов из HashiCorp
Примерно через неделю после публикации этой статьи в LinkedIn проекта OpenTofu появился пост следующего содержания:
Проект OpenTofu недавно узнал о письме юристов HashiCorp, в котором утверждается, что OpenTofu не соблюдает условия лицензии BSL, регулирующей кодовую базу Terraform. Проект OpenTofu категорически не согласен с любыми предположениями о том, что он незаконно присвоил и неправильно использовал исходный код или иным образом нарушил лицензию BSL на продукт HashiCorp. На самом деле мы предполагаем, что HashiCorp может смешивать код, исходники которого ранее были открыты под лицензией MPL, и свежий код, опубликованный уже под BSL. Хранители OpenTofu исследовали этот вопрос и намерены в ближайшие дни выпустить письменный ответ с более подробным объяснением своей позиции.
Саму претензию HashiCorp можно посмотреть по ссылке (pdf) — оказалось, что юристы прислали её ещё 3 апреля.
Ответ сообщества OpenTofu
11 апреля команда OpenTofu опубликовала долгожданный ответ — хотя к тому моменту уже мало кто сомневался, что OpenTofu не виноваты и обвинение было ложным. К ответу команда проекта приложила детальный анализ спорного кода на 46 страницах и скан официального ответа на претензию юристов HashiCorp.
Выдержка из статьи:
Команда OpenTofu категорически не согласна с любыми предположениями о том, что она незаконно присвоила, использовала неверные источники или иным образом неправильно использовала BSL-код HashiCorp. Все подобные заявления не имеют под собой никакой фактической основы.
HashiCorp подала заявления о нарушении авторских прав в письме о прекращении деятельности. Эти претензии абсолютно необоснованны.
Можно чётко проследить, что спорный код был скопирован из более старого кода, лицензированного ещё под MPL-2.0. Похоже, что HashiCorp и сама скопировала тот же код, когда реализовывала свою версию этой функции. Всё это легко увидеть в нашем подробном анализе SCO, а также в их собственных комментариях, которые как раз указывают на это.
Эта статья расставила все точки над i, претензии HashiCorp были отклонены.
Извинения Matt Asay
В тот же день Matt Asay опубликовал у себя в Twitter извинения.
Но не все подписчики остались довольны результатом — кто-то продолжал спрашивать, зачем он вообще опубликовал свою статью, а кто-то выражал сожаление, что вместо разработки новых функций сообщество OpenTofu вынуждено было проводить детальный анализ спорного фрагмента кода и составлять документ на 46 страниц.
Кроме того, автор статьи добавил в свой материал дисклеймер. В нём он сообщал, что, учитывая ответ OpenTofu, можно с уверенностью сказать — разработчики использовали код Terraform в рамках лицензии и обвинять их нет никаких оснований.
Выводы из этой истории
HashiCorp явно ревностно следит за OpenTofu и воспринимает проект как угрозу для Terraform.
Репутация Matt Asay как публициста, возможно, будет довольно сильно подпорчена.
Если вы пишете статью с серьёзными обвинениями в чей-то адрес, лучше для начала погрузиться в вопрос более основательно. Особенно если вы обвиняете подразделение уважаемой во всём мире организации — такой как Linux Foundation. И не стоит бросаться обвинениями, пока вы не выяснили всех подробностей, — лучше выбирать более нейтральный и беспристрастный тон.
Linux Foundation — зрелая организация, которая не зря имеет хорошую репутацию в инженерной и бизнесовой среде. А сообщества вокруг её проектов управляются достаточно зрелыми специалистами, которые способны спокойно и хладнокровно действовать даже в эмоционально очень сложной ситуации.
Немного конспирологии: вся последовательность действий выглядела так, будто бы это была некая атака, спланированная несколькими коммерческими структурами, которые в недавнем прошлом отказались от Open Source-лицензий на свои продукты.