Newtoo — разработка полноценного браузерного движка с нуля в 2018?

image

Привет! Меня зовут Дмитрий Козичев.

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

Мой движок называется Newtoo.

Что за Newtoo

Итак, Newtoo. Зачем я его создал?

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

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

Идеология Newtoo — показать страницу быстрее, чем остальные.

Как Newtoo работает быстрее

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

Что в коробочке

Давайте посмотрим из чего состоит Newtoo

На данный момент реализованы следующие части проекта:

  • Парсер HTML
  • Сериализатор HTML
  • Парсер CSS (селекторы, правила и свойства)
  • Сериализатор CSS
  • Основное DOM API1

Остальные части проекта, которые пока не реализованы:

  • Каскадинг CSS (вычисление css стилей)
  • Компоновщик
  • Рендер
  • Виртуальная машина JS и события
  • Обработчик событий и интерактивное выделение страницы

Парсер HTML

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

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

<article id=hello></article>

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

Вы можете не закрывать тег, когда это не обязательно

 <div>    <p>First line    <p>Second line    <img src="ru/images/2019.png" alt="С новым годом!">    <p>Third line <br> Last line </div> 

Парсер поддерживает префиксы

 <myprefix:span>Hello, world!</myprefix:span> 

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

Как работает парсер HTML

Для начала наш парсер режет наш html код на кусочки и определяет их тип.

К примеру вот это:

 <!doctype html><html><head><title>Lorem ipsum</title></head></html> 

Превращается в это:

 <!doctype html>   - doctype token <html>            - tag token <head>            - tag token <title>           - tag token Lorem ipsum       - text token </title>          - close tag token </head>           - close tag token </html>           - close tag token 

Эти кусочки называются токены.

Токены делятся на 6 типов:

  • Тег
  • Закрывающийся тег
  • Текст
  • Комментарий
  • Тип документа (doctype)
  • Javascript или css код


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

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

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

Используя такой метод парсинга токенов, можно писать <p> без закрывающегося тега.

Парсер CSS

На данный момент движок умеет парсить только стилевые css правила, например:

.flex[alignment="right"] { font-weight: light; color: #999 } 

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

В отличии от других движков, Newtoo поддерживает одиночные комментарии ‘//’ в css коде и не удаляет их при взаимодействии с css через javascript.

Парсер CSS селекторов

Чтобы узнать, какие именно html элементы страницы нужно форматировать стилями css, был придуман язык селекторов. Вы наверное его уже знаете.

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

Вот полный список всех поддерживаемых селекторов:

TagName #Id .Class [attr=value] [attr|=value] [attr$=value] [attr~=value] [attr^=value] [attr*=value] .Multi.Class #Mix#ed.Selec[tor=s] "Quotes" 'Alternative quotes' #descedant #child #parent < #child #previous + #this #other ~ #this .multi, .selectors #element:hover #element:active #element:... 

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

DOM API

Когда мой парсер HTML читает наш код, он создает объектную модель документа (DOM). DOM выглядит как дерево из узлов, где корень — окно браузера, от него ответвляется документ, а от документа уже элементы страницы. Cо всеми узлами DOM можно взаимодействовать через JavaScript c помощью DOM API.

Мой движок поддерживает любые изменения изменения DOM. Например, можно переделать html код любого элемента:

document.getElementById("article").innerHTML = "Статья исчезла. <b>Бум!</b>"; 

Сейчас не буду перечислять все функции работы с элементами, документом, текстом, выделением, поверьте, их много!

Виртуальную машину JavaScript пока не написал, но API уже есть и хорошо работает.

Будущее проекта

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

Newtoo на GitHub


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

Как новая функция iOS 12 напомнила мне, что пора лечиться

Буквально на днях мой iPhone гордо сообщил мне, что стала доступна iOS 12 и предложил мне обновиться. На хабре уже было пару статей о том, что нового анонсировал Apple в этой версии. Но я не заметил там упоминания об одной полезной для смартфонозадротов вроде меня функции «Экранное время». Я давно знал, что мне присуща слишком уж нездоровая зависимость от телефона (впрочем, я не один такой). Теперь мы можем подробнее исследовать свои привычки без установки дополнительных приложений. Под катом — не только описание возможностей, но и некоторые рекомендации по экологии использования смартфона.

О проблеме чрезмерного увлечения «карманным другом» написано немало и в разных жанрах, от публицистики до психологических исследований. Есть даже известная игра для компаний, собирающихся за ужином. Все телефоны складываются в центр стола, и люди в компании… внезапно… общаются друг с другом. Цель игры — не хвататься за свой телефон при поступающих уведомлениях. Схватился — проиграл и оплачиваешь ужин. К психологической составляющей я ещё немного вернусь в конце.

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

Что умеет «Экранное время»?

Основных функций две — сбор метрик и ограничение самого себя.

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

    Итак, за 3 часа пятничного вечера я нарезал салат, поужинал, выпил пива и провёл с разблокированным телефоном в руках 1 час 41 минуту, из которых около 1 часа 30 минут в социальных сетях, получил 25 уведомлений от приложений и 28 раз схватился за телефон. Так себе, как для вечера тяпницы, правда?

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

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

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

Почему мы это делаем?

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

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

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

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

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

Что нам с этим делать?

  1. Замерьте свои метрики.
  2. Проанализируйте использование приложений. Какие из них и правда нужны, а от каких можно отказаться, пусть и через боль? Или хотя бы ограничить время использования.
  3. Наконец, задумайтесь над глубинными причинами (если есть повод). Довольны ли Вы своей жизнью? Может, пора что-то менять? Или пообщаться с психологом даже?

За примерно 3 часа, которые я провёл за подготовкой статьи, на мой телефон пришло 9 уведомлений. При этом я схватился за него 22 раза и провёл с ним 52 минуты. Мне и правда пора лечиться… Может, Вы поделитесь опытом? Предпринимаете ли Вы какие-то шаги для борьбы с увлечением своим гаджетом?

Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас оформив заказ или порекомендовав знакомым, 30% скидка для пользователей Хабра на уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps от $20 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).

VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps до декабря бесплатно при оплате на срок от полугода, заказать можно тут.

Dell R730xd в 2 раза дешевле? Только у нас 2 х Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 ТВ от $249 в Нидерландах и США! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?


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

жидкостная система охлаждения тормозов

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

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

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

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

Например, компания Brembo ставит на некоторые раллийные машины суппорты с жидкостным охлаждением.

Такие суппорта используют на этапах ралли по асфальту.

Условия движения по асфальту на гонках требуют безупречного вождения с минимальной коррекцией траектории движения. По сути получается, что на асфальтных этапах периоды «отдыха» тормозов сочетаются с резкими торможениями высокой интенсивности (с высоким тормозным моментом). Поэтому жидкостное охлаждение дает в этих условиях максимальный эффект – температура снижается на 80-100 градусов, что увеличивает тепловую эффективность на 45%, в сравнении с воздушными системами охлаждения.

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

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

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

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

Опытный образец прошел испытания в лаборатории академии и испытан на стенде НИИАТИ (Ярославль). Исследования подтвердили расчеты. Циклический режим торможений не вызвал каких-либо больших скачков температуры и подтвердил теорию.

Напоследок стоит еще упомянуть о патенте водяного охлаждения от Daimler.

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

Идея охлаждения распылением воды из форсунок, и использования воды из омывателя было так же и в патенте СССР.

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

Дисковые тормоза с функцией жидкостного охлаждения иногда используют сейчас на погрузчиках Yale с грузоподъемностью от 5 до 5.5 тонн.

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


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

Почему они мне не перезвонили-2, или куда пропадают соискатели

Третьего дня ехал от точки А до точки Б, и разговорился с одной дамой.
Дама опытным взглядом определила во мне компьютерщика, и поделилась горем — нужен им программист. Я, разумеется, сразу сказал, что не программист, но поговорить могу, почему не поговорить в дороге?
Внезапно выяснилось, что дама — HR, а нужен ей не просто программист, и не программист вовсе, а разработчик одной желтой программы.
И вот она, во всех отношениях* опытная 26-летняя рукамиводитель, полгода не может решить эту печаль беду, после сотен интервью, и иногда даже парочки собеседований.
Я, конечно, сразу сказал, что так не бывает, что 1с-ников в природе в целом — как админов локалхоста на первом сайте по околополитике в рунете, и что-то тут не так.
Что было дальше — под катом.
*с ее слов.
image

Итак, вводные.

