...

суббота, 22 мая 2021 г.

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

Голосовые интерфейсы и форматы общения сейчас переживают новый виток популярности благодаря активно развивающимся технологиям распознавания речи и обработки естественного языка (NLP). Ведущие технологические компании одна за другой выпускают голосовых ассистентов, системы безопасности оборудуются биометрическими компонентами, а рынок подкастов постоянно растет. Но обо всем по порядку. 

Автоматизация бизнес-процессов

Развитие технологий разговорного ИИ (Conversational AI) достигло такого уровня, что сегодня виртуальных агентов в колл-центрах уже почти невозможно отличить от живого человека – они способны точно имитировать различные интонации, делать паузы и адекватно распознавать намерения клиентов.

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

Онлайн-знакомства

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

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

Голосовые помощники

Кажется, голосовые ассистенты скоро будут у каждой уважающей себя IT-компании. Начиналось все c зарубежных Siri, Google Assistant, Alexa, затем появились Алиса от Яндекса, Олег от Тинькофф банка и Маруся от Mail.Ru Group. Некоторые помощники обретают физическую форму в виде колонки или станции, другие остаются только в виртуальном виде. 

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

Подкастинг

Рынок подкастов продолжает уверенный рост. По данным недавнего исследования, к 2026 году его размер достигнет $41,8 млрд. Аудиоконтент востребован как никогда – свои подкасты запускают крупные СМИ, IT-компании, банки, независимые эксперты и отдельные энтузиасты. Диапазон тематик широк: от развлекательных ток-шоу и обзоров новостей до образовательных и бизнес-программ.

Рекламодатели тоже не обошли индустрию подкастов стороной. Согласно прогнозам PwC, объем рекламного рынка подкастинга в России составит $133 млн к 2023 году.

Голосовая биометрия

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

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

***

А какие еще интересные и необычные голосовые инструменты и приложения знаете вы?

Adblock test (Why?)

Телескоп ALMA нашёл самую старую из спиральных галактик


Изображение галактики BRI 1335-0417, какой она была 12,4 млрд лет назад, сделанное телескопом ALMA. Спиральные рукава видны с обоих сторон яркого компактного центра.

При анализе данных, собранных телескопом ALMA, исследователи нашли спиралевидную галактику, появившуюся всего спустя 1,4 млрд лет после Большого взрыва. Это самая древняя из всех когда-либо изученных астрономами галактик такого типа. Открытие галактики, имеющей спиральную структуру, и образовавшейся так рано –важный ключ к решению одной из главных астрономических загадок: когда и как появились спиралевидные галактики?

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

Спиральные галактики – такие как наша, Млечный Путь – фундаментальные объекты во Вселенной, и составляют почти 70% от общего числа галактик. Однако в прошлом, судя по собранным данным, их было гораздо меньше. Поэтому астрономов занимает вопрос – когда они впервые появились?
Цукуи и его куратор, Сатору Игучи, изучали данные с телескопа ALMA – «Атакамской большой антенной решётки миллиметрового диапазона». Они обратили внимание на галактику BRI 1335-0417. Её возраст составляет 12,4 млрд лет (Большой взрыв был 13,8 млрд лет назад), и в ней так много пыли, что та закрывает звёздный свет. Из-за этого в видимом диапазоне изучатье ё сложно. Но ALMA регистрирует радиоизлучение ионов углерода, благодаря чему мы можем изучать идущие в галактике процессы.

Радиус галактики в 15 000 световых лет примерно в три раза меньше, чем у Млечного пути, при этом её масса, вместе со звёздами и межзвёздной материей примерно равна массе нашей Галактики. Цукуи пояснил, что на таком расстоянии мы можем не видеть реальных границ галактики, и всё равно, для своего времени BRI 1335-0417 была просто гигантской.

Как же спиралевидная структура смогла сформироваться всего спустя 1,4 млрд лет после Большого взрыва? Рассмотрев все варианты, исследователи предположили, что это могло быть результатом взаимодействия с другой, менее крупной галактикой. На внешних окраинах галактики активно формируются звёзды, и там находится обилие нестабильного газа. Такое бывает, когда газ поступает снаружи – например, из-за столкновения с мелкими галактиками.


Симуляция формирования спиральной галактики на суперкомпьютере

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

Adblock test (Why?)

[Перевод] Немного о том, как работает виртуальный DOM в React

image


Настоящий или реальный (real) DOM

DOM расшифровывается как Document Object Model (объектная модель документа). Проще говоря, DOM — это представление пользовательского интерфейса (user interface, UI) в приложении. При каждом изменении UI, DOM также обновляется для отображения этих изменений. Частые манипуляции с DOM негативно влияют на производительность.


Что делает манипуляции с DOM медленными?

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

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

Допустим, у нас имеется список из 10 элементов. Мы изменяем первый элемент. Большинство фреймворков перестроят весь список. Это в 10 раз больше работы, чем требуется! Только 1 элемент изменился, остальные 9 остались прежними.

Перестроение списка — это легкая задача для браузера, но современные веб-сайты могут осуществлять огромное количество манипуляций с DOM. Поэтому неэффективное обновление часто становится серьезной проблемой. Для решения данной проблемы команда React популяризовала нечто под названием виртуальный (virtual) DOM (VDOM).


Виртуальный DOM

В React для каждого объекта настоящего DOM (далее — RDOM) существует соответствующий объект VDOM. VDOM — это объектное представление RDOM, его легковесная копия. VDOM содержит те же свойства, что и RDOM, но не может напрямую влиять на то, что отображается на экране.


Виртуальный DOM (VDOM) — это концепция программирования, где идеальное или «виртуальное» представление UI хранится в памяти и синхронизируется с «реальным» DOM, используемая такими библиотеками, как ReactDOM. Данный процесс называется согласованием (reconcilation).

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


Почему VDOM является более быстрым?

Когда в UI добавляются новые элементы, создается VDOM в виде дерева. Каждый элемент является узлом этого дерева. При изменении состояния любого элемента, создается новое дерево. Затем это новое дерево сравнивается (diffed) со старым.

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

На изображениях ниже представлено виртуальное DOM-дерево и процесс согласования.


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



Как React использует VDOM?

После того, как мы рассмотрели, что такое VDOM, настало время поговорить о том, как он используется в React.


1. React использует паттерн проектирования «Наблюдатель» (observer) и реагирует на изменения состояния

В React каждая часть UI является компонентом и почти каждый компонент имеет состояние (state). При изменении состояния компонента, React обновляет VDOM. После обновления VDOM, React сравнивает его текущую версию с предыдущей. Этот процесс называется «поиском различий» (diffing).

