• Новый кодек AV1: ускоряем загрузку видео в браузере

    • Translation
    • Tutorial
    В этом руководстве мы научимся использовать видео в Вебе, как это принято в 2019. Chrome и Firefox начали поддерживать новый кодек AV1 — для них видео можно сделать в два раза меньше.

    Отдельно поговорим, как заменить GIF на видео в AV1 и H.264 — тогда его размер упадёт в 20-40 раз.

    AV1 в браузере

    YouTube уже использует его в TestTube. Netflix заявил, что AV1 будет «их основным кодеком следующего поколения».

    Мы в Злых Марсианах уже используем его на нашем сайте и на Ампллифере. В этой статье я поделюсь опытом внедрения AV1 и шаг-за-шагом расскажу, как вставить видео, чтобы оно работало во всех браузерах.
    Читать дальше →
  • Изобретайте колесо

    • Translation

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

    Читать далее
  • Вы неправильно используете docker-compose

    • Translation

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

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

    4 греха
  • Шпион, выйди вон: что делают браузеры после установки?

    • Translation

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

    В этой статье мы оценивали поведение пяти браузеров: Brave, Chrome, Firefox, Edge и Opera. Все исследования проводились на десктопе под управлением Windows 10 (версия 20H2, билд 19042.804) с подтвержденной учёткой Microsoft.

    Читать далее
  • Отключаем прямой доступ к терминалу на арендованном сервере

    • Tutorial

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

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

    Читать далее
  • Худшие из так называемых «лучших практик» для Docker

    • Translation
    • Tutorial

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

    Часто пишут, что при сборке Docker-образа не нужно устанавливать обновления безопасности. Я написал несколько опровержений, так что этот совет теперь встречается чуть реже. Но ранее эта рекомендация была на официальной странице с лучшими практиками Docker:

    Избегайте RUN apt-get upgrade и dist-upgrade, потому что многие «особые» пакеты из родительских образов не смогут обновиться внутри непривилегированного контейнера.

    Поясню: команды RUN выполняются при сборке образа, а не запуске контейнера. В документации говорится: «собирайте образы без установки обновлений безопасности». Тот же совет встречается в hadolint Dockerfile linter (цитируется вышеприведённый текст). Оттуда его тоже скоро должны убрать. Для подавляющего большинства людей, создающих Docker-файлы, это абсолютно ужасный совет. И поскольку встречается он очень часто, давайте рассмотрим некоторые объяснения и разберёмся, почему они ошибочны.
    Читать дальше →
  • ARMv9: в чем преимущество?

    • Translation

    Что такое масштабируемые векторные расширения (Scalable Vector Extension)? Что они значат для индустрии и пользователей?

    Если вы пользуетесь мобильным телефоном, то скорее вы знаете, что такое процессор ARM. Он является сердцем вашего смартфона, а недавно появился в новом поколении Mac. Процессоры ARM также появляются в серверах.

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

    В этом году ARM выпустила архитектуру следующего поколения, которая задаст курс отрасли на следующее десятилетие, — ARMv9. Это важное событие, которое заслуживает пристального внимания.
    Читать дальше →
  • Как Земля движется в космосе? Теперь мы знаем это во всех масштабах

    • Translation

    Спросите у учёного наш космический адрес, и вы получите довольно полный ответ. Мы находимся на планете Земля, которая вращается вокруг своей оси и вокруг Солнца. Солнце вращается по траектории эллипса вокруг центра Млечного Пути, который внутри нашей Местной группы тянется в сторону Андромеды; Местная группа, в свою очередь, движется внутри нашего космического Сверхскопления Ланиакея, галактическими группами, кластерами и космическими пустотами, а они лежат  в войде KBC, посреди структуры Вселенной в широком масштабе. После десятилетий исследований наука наконец-то собрала полную картину этого движения и может точно определить скорость нашего движения в космосе в любом масштабе.

    Читать далее
  • 10 постулатов по улучшению таблиц

    • Translation

    Короткое резюме 10 постулатов по улучшению таблиц, опубликованных в Journal of Benefit Cost Analysis экономистом Jon Schwabish.

    Проверьте свои финансовые и ежедневные отчеты - каждое ли из 10 правил Вы соблюдаете?

    Читать далее
  • Персональный интернет-архив без боли

    • Tutorial


    Каждый веб-разработчик, да и многие пользователи рано или поздно сталкиваются с Internet Archive и необходимостью сохранить или восстановить вид важного им сайта в определённое время. С каждым годом всё очевиднее, что поговорка «интернет помнит всё» ошибочна — форумы закрываются, старые сайты тихо исчезают, информация пропадает без следа (вот хорошая статья по теме). При этом пока не существует общепринятого способа на лету сохранять важный контент без лишних телодвижений (представьте, что будет с серверами archive.org, если, скажем, в следующем обновлении Chrome будет при загрузке страницы отправлять адрес на архивацию). Спасение утопающих — дело рук самих утопающих, поэтому в этой статье мы разберём инструмент, позволяющий не просто сохранять нужные сайты, но и встраивать этот процесс в повседневную работу.
    Читать дальше →
    • +34
    • 7.2k
    • 1
  • Несколько советов по работе с асинхронным кодом в C#

    • Translation

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

    Читать далее
  • Обеспечение безопасности базы данных PostgreSQL

    • Translation

    Базы данных — это Святой Грааль для хакеров, поэтому их необходимо защищать с особой тщательностью. Это первая из серии статей, в которых мы дадим обзор best practice в обеспечении безопасности баз данных. Мы начнем с одной из самых популярных СУБД с открытым исходным кодом, PostgreSQL, и рассмотрим несколько уровней безопасности, о которых стоит задуматься:

    Читать далее
  • Как Голливуд тайно использует AI для принятия ключевых решений о съемке фильмов

    • Translation


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


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

    Читать дальше →
  • Сети для самых маленьких. Часть седьмая. VPN

    • Tutorial


    Покупка заводов в Сибири была стратегически правильным решением для компании “Лифт ми Ам”. После того, как лифты стали ездить не только вверх, но и вниз, дела компании пошли… нет полетели, вверх. Лифты начали разбирать, как горячие пирожки со стола. Название уже не соответствовало действительности и было принято решение о ребрендинге. (На самом деле их замучила судебная тяжба с Моби).
    Итак, под крыло ЛинкМиАп планируется взять заводы в Новосибирске, Томске и Брно. Самое время подумать о том, как это хозяйство подключить к имеющейся сети.

    Итак, сегодня рассматриваем
    1) Возможные варианты подключения, их плюсы и минусы
    2) Site-to-Site VPN на основе GRE и IPSec
    3) Большая тема: динамическая многоточечная виртуальная сеть (DMVPN) в теории и на практике.

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

    Читать дальше →
  • Профессиональное применение инструментов разработчика Chrome: 13 советов

    • Translation
    Автор статьи, перевод которой мы сегодня публикуем, хочет поделиться советами по профессиональной работе с инструментами разработчика браузера. А именно, эти советы рассчитаны на программистов, которые по какой-то причине решили, что их основным браузером будет Google Chrome.


    Читать дальше →
  • Курс MIT «Безопасность компьютерных систем». Лекция 12: «Сетевая безопасность», часть 3

    • Translation
    • Tutorial

    Массачусетский Технологический институт. Курс лекций #6.858. «Безопасность компьютерных систем». Николай Зельдович, Джеймс Микенс. 2014 год


    Computer Systems Security — это курс о разработке и внедрении защищенных компьютерных систем. Лекции охватывают модели угроз, атаки, которые ставят под угрозу безопасность, и методы обеспечения безопасности на основе последних научных работ. Темы включают в себя безопасность операционной системы (ОС), возможности, управление потоками информации, языковую безопасность, сетевые протоколы, аппаратную защиту и безопасность в веб-приложениях.

    Лекция 1: «Вступление: модели угроз» Часть 1 / Часть 2 / Часть 3
    Лекция 2: «Контроль хакерских атак» Часть 1 / Часть 2 / Часть 3
    Лекция 3: «Переполнение буфера: эксплойты и защита» Часть 1 / Часть 2 / Часть 3
    Лекция 4: «Разделение привилегий» Часть 1 / Часть 2 / Часть 3
    Лекция 5: «Откуда берутся ошибки систем безопасности» Часть 1 / Часть 2
    Лекция 6: «Возможности» Часть 1 / Часть 2 / Часть 3
    Лекция 7: «Песочница Native Client» Часть 1 / Часть 2 / Часть 3
    Лекция 8: «Модель сетевой безопасности» Часть 1 / Часть 2 / Часть 3
    Лекция 9: «Безопасность Web-приложений» Часть 1 / Часть 2 / Часть 3
    Лекция 10: «Символьное выполнение» Часть 1 / Часть 2 / Часть 3
    Лекция 11: «Язык программирования Ur/Web» Часть 1 / Часть 2 / Часть 3
    Лекция 12: «Сетевая безопасность» Часть 1 / Часть 2 / Часть 3
    Читать дальше →
  • VPN везде и всюду: IPsec без L2TP со strongSwan

      image
      достаточно сильный лебедь

      Если вы когда-либо искали VPN, который будет работать на десктопах, мобильных устройствах и роутерах без установки дополнительного ПО и перепрошивки роутера, вы, вероятно, выбирали между PPTP и L2TP+IPsec. У протокола PPTP имеются проблемы с безопасностью и прохождением через брандмауеры и NAT, так что в 2015 году его уже использовать не стоит, а использование L2TP излишне, т.к. L2 VPN, по моему мнению, для обычного удаленного доступа не нужен практически никогда.

      Удивительно, что в интернете не так-то просто можно найти информацию о настройке чего-то помимо L2TP+IPsec в транспортном режиме, учитывая, что это обширный стек протоколов, который можно конфигурировать буквально как душе угодно, поэтому я попытаюсь устранить такое несовершенство мира.

      Небольшое введение в мир IPsec

      Вообще говоря, не совсем правильно называть IPsec VPN. IPsec не предназначен для построения «виртуальных частных сетей», а создан для шифрования или защиты от подмены передаваемых по IP данных. Это специальный слой поверх IP, который, в зависимости от режима и настроек, работает по-разному. В отличие от привычного VPN, который создает новый интерфейс в системе, на который вы, как это чаще всего бывает, назначаете IP-подсеть из диапазона частных адресов (т.е. создаете новый сетевой сегмент), и через который маршрутизируется трафик в зашифрованном виде, IPsec просто шифрует трафик магическим образом между «внешними» интерфейсами сервера и клиента.
      Читать дальше →
    • Постквантовая криптография и закат RSA — реальная угроза или мнимое будущее?

        RSA, эллиптические кривые, квантовый компьютер, изогении… На первый взгляд, эти слова напоминают какие-то заклинания, но все куда проще сложнее, чем кажется!

        Необходимость перехода к криптографии, устойчивой к атаке на квантовом компьютере, уже официально анонсирована NIST и NSA, из чего вывод довольно-таки простой: пора вылезать из зоны комфорта!

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

        Чтобы разобраться в тонкостях криптографии на эллиптических кривых, проследить новомодные веяния постквантовой криптографии и даже прикоснуться к ней с помощью библиотеки Microsoft SIDH, добро пожаловать под кат, %username%!
        Читать дальше →
      • Правильные ответы по криптографии: 2018 год

          Перевод статьи, автор – Latacora

          В литературе и самых сложных современных системах есть «лучшие» ответы на многие вопросы. Если вы разрабатываете встроенные приложения, то предлагают использовать STROBE и модный современный криптографический стек для аутентификации полностью из одиночных SHA-3-подобных функций губки. Советуют использовать NOISE для разработки безопасного транспортного протокола с формированием общего ключа аутентификации (AKE). Говоря об AKE, есть около 30 различных парольных AKE на выбор.

          Но если вы разработчик, а не криптограф, то не должны делать ничего такого. Следует придерживаться простых и обычных решений, которые легко поддаются анализу — «скучных», как говорят люди из Google TLS.
          Читать дальше →
          • +24
          • 17.4k
          • 7