Часть 1. Ситуация в пересказе HR
Есть некий город Энск. Город как город, ничего особенного. Город большой, есть несколько старых военных заводов, некоторые еще работают.
Рядом с городом есть локация, чуть отдаленная от города, полчаса* пути от центра.
В этой локации есть контора, которая ищет 1с-ника.
Ищет она его на, условно, оклад на 15 тысяч рублей (200$) выше, чем оклад в опубликованных вакансиях в данных местах. Скажем, везде 60 т.р. (на руки), а они предлагают 80. Провела уже множество собеседований, и никто к ним почему-то не идет, а у них ведь все хорошо.
*полчаса — с ее слов.

Действительно, почему?

Часть 2. Реальный транспорт.
Для начала пришлось разобраться с транспортной доступностью локации.
Дама оперировала терминами «там всего полчаса». Как оказалось, это надо понимать как «я доезжаю за полчаса на личном автомобиле, если нет пробок».
Реальное расстояние 30 км «от центра до центра по дорогам».
На общественном транспорте типа автобус добираться полтора часа.
На электричке — полчаса «от вокзала», но потом идти минут 20.
Как выяснилось уже при написании этой заметки, в вопросе электричек дама тоже немножко преуменьшила время в пути — 40-45 минут идет электричка, в зависимости от того, какую станцию считать за условный центр.
Стоимость проезда — около 60 рублей в одну сторону, РЖД почему-то стесняются показывать цены на эти поезда.
Ходят раз в час, примерно. Итого 22 дня *60 рублей *2 в день — 2640, с проездным наверное скидка будет.

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

Часть 3. Присутствие на работе.
Выяснилось, что в фирме очень строгий руководитель, с своими представлениями о том, как надо.
Оказалось, требуется следующее:
— Ежедневное присутствие в офисе. Обязательное.
— штрафы за опоздания.
— поминутный отчет по работе — пропускная система считает, кто сколько работал, а сколько курил, обедал и прочее.
— никакой удаленной работы, нужен учет и контроль!
Поэтому от кандидата требуется не просто гнать код, а еще и в 8:55 быть на рабочем месте, и строго сидеть до 18:05. И никак иначе.
В этой части обсуждения было много всякого другого интересного, например суммарные штрафы не могут быть больше 500 рублей (не помню, в месяц или в неделю), и дама не ограничивает себя, а заранее оплачивает свои опоздания, как проездной или абонемент на фитнесс. Ну на самом деле, а чего такого-то.
Впрочем, с ее слов применяются и другие методы работы со СКУД.

Часть 4. Жилье.
Ладно, но может быть можно переехать к работе поближе? Конечно, практика «снять квартиру поближе к работе» часто встречается в Москве, особенно среди понаехов. В Петербурге уже возникает вопрос выбора между дорогой и мамкиным борщем, в регионах этот вопрос почти всегда решается в пользу борща.
Окей, гугль. «Аренда квартир в городе Энске, район ». Цены на квартиры начинаются от 17-20 тысяч рублей. Плюс коммуналка и интернет. Сколько там предлагали надбавку к среднему? Тысяч 15-20?

Часть 5. Зарплата в целом.
Незаметно для меня разговор перешел на еще один интересный момент — а почему кандидаты так хотят белую зарплату? Зачем она вообще нужна, откуда такой интерес именно к обелению?
Дама искренне удивлялась этому вопросу, пришлось задать немного уточняющих вопросов.
Для начала, знает ли дама про кредиты и ипотеку? Оказалось, что знает, но про требования к белой зарплате и 2-НДФЛ от банков не в курсе, ей не актуально.
Впрочем, проблема оказалась не в зарплате как таковой, а в соотношении официальной части и конверта — соотношение оказалось порядка 20% официальной, остальное в конверте — то есть примерно 15 оклад, а дальше вот в кассу пройдите.
Я видал всякое, и до недавнего момента даже в Москве можно было встретить 50/50 — то есть 25 тысяч в договоре и 25 отдельно, премией или как-то, но тут был прямо привет из 2005 года.

Отклоняясь от темы — ситуация с белой зарплатой в Москве, к слову, решается не только давлением снизу. Как докладывают бабки у подъезда, ряду бухгалтеров и руководителей поступили добрые советы из налоговой — в этом (2018) году поднять официальную ЗП до средней. От такого доброго совета мало кто отказался. В регионах такая практика была еще в той же середине 2000-х, с другими цифрами и похожими рекомендациями.

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