После обнаружения объектов, изменившихся в VDOM, React обновляет соответствующие объекты в RDOM. Это существенно повышает производительность по сравнению с прямыми манипуляциями DOM. Именно это делает React высокопроизводительной библиотекой JavaScript.


2. React использует механизм пакетного (batch) обновления RDOM

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

Повторная отрисовка UI — самая затратная часть, React обеспечивает точечную и групповую перерисовку RDOM.


3. React использует эффективный алгоритм поиска различий

React использует эвристический O(n) (линейный) алгоритм, основываясь на двух предположениях:


  1. Два элемента разных типов приводят к построению разных деревьев


  2. Разработчик может обеспечить стабильность элементов между рендерингами посредством пропа key (ключ)


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

При сравнении двух деревьев, React начинает с корневых элементов. Дальнейшие операции зависят от типов этих элементов.


Элементы разных типов


  • Если корневые элементы имеют разные типы, React уничтожает старое дерево и строит новое с нуля


  • Вместе со старым деревом уничтожаются все старые узлы DOM. Экземпляры компонента получают componentWillUnmount(). При построении нового дерева, новые узлы DOM встраиваются в DOM. Экземпляры компонента получают сначала UNSAFE_componentWillMount(), затем componentDidMount(). Любое состояние, связанное со старым деревом, утрачивается


  • Любые компоненты, являющиеся дочерними по отношению к корневому, размонтируются, их состояние уничтожается. Например, при сравнении:


<div>

 <Counter />

</div>

<span>

 <Counter />

</span>

Старый Counter будет уничтожен и создан заново.


Элементы одинакового типа

При сравнении двух элементов одинакового типа, React «смотрит» на атрибуты этих элементов. Узлы DOM сохраняются, изменяются только их атрибуты. Например:

<div className="before" title="stuff" />

<div className="after" title="stuff" />

После сравнения этих элементов будет обновлен только атрибут className.

После обработки узла DOM, React рекурсивно перебирает всех его потомков.


Рекурсивный перебор дочерних элементов

По умолчанию React перебирает два списка дочерних элементов DOM-узла и генерирует мутацию при обнаружении различий.

Например, при добавлении элемента в конец списка дочерних элементов, преобразование одного дерева в другое работает хорошо:

<ul>

 <li>первый</li>

 <li>второй</li>

</ul>
<ul>

 <li>первый</li>

 <li>второй</li>

 <li>третий</li>

</ul>

React "видит", что в обоих деревьях имеются <li>первый</li> и <li>второй</li>, пропускает их и вставляет в конец <li>третий</li>.

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

<ul>

 <li>первый</li>

 <li>второй</li>

</ul>
<ul>

 <li>нулевой</li>

 <li>первый</li>

 <li>второй</li>

</ul>

React не сможет понять, что <li>первый</li> и <li>второй</li> остались прежними и мутирует каждый элемент.


Использование ключей

Для решения данной проблемы React предоставляет атрибут (проп) key. Когда дочерние элементы имеют ключи, React использует их для сравнения потомков текущего и предыдущего узлов. Например, добавление ключей к элементам из последнего примера сделает преобразование деревьев намного более эффективным:

<ul>

 <li key="1">первый</li>

 <li key="2">второй</li>

</ul>
<ul>

 <li key="0">нулевой</li>

 <li key="1">первый</li>

 <li key="2">второй</li>

</ul>

Теперь React знает, что элемент с ключом 0 является новым, а элементы с ключами 1 и 2 старыми.

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

<li key={item.id}>{item.name}</li>

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

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

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



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

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

Поскольку «виртуальный DOM» — это в большей степени паттерн, нежели конкретная технология, данное понятие может означать разные вещи. В мире React «виртуальный DOM», обычно, ассоциируется с React-элементами, которые являются объектами, представляющими пользовательский интерфейс. Тем не менее, React также использует внутренние объекты, которые называются «волокнами» (fibers). В этих объектах хранится дополнительная информация о дереве компонентов. Fiber — это новый движок согласования, появившийся в React 16. Его основная цель заключается в обеспечении инкрементального рендеринга VDOM.


Как выглядит VDOM?

Название «виртуальный DOM» делает концепцию немного магической (мистической). На самом деле, VDOM — это обычный JavaScript-объект.

Представим, что у нас имеется такое DOM-дерево:


Это дерево может быть представлено в виде такого объекта:

const vdom = {

 tagName: 'html',

 children: [

   { tagName: 'head' },

   {

     tagName: 'body',

     children: [

       {

         tagName: 'ul',

         attributes: { class: 'list' },

         children: [

           {

             tagName: 'li',

             attributes: { class: 'list_item' },

             textContent: 'Элемент списка',

           }, // конец li

         ],

       }, // конец ul

     ],

   }, // конец body

 ],

} // конец html

Это наш VDOM. Как и RDOM, он является объектным представлением HTML-документа (разметки). Однако, поскольку он представляет собой всего лишь объект, мы можем свободно и часто им манипулировать, не прикасаясь к RDOM без крайней необходимости.

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

const list = {

 tagName: 'ul',

 attributes: { class: 'list' },

 children: [

   {

     tagName: 'li',

     attributes: { class: 'list_item' },

     textContent: 'Элемент списка',

   },

 ],

}

VDOM под капотом

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

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

Первым делом, нам нужна копия VDOM с изменениями, которые мы хотим осуществить. Поскольку нам не нужно использовать DOM API, мы можем просто создать новый объект.

const copy = {

 tagName: 'ul',

 attributes: { class: 'list' },

 children: [

   {

     tagName: 'li',

     attributes: { class: 'list_item' },

     textContent: 'Первый элемент списка',

   },

   {

     tagName: 'li',

     attributes: { class: 'list_item' },

     textContent: 'Второй элемент списка',

   },

 ],

}

Данная копия используется для создания «различия» (diff) между оригинальным VDOM (list) и его обновленной версией. Diff может выглядеть следующим образом:

const diffs = [

 {

   newNode: {

     /* новая версия первого элемента списка */

   },

   oldNode: {

     /* оригинальная версия первого элемента списка */

   },

   index: {

     /* индекс элемента в родительском списке */

   },

 },

 {

   newNode: {

     /* второй элемент списка */

   },

   index: {

     /* ... */

   },

 },

]

Данный diff содержит инструкции по обновлению RDOM. После определения всех различий мы можем отправить их в DOM для выполнения необходимых обновлений.

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

