• Весь веб на 60+ FPS: как новый рендерер в Firefox избавился от рывков и подтормаживаний

    • Перевод
    До релиза Firefox Quantum остаётся всё меньше времени. Он принесёт множество улучшений в производительности, в том числе сверхбыстрый движок CSS, который мы позаимствовали у Servo.

    Но есть ещё одна большая часть технологии Servo, которая пока не вошла в состав Firefox Quantum, но скоро войдёт. Это WebRender, часть проекта Quantum Render.



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

    При разработке WebRender мы поставили задачу, чтобы все приложения работали на 60 кадрах в секунду (FPS) или лучше, независимо от размера дисплея или от размера анимации. И это сработало. Страницы, которые пыхтят на 15 FPS в Chrome или нынешнем Firefox, летают на 60 FPS при запуске WebRender.

    Как WebRender делает это? Он фундаментальным образом меняет принцип работы движка рендеринга, делая его более похожим на движок 3D-игры.
    Читать дальше →
  • 10 лет с Колибри: как это было

      Обзор в честь моего 10-летия участия в проекте создания операционной системы Kolibri.

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

      image
      Читать дальше →
    • Передаю привет разработчикам компании Yandex

        ClickHouse and PVS-Studio

        Приблизительно раз в полгода нам пишет кто-то из сотрудников компании Yandex, интересуется лицензированием PVS-Studio, качает триал и пропадает. Это нормально, мы привыкли к медленным процессам продажи нашего анализатора в крупные компании. Однако, раз представился повод, будет не лишним передать разработчикам Yandex привет и напомнить об инструменте PVS-Studio.
        Читать дальше →
      • Яндекс открывает технологию машинного обучения CatBoost

          Сегодня Яндекс выложил в open source собственную библиотеку CatBoost, разработанную с учетом многолетнего опыта компании в области машинного обучения. С ее помощью можно эффективно обучать модели на разнородных данных, в том числе таких, которые трудно представить в виде чисел (например, виды облаков или категории товаров). Исходный код, документация, бенчмарки и необходимые инструменты уже опубликованы на GitHub под лицензией Apache 2.0.



          CatBoost – это новый метод машинного обучения, основанный на градиентном бустинге. Он внедряется в Яндексе для решения задач ранжирования, предсказания и построения рекомендаций. Более того, он уже применяется в рамках сотрудничества с Европейской организацией по ядерным исследованиям (CERN) и промышленными клиентами Yandex Data Factory. Так чем же CatBoost отличается от других открытых аналогов? Почему бустинг, а не метод нейронных сетей? Как эта технология связана с уже известным Матрикснетом? И причем здесь котики? Сегодня мы ответим на все эти вопросы.

          Читать дальше →
        • Прокачиваем NES Classic Mini — продолжение

            В феврале я писал статью о том, как русские энтузиасты «взламывали» консоль NES Classic Mini, как мы занимались её реверс-инжинирингом, и как я писал приложение для того, чтобы каждый мог легко закачать в неё свои игры буквально в пару кликов.

            image

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

            Как обычно, под катом моё повествование и в современной видеоформе, и в виде традиционной статьи.
            Читать дальше →
          • MP3 окончательно переходит в общественное достояние

              image

              Возможно многие не задумывались об этом, но столь известный всем стандарт mp3 имел проблемы с патентной чистотой. 23 апреля 2017 истекли последние патенты и формат стал окончательно свободным. Компания Technicolor официально остановила сборы лицензионных отчислений с производителей софта и встраиваемых решений.
              Читать дальше →
            • Реклама помогает поддерживать и развивать наши сервисы

              Подробнее
              Реклама
            • Gixy — open source от Яндекса, который сделает конфигурирование Nginx безопасным

                Nginx, однозначно, один из крутейших веб-серверов. Однако, будучи в меру простым, довольно расширяемым и производительным, он требует уважительного отношения к себе. Впрочем, это относится к почти любому ПО, от которого зависит безопасность и работоспособность сервиса. Признаюсь, нам нравится Nginx. В Яндексе он представлен огромным количеством инсталляций с разнообразной конфигурацией: от простых reverse proxy до полноценных приложений. Благодаря такому разнообразию у нас накопился некий опыт его [не]безопасного конфигурирования, которым мы хотим поделиться.



                Но обо всем по порядку. Нас давно терзал вопрос безопасного конфигурирования Nginx, ведь он — полноправный кубик веб-приложения, а значит, и его конфигурация требует не меньшего контроля с нашей стороны, чем код самого приложения. В прошлом году нам стало очевидно, что этот процесс требует серьезной автоматизации. Так начался in-house проект Gixy, требования к которому мы обозначили следующим образом:

                — быть простым;
                — но расширяемым;
                — с возможностью удобного встраивания в процессы тестирования;
                — неплохо бы уметь резолвить инклюды;
                — и работать с переменными;
                — и про регулярные выражения не забыть.
                Читать дальше →
              • Переходим с Disqus на комментарии Github

                • Перевод
                Какое-то время я хотел убрать комментарии из своего блога; в основном, потому что здесь вообще мало комментариев, да и не хочется возиться с лишними «тормозами» от Disqus. Посмотрев на время загрузки Disqus, я был потрясён тем, что приходится терпеть посетителям сайта по моей вине (кроме тех, кто использует блокировщики вроде Privacy Badger и uBlock Origin.

                Эта статья заточена под Hugo, но код легко адаптируется для любого сайта.

                Что не так с Disqus?


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


                А вот лог после отключения Disqus.


                ЧЕГО!?
                Читать дальше →
              • Похоже, я не предприниматель

                  Для того, чтобы это понять, мне потребовалось четыре миллиона рублей (половина из которых — мои) и четыре года.

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

                  В этой статье я хотел бы

                  — поделиться сделанными выводами
                  — порекомендовать проект, если вы хотите присоединиться к нему в качестве разработчика/инвестора
                  — выложить техническую документацию, если вы захотите сделать форк

                  image
                  Читать дальше →
                • Uber — причины перехода с Postgres на MySQL

                  • Перевод


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


                  Наверное, не будет преувеличением сказать, что за последние несколько лет это стало одним из самых громких и резонансных событий, связанных с СУБД PostgreSQL, которую мы, к слову сказать, очень любим и широко используем. Эта ситуация наверняка пошла на пользу не только упомянутым системам, но и движению Free and Open Source в целом. При этом, к сожалению, русского перевода статьи так и не появилось. Ввиду значимости события, а также подробного и интересного с технической точки зрения изложения материала, в котором в стиле «Postgres vs MySQL» идет сравнение физической структуры данных на диске, организации первичных и вторичных индексов, репликации, MVCC, обновлений и поддержки большого количества соединений, мы решили восполнить этот пробел и сделать перевод оригинальной статьи. Результат вы можете найти под катом.

                  Читать дальше →
                Самое читаемое