Часть 7. Вишенка на тортике, или как искали.
Методология поиска меня отдельно порадовала и привела в неописуемый восторг. Отдел просто опубликовал вакансию на паре сайтов, дело было в феврале. Когда за два месяца к ним никто не пришел на такие шоколадные условия (а дама была, на мой взгляд, уверена что условия ну просто отличные — ехать рядом, штрафы маленькие, зарплата выше чем средняя опубликованная) — стали искать активно.
За полгода, с марта по сентябрь, им удалось дотащить до стадии «вы к нам заезжайте в локацию» — аж полтора десятка человек. По два в месяц, фактически по одному в две недели — но почему-то кадры, доехавшие до локации и согласные на такие прекрасные условия, не подошли уже им.

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

Личное мнение.
Я совершенно не хотел обсуждать личность этого руками-водителя по HR, поэтому по возможности выкинул из текста лишнее. В конце концов, требования по зарплате, организации рабочего времени и всему остальному ей пришли сверху. Соответственно, скорее всего организации не нужен ИТ как таковой, за пределами текущего бухучета.
Точнее — НЕ БЫЛ нужен.
Хотя, учитывая что одного сотрудника ищут полгода — все еще не нужен.
Раз не нужен — то работники и не перезванивают, все просто.
Но, конечно, по мнению нанимающей стороны, проблемы исключительно в работниках.
Слишком много кушать (С).

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

p.s. Кончается 2018 год. Даже в древнем ЖЖ есть кнопка публикации по расписанию, на ведущем же сайте по философии таковой не наблюдается. Почемупо философии — вчера была статья, впрочем ridlius ее быстро сунул обратно в черновики, по содержательности она была примерно равна прошлой статье.
Впрочем, тут и кнопки вставки таблицы нет, а вставленные руками таблицы движок портит.


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

Илон Маск и Tesla улаживают судебные споры с Комиссией по ценным бумагам и биржам США

Основатель Tesla Илон Маск согласился заплатить штраф в размере $20 млн. и покинуть пост председателя совета директоров в рамках урегулирования иска Комиссии по ценным бумагам и биржам США (SEC). Также компания Tesla выплатит дополнительно $20 млн штрафа и согласится добавить в свой совет двух независимых директоров, пишет The Washington Post.

В продолжении этого поста.

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

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

«Средства правовой защиты и помощи, примененные сегодня, специально разработаны для решения проблем, связанных с проступком Илона Маска, путем укрепления корпоративного управления и надзора за Tesla в интересах инвесторов», — говорится в заявлении представителя Комиссии по ценным бумагам и биржам США Стефани Авакян.

В компании Tesla отказалтсь комментировать данное урегулирование.

Отвечая на иск SEC в начале недели, Маск говорил, что «неоправданное действие» SEC «оставило его глубоко опечаленным и разочарованным».
«Целостность — это самое важное значение в моей жизни, и факты покажут, что я никогда никого не скомпрометировал», добавил он.

Сделка Маска, Tesla и SEC, объявленная в субботу, была еще более удивительной, поскольку SEC предложила подобные условия на прошлой неделе после проведения расследования, которое было необычно быстрым.

Маск в резкой форме отклонил первоначальное предложение урегулирования по этой сделке с SEC ранее на этой неделе.

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

Но акции компании Tesla упали более чем на 14 процентов после судебного процесса с SEC, отражая степень риска, связанного с руководством.

Неясно, почему Маск, который редко отступает от боя, передумал.

Адвокаты компании, Брэдли Бонди из Cahill Gordon & Reindel и адвокат Маска, Стивен Фарина из Williams & Connolly, провели несколько ночных звонков в SEC, пытаясь решить этот вопрос, по словам человека, близкого к компании, но не уполномоченного говорить об этом публично.

Капитуляция была «вероятно, вызвана давлением со стороны инвесторов», — говорит Мишель Кребс, исполнительный аналитик Autotrader. Учитывая потенциальные наказания, с которыми они столкнулись, если бы дело дошло до суда, «Маску и Tesla повезло.… Тем не менее, безрассудное твист стоил больших денег — 20-миллионный твит ».


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