const domElement = document.quesrySelector('list')

diffs.forEach((diff) => {

 const newElement = document.createElement(diff.newNode.tagName)

 /* Добавляем атрибуты ... */

 if (diff.oldNode) {

   // Если имеется старая версия, заменяем ее новой

   domElement.replaceChild(diff.newNode, diff.oldNode)

 } else {

   // Если старая версия отсутствует, создаем новый узел

   domElement.append(diff.newNode)

 }

})

Обратите внимание, что это очень упрощенная версия того, как может работать VDOM.


VDOM и фреймворки

Обычно, мы имеем дело с VDOM при использовании фреймворков.

Копцепция VDOM используется такими фреймворками, как React и Vue для повышения производительности обновления DOM. Например, с помощью React наш компонент list может быть реализован следующим образом:

import React from 'react'

import ReactDOM from 'react-dom'

const list = React.createElement(

 'ul',

 { className: 'list' },

 React.createElement('li', { className: 'list_item' }, 'Элемент списка')

)

// для создания элементов в React обычно используется специальный синтаксис под названием «JSX»

// const list = <ul className="list"><li className="list_item">Элемент списка</li></ul>
ReactDOM.render(list, document.body)

Для обновления списка достаточно создать новый шаблон и снова передать его ReactDOM.render():

const newList = React.createElement(

 'ul',

 { className: 'list' },

 React.createElement(

   'li',

   { className: 'list_item' },

   'Первый элемент списка'

 ),

 React.createElement('li', { className: 'list_item' }, 'Второй элемент списка')

)

const timerId = setTimeout(() => {

 ReactDOM.render(newList, document.body)

 clearTimeout(timerId)

}, 5000)

Поскольку React использует VDOM, даже несмотря на то, что мы повторно рендерим весь список, обновляются только фактически изменившиеся части.



Заключение

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

Подход, используемый Angular, который является фреймворком, благодаря которому одностраничные приложения (single page applications, SPA) обрели столь широкую известность, называется Dirty Model Checking (грязной проверкой моделей). Следует отметить, что DMC и VDOM не исключают друг друга. MVC-фреймворк вполне может использовать оба подхода. В случае с React это не имеет особого смысла, поскольку React — это, в конце концов, всего лишь библиотека для слоя представления (view).



Облачные VDS от Маклауд быстрые и безопасные.

Зарегистрируйтесь по ссылке выше или кликнув на баннер и получите 10% скидку на первый месяц аренды сервера любой конфигурации!

Adblock test (Why?)

Microsoft Windows 10X: революции не случилось


Несколько дней назад на Хабре опубликовали новость о том, что Microsoft закрывает свой масштабный проект — революционную, как сообщалось компанией, операционную систему Windows 10X. Изначально эта ОС проектировалась для гаджетов с двумя экранами, но потом компания решила расширить количество совместимых платформ, добавив ноутбуки с базовой конфигурацией.

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

Как все начиналось


У Windows 10X было сразу несколько предварительных названий, включая Windows Core OS, Windows Lite и другие. Сначала компания Microsoft начала разрабатывать ее для установки на устройства нового типа с двумя экранами. Слухи об ОС ходили задолго до ее появления, но официальный анонс компания сделала в октябре 2019 года, одновременно с Surface Neo. Это был девайс с двумя экранами, на который и была установлена операционная система.

Разработчики заявили, что операционная система ориентирована на ARM, как до этого было с Windows RT и Windows 10S. Пытались добавить эмуляцию Win32-приложений, но в итоге отказались от этого, так что уже готовые наработки убрали из тестовой версии.

В течение нескольких месяцев СМИ, освещавшие ход разработки двухэкранных систем и самой ОС, называли проект «революционным». Но, к сожалению, революции не случилось. Фанфары звучали все тише, а потом музыка и вовсе стихла. Громких заявлений не было слышно до самой отмены релиза Windows 10X.

Что-то пошло не так


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

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

Правда, проект создания платформы прожил дольше, чем «железо», поскольку Windows 10X решили позиционировать в качестве если не конкурента, то хотя бы аналога Chrome OS. Именно поэтому и была добавлена поддержка архитектуры ARM, чего, например, нет во «взрослой» Windows 10.

В середине декабря 2020 года сразу несколько интернет-СМИ заявили о том, что разработка Windows 10X закончена и вскоре эта ОС станет доступна для производителей ноутбуков. Речь идет об RTM-версии. Во втором квартале 2021 года ожидалось поступление в продажу устройств с этой платформой. В целом, шансы победить ту же Chrome OS у Windows 10X были, ведь до настоящего момента доля ОС от Google составляет немногим более 1% всего рынка настольных ОС.


У Windows 10X было несколько отличий от Windows 10:
  • Меню «Пуск» не только переименовано в Launcher (оригинальное название — Start), но и переформатировано. В него входила строка поиска, выводились недавно используемые документы и приложения. Разработчики изменили интерфейс меню для того, чтобы пользователи могли оперативно запускать задачи.
  • Мгновенный выход из спящего режима. После того, как эту возможность добавила Apple в свои ноутбуки, разработчики Microsoft решили использовать моментальный выход из спящего режима и в своей ОС (возможно, это была оригинальная идея).
  • Быстрая настройка. Общее меню настроек было разделено на два основных элемента. Один из них, быстрые настройки, включал самые популярные пункты вроде беспроводной связи или языка ввода. Впрочем, нечто подобное есть и в Windows 10.
  • Упрощенный интерфейс и отсутствие возможности устанавливать обычные приложения с разных ресурсов — только из Microsoft Store.

Неожиданная отмена


Несколько дней назад корпорация выпустила кумулятивное обновление Windows 10 May 2021 Update (21H1). Обычно его выпускают накануне или одновременно с конференцией Build, но на этот раз компания решила действовать более оперативно. И практически сразу же последовало заявление о закрытии проекта Windows 10X.

Большинство важных наработок отмененной операционной системы не пропадут — их добавят во «взрослую» ОС. Для этого будет выпущено специальное обновление Windows 10 Sun Valley, которое вберет в себя все наработки Windows 10X, которые компания сочтет важными. Недавно в сети появился скриншот системы после обновления.


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

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

Windows 10X — не первая и, вероятно, не последняя отмененная ОС от Microsoft


У корпорации Microsoft, как и у многих других компаний, довольно много отмененных проектов, которые изначально считались перспективными. Что касается Windows 10X, это уже третья ОС, которую отменили по той или иной причине.

Первой (из относительно новых) операционных систем, разработку которых решили закрыть, стала Windows RT. Она тоже работала с ARM-процессорами и выполняла практически те же задачи, что и «взрослая» ОС. Она вышла в релиз, на ее основе разрабатывались устройства, включая планшеты линейки Microsoft Surface и Nokia Lumia. Но в итоге ОС прекратили развивать.

В 2017 году компания объявила о скором выходе Windows 10S — упрощенной версии Windows 10. Здесь все было похоже на текущую ситуацию. Система была рассчитана на ARM, Windows 32-приложения запускать было нельзя, это была ОС для устройств базового уровня. Но она так и не вышла в свет, ее наработки использовали для развития основной линейки — Windows 10.

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

Adblock test (Why?)

TAdviser: техдир «Байкал электроникс» рассказал о планах компании и состоянии современного рынка микроэлектроники

Российский процессор Baikal-T1.

20 мая технический директор «Байкал Электроникс» Григорий Хренов рассказал в интервью TAdviser о планах компании и состоянии современного рынка российской микроэлектроники.
Хренов рассказал, что компания за восемь лет смогла разработать и произвести на сторонней фабрике три процессора — Baikal-T с архитектурой MIPS для промышленной автоматики, Baikal-M на 64-битных ядрах на базе ARMv8 для применения в ПК и ноутбуках, а также серверный процессор Baikal-S на базе ARM, который «Байкал Электроникс» запустила в производство в мае 2021 года и ждет его первых рабочих образцов из Тайваня.

Всего компания выпустила Baikal-T в объеме нескольких десятков тысяч штук, Baikal-M она заказала у TSMC больше 130 тысяч экземпляров, причем этот объем для свободной продажи, а не по заказу определенных клиентов.

В планах «Байкал Электроникс» в ближайшее время начать разработку нового процессора для встраиваемых и коммуникационных систем на замену Baikal-T, но уже на архитектуре ARM. Фактически компания планирует для экономии поддерживать далее только одну архитектуру в своих новых разработках и сфокусируется на работе с ARM.

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

Для борьбы с кадровым голодом «Байкал Электроникс» собирается сама обучать и развивать нужные компетенции у новых сотрудников. В 2021 году компания планирует расширить штат инженеров на 50%. Это необходимо, чтобы далее вести сразу несколько проектов по разработке и поддержке процессоров.

Хренов пояснил, что уровень оплаты труда инженеров в компании «приближается к общемировым стандартам, но еще отстает от них». Он даже привел пример, что в «Байкал Электроникс» возвращались инженеры, ранее уехавшие работать за границей.

С другой стороны генеральный директор «Байкал Электроникс» посетовал, что сложнее всего найти новых разработчиков ПО для поддержки процессоров и ОС. Также, по его мнению, сейчас в многих университетах не учат работать со специализированными программами для микроэлектроники. Хотя многие САПР, например, Synopsys, Cadence и Mentor Graphics, представляют свои решения для образования, а российских аналогов этим программам нет.

По поводу удаленной работы в компании во время пандемии Хренов рассказал, что «Байкал Электроникс» переводила сотрудников на удаленку, но сейчас они вернулись в офисы. Он считает, что именно там работа «более продуктивна, поскольку все коллеги рядом, лучше коммуникация, быстрее решаются вопросы».

Хренов подытожил, что у «Байкал Электроникс» есть новые планы и проекты, компания планирует выйти в неосвоенные сегменты рынка.

В настоящее время все процессоры серии «Baikal» производятся на тайваньской фабрике TSMC. Российские производители не имеют оборудования и технологии для производства таких систем.

21 мая на Хабре было опубликовано сравнение процессоров Байкал-М и Эльбрус-8СВ.

В конце апреля блогер протестировал компьютер на базе Baikal-M в домашних условиях.

В марте специалисты отдела инноваций «Ниеншанц-Автоматики» рассказали о ходе тестирования и процессе разработки промышленного компьютера на базе российского процессора Baikal-M.

В конце ноября прошлого года «Байкал электроникс» представила три новых процессора — «Байкал-М/2», «Байкал-М/2+» и «Байкал-S», которые выйдут в 2021 году.

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

Adblock test (Why?)

Восстановление погибших дискет с осциллографом


Greaseweazle F7 Plus

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

Но что делать, если Greaseweazle не может прочитать биты на магнитной поверхности — и сообщает о повреждённых данных? Что, если на дискете материал исторической важности, исходный код в единственном экземпляре или культовая игра? Неужели всё потеряно?

Совсем нет. Известный хакер Крис Эванс с инженером Филом Пембертоном протестировали новый способ восстановления данных с флоппи-дискет, используя осциллограф. В частности, они вернули к жизни игру «Ферма старого Макдональда» для BBC Micro.
В 1980-е годы руководства пользователя и руководства для обслуживания для компьютерных накопителей были гораздо информативнее, чем сейчас. Например, вот страничка из технического мануала для TEC FB-50x:

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

Концептуально алгоритм считывания довольно простой. Однако инженеры прошлого всё же придумали несколько схем кодирования (и раскодирования) сигнала: MFM (использовались в PC, Amiga, BBC Micro ADFS) и GCR (использовались в Apple II и Commodore 64). Дискеты BBC Micro DFS работали по самой простой схеме FM. В ней дисковод вообще не отягощал себя какой-то схемой кодирования, а просто выдавал импульсы по счётчику (таймеру).

Данные:  0 0 1 0 1 1 0 1 0 0 0 1 1 0
Код:    1010111011111011101010111110
Таймер: 1 1 1 1 1 1 1 1 1 1 1 1 1 1


Крис Эвансом с Филом Пембертоном смогли восстановить исходный код культовой игры Repton 3, игру «Ферма старого Макдональда» (Old Macdonald's Farm) а также ещё несколько ценных файлов для компьютера BBC Micro.

Они получили дискеты от нескольких хранителей исторических ценностей, но все они были повреждены временем. Greaseweazle выдавал ошибки CRC:


Скрин из эмулятора HxC Floppy Drive Emulator

Чёрные горизонтальные полосы — это тайминги между импульсами с дискеты. Чем они тоньше, тем более чёткий сигнал. Здесь видим, что качество отличное, то есть дегенерация дискеты ещё не дошла до такой стадии, когда всё сливается в кашу. Тут просто проблема с единственным участком. Что там может быть?


А вот и проблема

Визуальная инспекция показала, что кто-то неудачно помял дискету.

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

Ничего не оставалось, как применить научное оборудование, которое Крис Эванс использует в своих цифровых расследованиях. На фотографии — любительский осциллограф Siglent SDS 1104X-E, подключённый к плате Greaseweazle. Она считывает данные с дисковода TEC FB-50x, в котором крутится дискета с исходным кодом Repton 3.

Тут Greaseweazle только для управления, но не для анализа. Он просто включает движок дисковода, а считывание данных происходит напрямую на осциллограф по проводам, подключённым к дисководу на тестовые точки TP3 и TP4, как указано в техническом мануале (см. скан страницы в начале статьи).

Производительности этого осциллографа начального уровня достаточно, чтобы загрузить целую дорожку с дискеты (время считывания 200 мс) во внутреннюю память на частоте 25 Мсэмплов/с. Чувствительности 500uV/div хватает, чтобы различить пики в записи. Пара пиков по 4 микросекунды обычно соответствует "1", а пик на 8 микросекунд — это "0".

Конечно, без проблем не обошлось. Оказалось, что разные дисководы выдают разный аналоговый сигнал: например, у Mitsubishi сигнал более чистый, у TEAC присутствует странный высокочастотный шум. А лучше всех проявил себя дисковод TEC FB-502, хотя он был старше Mitsubishi и остальных.


ASCII-символ "1" (00110001), первый символ в названии диска (1187V1.0)

Чтобы усилить магнитный сигнал с дискеты, Фил поставил резистор для управления скоростью вращения, и дискеты разгоняли со стандартной скорости 300 RPM до 400 FPM. Естественно, прочитать данные становилось легче — законы физики!

Звук записи на дискету 5,25", замедленный примерно в 100 раз (20 секунд вместо реальных 0,2 секунды)

Но вернёмся к осциллографу. Получив аналоговый сигнал с дисковода, хотелось бы применить какой-то алгоритм для автоматической расшифровки этого сигнала. Инженеры решили попробовать такой вариант: найти начало сектора, и непрерывно отсчитывать от него по 8 микросекунд аналогового потока. Если напряжение растёт или снижается на протяжении всего участка, это "0". Если напряжение изменяется сначала в одном направлении, а потом в другом, то это "1". Затем повторная синхронизация к ближайшему пику.

Несмотря на хаотичные волновые формы, алгоритм восстановил все биты в «потерянном» секторе с той дискеты:

В самых трудных случаях форму сигнала с осциллографа исправляли вручную в редакторе FloppyControlApp. Немного похоже на то, как ретушируют (восстанавливают) старые фотографии:

Этот инновационный метод позволил получить исходный код, который безуспешно пытались восстановить разными методами несколько лет! С помощью осциллографа прочитано 100% кода со всех дискет! В том числе игра «Ферма старого Макдональда». Это безусловная удача для цифровых археологов.

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

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

В общем, Крис с Филом ждут ваших дискет! И старый Макдональд тоже :)



Облачные VDS от Маклауд быстрые и безопасные.

Зарегистрируйтесь по ссылке выше или кликнув на баннер и получите 10% скидку на первый месяц аренды сервера любой конфигурации!

Adblock test (Why?)

YouTube с 1 июня начнет вставлять рекламу во все видео и введет налоги для блогеров

YouTube объявил, что с 1 июня начнет размещать рекламные блоки во всех видео, опубликованных на платформе. На площадке начнут действовать новые правила монетизации контента.

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

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

Таким образом, до 31 мая всем блогерам потребуется предоставить сервису Google AdSense налоговую информацию, в том числе ИНН, наименование юридического лица и коммерческое название. В противном случае видеохостинг начнет удерживать с них до 24 % от доходов с просмотров.

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

YouTube предупредил о намерении брать налоги с монетизации за просмотры в США еще в марте. Между тем российское Минцифры предложило обязать иностранные компании, являющиеся налоговыми агентами России, выплачивать НДФЛ за местных блогеров, которые зарабатывают на рекламе.

По данным международной ассоциации The Interactive Advertising Bureau (IAB), российские блогеры в 2020 году официально заработали почти в 1,6 раза больше (на 64 %), чем в 2019 году — 11,1 млрд рублей против 6,8 млрд. Их доходы от рекламы впервые превысили рекламные доходы печатных СМИ, включая все газеты и журналы России.

Между тем 21 мая в Госдуму внесли законопроект об открытии филиалов в РФ крупных иностранных IT-ресурсов. В противном случае компании будут грозить экономические санкции вплоть до запрета рекламы и блокировки платежей. Закон коснется площадок с ежедневной аудиторией от 500 тысяч российских пользователей, в том числе и YouTube.

Adblock test (Why?)

Рисуем светом: длинная выдержка на Android

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

Длинная выдержка

Выдержка - термин из мира фотографии, который определяет время открытия затвора при съемке. Чем дольше открыт затвор, тем дольше свет экспонирует светочувствительную матрицу. Проще говоря, делает фотографию более яркой. Современные фотоаппараты используют выдержки длинной в 1/2000 cекунды, что позволяет получить освещенную, но при этом не пересвеченную фотографию. Длинная выдержка подразумевает открытие затвора на секунду и больше. При верно выбранной сцене это позволяет получать фантастические фотографии, способные запечатлеть движение света в объективе камеры. Причем фотографировать можно что угодно: ночные улицы с мчащимися машинами или маятник, с укрепленным на нем фонариком, позволяющим выписывать фигуры Лиссажу. А можно вообще рисовать светом самому и получать целые картины-фотографии.

Улицы города, сфотографированные с использованием длинной выдержки
Улицы города, сфотографированные с использованием длинной выдержки

Теория

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

  • аппаратный - состоит в управлении физическим открытием и закрытием затвора

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

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

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

Практика

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

Аппаратный подход

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

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

val imageCaptureBuilder = ImageCapture.Builder()
Camera2Interop.Extender(imageCaptureBuilder).apply {  
  setCaptureRequestOption(
    CaptureRequest.CONTROL_AE_MODE,
    CaptureRequest.CONTROL_AE_MODE_OFF
  )
  setCaptureRequestOption(
    CaptureRequest.SENSOR_EXPOSURE_TIME,
    EXPOSURE_TIME_SEC * NANO_IN_SEC
  )
}

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

val manager = getSystemService(CAMERA_SERVICE) as CameraManager
for (cameraId in manager.cameraIdList) {
  val chars = manager.getCameraCharacteristics(cameraId)
  val range = chars.get(CameraCharacteristics.SENSOR_INFO_EXPOSURE_TIME_RANGE)  
  Log.e("CameraCharacteristics", "Camera $cameraId range: ${range.toString()}")
}

Программный подход

Для начала определимся с общей идеей нашей реализации.

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

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

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

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

Как видно из схемы, основная магия происходит при объединении 2х кадров: сохраненного в фреймбуфере и полученного с камеры. Рассмотрим шейдер для этой задачи подробнее.

#extension GL_OES_EGL_image_external : require
precision mediump float;
uniform mat4 stMatrix;
uniform texType0 tex_sampler;
uniform texType1 old_tex_sampler;
varying vec2 v_texcoord;
void main() {    
    vec4 color = texture2D(tex_sampler, (stMatrix * vec4(v_texcoord.xy, 0, 1)).xy);
    vec4 oldColor = texture2D(old_tex_sampler, v_texcoord);  
    float oldBrightness = oldColor.r * 0.2126 + oldColor.g * 0.7152 + oldColor.b * 0.0722 + oldColor.a; 
    float newBrightness = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722 + color.a;
  // объединяем пиксели
}

Работа шейдера состоит из нескольких этапов:

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

  2. Затем вычисляем яркость пикселя на обоих кадрах

  3. Объединяем пиксели

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

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

Тогда объединение пикселей будет выглядеть вот так:

if (newBrightness > oldBrightness) {
  gl_FragColor = color;
} else {
  gl_FragColor = oldColor;
}

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

Длинная выдержка
Длинная выдержка

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

if (newBrightness > oldBrightness) {  
  gl_FragColor = mix(color, oldColor, 0.01);
} else { 
  gl_FragColor = mix(oldColor, color, 0.01);
}
Вот несколько примеров с разными коэффициентами и временем затухания света.
Коэффициент 0.001
Коэффициент 0.001
Коэффициент 0.01
Коэффициент 0.01
Коэффициент 0.5
Коэффициент 0.5

Заключение

 Вот несколько примеров, что умеет получившееся приложение. Все-таки я не художник :( А что нарисуете вы?
Вот несколько примеров, что умеет получившееся приложение. Все-таки я не художник :( А что нарисуете вы?

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

Adblock test (Why?)

Pen Test Partners взломала развлекательную систему «Боинга-747»

Исследователи из Pen Test Partners взломали систему развлечений в полете (IFE) на авиалайнере «Боинг-747» после использования уязвимости, появившейся еще в 1999 году.

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

Управляющий сервер IFE работал под управлением Windows NT4 SP3, далекого предка сегодняшних сборок Windows Server. Это стало проблемой для тестировщиков PTP, которые попытались запустить современные инструменты для тестирования на проникновение: NT4 была разработана до появления атак удаленного рабочего стола. Metasploit не сработал, как и Backtrack, предшественник Kali Linux.

Исследователи отмечают, что обычно полезная нагрузка выполняется с использованием внутренней функции Windows cscript. Она используется почти во всех версиях Windows в качестве инструмента, запускающего сценарии, поэтому могут быть созданы и запущены любые сценарии Visual Basic, C # или другие. Однако NT4 не включает cscript, так как операционная система вышла раньше этого инструмента.

Другая проблема заключалась в том, что тестирование сети в реальном времени и на месте потребовало запуска самолета. Использование вспомогательной силовой установки довольно затратное, так как авиалайнер сжигает 300-400 л топлива Jet A1 в час, или около $ 250 в час.

Однако в Pen Test Partners выяснили, что версия NT4 использовала Internet Information Services v4.0, которая имела «старые» уязвимости еще с 2000-х годов. Исследователи получили эксплойт обхода каталогов при установке IFE после некоторых ухищрений с кодировкой символов.

Современные операционные системы, как правило, используют UTF-8, который кодирует символы одним байтом, а не два байта UTF-16, а это означает, что их команды необходимо перекодировать перед развертыванием. При этом целевая программа должна находиться на том же диске, что и веб-сервер. Исследователям требовалось, чтобы папка system32 находилась на том же диске, что и установка IIS.

Второй эксплойт, использованный для получения постоянного доступа к оболочке, — это уязвимость удаленного выполнения кода 20-летней давности, CVE-1999-1011. PTP описала его как использование «пакета под названием Microsoft Data Access Components, который обеспечивает прямой доступ к объектам базы данных через IIS».

Исследователи проникли в систему, используя модуль TFTP-сервера Metasploit для получения доступа к командной строке, а оттуда получили хэш пароля администратора.

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

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

Adblock test (Why?)

Китайская обсерватория впервые обнаружила певатроны в нашей Галактике

Китайская обсерватория LHAASO зарегистрировала 530 фотонов с энергией между 0,1 и 1,4 петаэлектронвольта от 12 источников в пределах Млечного пути. Это подтверждает существование галактических певатронов — космических ускорителей в нашей Галактике, которые разгоняют частицы до энергий порядка петаэлектронвольта и опровергают традиционное понимание Млечного Пути.

XINHUA / ALAMY LIVE NEWS
XINHUA / ALAMY LIVE NEWS

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

Фотоны с энергией, превышающей 1 ПэВ, были обнаружены в очень активной области звездообразования в созвездии Лебедя. LHAASO также выявила 12 стабильных источников гамма-излучения с энергией примерно до 1 ПэВ и значениями фотонных сигналов, на семь стандартных отклонений больше, чем окружающий фон. Эти источники расположены в нашей галактике в местах, которые можно измерить с точностью выше 0,3°. Это самые яркие источники гамма-излучения Млечного Пути в поле зрения LHAASO. Одним из певатронов оказалась Крабовидная туманность.

Положение источников на небе
Положение источников на небе

Таким образом, это исследование показывает, что наша Галактика имеет ускорители мощнее LHC, который работает в ЦЕРНе с пределом в 0,01 ПэВ. До сих пор это значение считалось прогнозируемым пределом, что приводило к естественному обрезанию спектра гамма-лучей выше этого значения. Но наблюдение LHAASO позволило увеличить этот «предел», поскольку спектры большинства источников не усечены.

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

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

Физики уже больше ста лет исследуют частицы высоких энергий, источниками которых являются внеземные объекты (вплоть до 1021 электронвольт — в 100 млн раз больше, чем энергия частиц в кольце Большого адронного коллайдера). Однако до сих пор было неясно, какие именно космические объекты могут приводить к такому ускорению. Космические лучи с энергией порядка петаэлектронвольта имеют излом кривой спектра, который связывают с различной природой космических лучей с меньшими и большими значениями энергии. Гипотетические источники таких частиц и называют певатронами. Их определение усложнено тем, что они успевают отклониться от начальной траектории своего движения из-за сильных магнитных полей в космическом пространстве.

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

Сама LHAASO расположена на высоте 4410 метров в китайской провинции. Площадь обсерватории достигает 1 квадратного километра, на котором расположены 5195 сцинтилляционных счетчиков и 1188 мюонных детекторов, а в центре — 3 водных черенковских детектора c общей площадью в 78 000 квадратных метров и 18 черенковских детекторов с широким полем зрения.

Схема обсерватории LHAASO. Розовым обозначены сцинтилляционные счетчики, синим — мюонные детекторы, голубым — водные черенковские детекторы, а черным — черенковские детекторы с широким полем зрения
Схема обсерватории LHAASO. Розовым обозначены сцинтилляционные счетчики, синим — мюонные детекторы, голубым — водные черенковские детекторы, а черным — черенковские детекторы с широким полем зрения

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

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

Adblock test (Why?)

пятница, 21 мая 2021 г.

[Перевод] Создатели популярного менеджера паролей приветствуют пользователей Linux в семье 1Password

Ожидание окончено. Вышла официальная версия 1Password для Linux.

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

Сегодня мы расстилаем красную дорожку для наших друзей из мира Linux.

Я знаю о том, что многие из вас уже давно используют 1Password в браузере для генерирования и хранения криптографически стойких, уникальных паролей. И мы можем гордиться тем, как хорошо работает такой вариант нашей программы. Но ничто не сравнится с полнофункциональным настольным приложением, которое умеет пользоваться всем тем, что может предложить операционная система. Особенно — если такое приложение может повысить и удобство работы с браузерным вариантом программы (спойлер: так оно и есть).

Давайте прогуляемся по красной дорожке и посмотрим, что ждёт нас в Linux-версии 1Password.

Полезные возможности программы



Экран блокировки 1Password, использующий тёмную тему, в среде рабочего стола GNOME

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

Среди стандартных возможностей 1Password можно отметить следующее:

  • Автоматическое переключение на тёмную тему с учётом темы GTK.
  • Работа с сетевыми ресурсами (FTP, SSH, SMB).
  • Интеграция с GNOME, с KDE и с вашим любимым диспетчером окон.
  • Поддержка значка в области уведомлений, указывающего на то, что программа, хотя её окно и закрыто, разблокирована.
  • Открытие браузера, используемого по умолчанию, и ввод в него паролей.
  • Интеграция с буфером обмена X11 и поддержка очистки буфера обмена.
  • Поддержка GNOME Keyring и KDE Wallet.
  • Интеграция с Linux Kernel Keyring.
  • Поддержка API DBUS.
  • Поддержка API командной строки.
  • Интеграция с системой блокировки экрана Linux, поддержка работы в режиме простоя компьютера.


Панель 1Password Watchtower в среде рабочего стола GNOME

В 1Password для Linux, кроме того, появились некоторые новые возможности, которыми скоро будут оснащены версии программы, рассчитанные на Mac, Windows, iOS и Android:

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

Единообразный подход к работе с разными видами программы и вход в систему без пароля


Если программа глубоко интегрирована в операционную систему — она способна на удивительные вещи. Например — она может использовать Linux Kernel Keyring для установки полностью зашифрованного соединения между 1Password для Linux и вариантом программы, который работает в браузере.

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


Программа 1Password в Firefox, разблокированная через 1Password для Linux

Нужен ещё пример? Скажем — это вход в программу без пароля. Если для разблокировки компьютера пользуются сканером отпечатков пальцев или ключом Yubikey, это значит, что точно так же можно разблокировать и 1Password для Linux. Если этот механизм входа в систему работает в некоем дистрибутиве — это значит, что он заработает и в 1Password.

Глубокая интеграция с Linux



Окно аутентификации 1Password в среде рабочего стола GNOME

Бэкенд и внутренняя логика 1Password для Linux написаны на Rust — на быстром опенсорсном языке системного программирования. В этом языке серьёзное внимание уделяется вопросам безопасности, что стало одной из причин того, что Rust нашёл широкое применение в корпоративной среде. Разработчики ядра Linux даже предложили использовать Rust в роли нового официального языка для написания системного кода Linux.

Система шифрования данных в 1Password для Linux основана на криптографическом Rust-пакете ring. Пользоваться этим пакетом легко, а ещё, что тоже очень важно, его непросто применить неправильно. Это позволяет 1Password обеспечить пользователям  высокий уровень безопасности, ожидаемый ими от продукта такого рода.

И, наконец, пользовательский интерфейс программы написан на React с использованием возможностей Neon для связи с Rust-бэкендом. Это позволило создать быстрый и привлекательный интерфейс, сделав так, чтобы программа работала бы на как можно большем количестве Linux-дистрибутивов. Сразу после выпуска 1Password для Linux поддерживает следующие дистрибутивы и магазины приложений:

  • Debian
  • Ubuntu
  • CentOS
  • Fedora
  • Arch Linux
  • Red Hat Enterprise Linux
  • Snap Store

А если вы используете другой дистрибутив — можете просто установить 1Password для Linux из .tar.gz-пакета.

О возврате долга перед опенсорсом


Приложение 1Password для Linux не вышло бы, если бы не потрясающие опенсорсные проекты, от Rust и Ring — до React и Neon, которые использовались при его разработке. Мы благодарны создателям этих и многих других подобных проектов и твёрдо намерены вернуть наш долг перед опенсорсом.

Мы, руководствуясь этими соображениями, спонсируем несколько опенсорсных проектов, таких, как Tokio и rust-analyzer. Мы, кроме того, открыли код нескольких библиотек, созданных нами и используемых в 1Password для Linux. Среди них — electron-hardener и electron-secure-defaults. Эти библиотеки составляют основу системы безопасности фронтенда 1Password.

Наша благодарность опенсорсу выражается ещё и в том, что мы предоставляем бесплатные учётные записи 1Password командам, работающим над приложениями с открытым кодом. Для получения такой учётной записи нужно отправить PR в наш репозиторий 1Password for Open Source Projects. Но и это ещё не всё. В функционал этой бесплатной учётной записи теперь входит возможность неограниченного использования системы Secrets Automation. К настоящему моменту мы дали бесплатные аккаунты 1Password более чем 250 опенсорсным проектам.

Система 1Password и работа в бизнес-среде


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

Это значит, например, что сотрудники отдела кадров могут постоянно работать в Windows, и при этом применение 1Password для них будет выглядеть точно так же, как для DevOps-специалистов компании, весь день сидящих в терминале Ubuntu. 1Password работает и там, и там.

И, конечно, все члены команд, в которых применяется 1Password Business, получают бесплатные учётные записи 1Password Families. В результате замечательными возможностями 1Password смогут, например, воспользоваться и их дети, устанавливающие 1Password, скажем, на свои планшеты iPad.

Надеюсь, вам будет так же приятно работать с 1Password для Linux, как нам было приятно создавать эту программу. Пожалуйста, испытайте её и поделитесь с нами своими впечатлениями о ней. Может, 2021 год будет годом Linux на настольных ПК?

Пробовали ли вы 1Password для Linux?


Adblock test (Why?)

Тайваньская TSMC заявляет о прорыве в области 1-нм чипов

Тайваньская TSMC, Национальный университет Тайваня (NTU) и Массачусетский технологический институт объявили о значительном прорыве в разработке 1-нанометровых чипов.

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

Научное сообщество активно экспериментирует с 2D-материалами, которые могут заменить кремний. Основной недостаток 2D-материалов заключается в том, что место контакта между полупроводником и металлом обладает высоким сопротивлением. Исследователи обнаружили, что использование полуметалла висмута в качестве контакта для двухмерных материалов (в экспериментах в качестве полупроводника послужил сульфид молибдена) позволяет значительно снизить сопротивление и увеличить ток. Это открытие было сделано командой Массачусетского технологического института, а затем доработано TSMC и NUT. Предполагается, что оно позволит повысить энергетическую эффективность и производительность будущих процессоров.

Эта новость последовала за объявлением IBM о выпуске 2-нм чипа, который, по данным IBM, будет иметь на 45% более высокую производительность и потреблять на 75% меньше энергии, чем современные 7-нм чипы.

Разработка 1-нм техпроцесса, вероятно, начнется в ближайшие несколько лет.  Сегодня TSMC сосредоточена на 7 и 5-нм техпроцессе; конце 2022 года предприятие планирует перейти на 3-нм производство.

Adblock test (Why?)

Причины массового обжорства SSD на Macbook с процессорами M1

Мир сошел с ума. Где только не писали о проблеме повышенного аппетита на ресурс SSD-накопителей у новых моделей Macbook Air и Macbook Pro с процессорами M1. Тема обсуждалась на всех популярных технических форумах. И несмотря на массовость проблемы, все обсуждения сводились к тому, что Apple не считает это проблемой. А значит и проблемы нет. И в какую дичь люди готовы поверить для самоуспокоения вместо того, чтобы взглянуть в лицо фактам и выяснить причины стремительного выработки ресурса несъёмного SSD-накопителя.

Одни уважаемые люди говорили (писали), что протокол SMART слишком сложный, чтобы система просто взяла и спросила у контроллера SSD: "а сколько жить тебе осталось, диск?". Дескать, накопители производства Apple - штука не популярная. Где-то накосячили в драйвере. Вот он и выдаёт записанные на диск гигабайты за терабайты. А создатели софта для проверки статуса SMART люди недостаточно грамотные. Да и разные производители железа тоже за 20 лет не могут договориться о единых единицах измерения в параметрах состояния диска.

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

При всей массовости проявления обжорства SSD, простое как 2 копейки решение (полное отключение Spotlight) как будто скрывается от простых пользователей. Каждый пытается меня убедить, что расход ресурса SSD со скоростью записи 180Гб/час - это нормальное явление.

Кто-то думает, что если правда жизни на столько суровая, то Apple должна отозвать все компьютеры с данным диагнозом. Давайте смотреть фактам в глаза. Я не могу судить о том, как такие события могут происходить за бугром. Но, например, в Москве затраты на массовую смену единственной платы ноутбука будут просто колоссальными. У нас тут не завод Foxconn со 100000 китайцев. Здесь специалисты сервисных центров получают нормальную зарплату, далеко не 30000 руб. Плюс еще заплатить аренду помещения, налоги и прочие сборы. А сколько компьютеров сможет обслужить один специалист в день? в месяц? - Делайте выводы сами.

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

Почему я решил, что проблема носит массовый характер? Во-первых, в нашей организации уже три ноутбука с процессором M1. Ноутбуки куплены (заказаны) в разное время с периодичностью в месяц. На всех трех ноутбуках диагноз положительный. Во-вторых, я переустановил разные версии MacOS минимум раз 10. Диагноз был положительным с настройками "по-умолчанию" вплоть до последней на момент публикации версии MacOS 11.2.3.

Рецепт лечения обжорства ресурса SSD

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

sudo mdutil -i off -a

Но эта команда решает проблему не полностью. В моём случае мне помогла команда:

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist

Но выполнять вторую команду стоит только с отключенной защитой CSR. Решение подойдёт далеко не всем. Обязательно найдутся и активные пользователи Spotlight и Siri. Отключать или не отключать - индивидуальный выбор каждого пользователя. Лично для меня целостность SSD важнее рабочего поиска по мета-данным.

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

Adblock test (Why?)

Объекты телескопа «Чандра» опубликованы на сайте Смитсоновского института в 3D

Коллекция объектов, снятых телескопом НАСА «Чандра», теперь доступна в 3D-формате на новой платформе Смитсоновского института.  

Рентгеновская космическая обсерватория «Чандра» — один из самых крупных телескопов наряду с телескопом «Хаббл», космическим телескопом «Спитцер» и гамма-обсерваторией Комптона. «Чандра» управляется Смитсоновской астрофизической обсерваторией в Массачусетсе.

Объекты, зафиксированные «Чандрой», теперь включены в Voyager, платформу, разработанную Управлением программ оцифровки Смитсоновского института. Единственное требование для доступа к этим 3D-моделям — смартфон, планшет или компьютер. Платформа Voyager позволяет взаимодействовать с объектами, предоставляет справочную информацию; кроме того, объекты можно распечатать на 3D-принтере.

Текущий набор 3D-моделей объектов «Чандры»  показывает звезды на различных фазах звездного жизненного цикла.В число объектов, доступных для просмотра, вошли остатки сверхновых SN 1572, Кассиопея A, Крабовидная туманность, система U Скорпиона и другие. Кроме того, в коллекцию вошла последняя 3D-модель остатков сверхновой IC 443, расположенных примерно в 5 тыс. световых лет от Земли. Трехмерная модель дает важную информацию о взрыве сверхновой, которая сформировала IC 443. Она показывает, что взрыв был слабее, чем большинство аналогичных взрывов сверхновых, и что он произошел около 8 тыс. лет назад. 

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

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

Adblock test (Why?)