• Своя видео-платформа — ffmpeg и качество кодирования видео. Part 2


      Lenna любит хорошо выглядеть — фотомодель в конце концов. Ходят легенды, что добавление её в заголовок статьи, связанной с обработкой визуальных данных даёт +5 к шансу на плюсы.

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

      Первая часть

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

      К сожалению, волшебной кнопки «скодировать совсем хорошо» не предусмотрено. Как и аналога caniuse для параметров кодирования. Придётся разбираться в особенностях работы кодеков.
      Читать дальше →
    • Двадцать задачек (по безумной, восхитительной геометрии)

      • Translation
      Предупреждение врача. Остерегайтесь этих головоломок. Побочные эффекты могут включать потерянное послеобеденное время, скомканные волосы и восклицания «А-а-а-х, вот как это делается» настолько громкие, что могут треснуть оконные стёкла.

      Несколько месяцев назад я наткнулся в твиттере на математические головоломки Катрионы Ширер. Они сразу меня увлекли: каждая головоломка такая осязаемая, ручной работы, словно просит её решить. И на каждую вы можете легко потратить час времени, а то и больше.

      Катриона разрешила мне подвесить вас на эти задачки — и поделилась 20 своими любимыми головоломками. Она даже удовлетворила моё любопытство и восхищение, дав интервью (см. в конце статьи).

      Наслаждайтесь. И не говорите, что врач не предупреждал.
      Читать дальше →
    • Dracula Theme — универсальная тема оформления практически для всего

      Dracula Theme

      Введение


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

      Читать дальше →
    • toString: Великий и Ужасный

      • Tutorial

      image


      Функция toString в языке JavaScript наверно самая "неявно" обсуждаемая как среди самих js-разработчиков, так и среди внешних наблюдателей. Она — причина многочисленных шуток и мемов про многие подозрительные арифметические операции, преобразования, вводящие в ступор [object Object]'ы. Уступает, возможно, лишь удивлениям при работе с float64.


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


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

      Читать дальше →
      • +16
      • 14.4k
      • 6
    • Туннели и VPN, устойчивые к DPI

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

        Но нет, эта статья не об обществе, а о технологиях.

        image
        Читать дальше →
      • Как запретить Windows 10 перезагрузку после обновлений

        • Tutorial
        Всем привет. Удивительно, но ответ на этот вопрос (точнее, «как сделать всё так, чтобы было как раньше») слабо освещён в рунете. Да и в целом готовое решение ещё нужно поискать.
        Однако проблема требует решения т.к. система восстанавливает после перезагрузки далеко не все приложения.

        Итак:
        Читать дальше →
      • Коллекция css теней Box-shadows.css

        Привет всем!

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

        image

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

        Читать дальше →
      • Эта несовершенная реальность требует исправления: подборка AR-программ



          Ещё совсем недавно весь мир сходил с ума с Pokemon Go, а кажется, будто с тех пор прошли годы. Есть основания предполагать, что в этом году нас ждёт быстрый рост поголовья программ дополненной реальности. В последней версии iOS Apple встроила поддержку механизмов, позволяющую программам дополнять какой-то информацией любые объекты, попадающие в поле зрения камеры смартфона. Это не только сильно облегчает труд программистов, но и делает AR-технологии доступными сотням тысяч iOS-разработчиков. А пока на нас ещё не сыплется прогнозируемое изобилие, мы решили сделать подборку интересных AR-приложений.
          Читать дальше →
        • Новогодние подарки, часть первая: Meltdown

            Да, я знаю, что это уже третий материал на GT/HH по данной проблеме.

            Однако, к сожалению, до сих пор я не встречал хорошего русскоязычного материала — да в общем и с англоязычными, чего уж тут греха таить, та же проблема, там тоже многих журналистов изнасиловали учёные — в котором внятно раскладывалось бы по полочкам, что именно произошло 3 января 2018 года, и как мы будем с этим жить дальше.

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

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

            К счастью, подвержены они ей в разной степени. К несчастью, самый серьёзный удар пришёлся на самые распространённые процессоры — Intel, причём затронул он абсолютно все выпускающиеся и практически все эксплуатируемые (единственным исключением являются старые Atom, выпущенные до 2013 года) процессоры этой компании.
            Читать дальше →
          • Android-приложение Haven от Эдварда Сноудена охраняет физические объекты

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

              Насколько бы хорошо вы ни защищали свой компьютер или ноутбук, но если злоумышленник получил к нему физический доступ, то защиту можно считать скомпрометированной (например, он может снять копию HDD и установить простой жучок, чтобы узнать мастер-пароль для снятия криптозащиты). Приложение Haven на Android-смартфоне будет лежать в одной комнате с компьютером и гарантирует, что туда никто не заходил. А если кто-то зайдёт — программа сделает фотографии и запишет звук.

              Приложение Haven работает как охранная система для ноутбуков, сейфов, других вещей, а также для целых помещений — номеров в гостинице или комнат в доме.
              Читать дальше →
            • 30+ онлайн ресурсов для изучения программирования в 2017

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



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



                  Предыдущие публикации:

                  Пудра для мозга или как сделать порошок для посудомойки в 9,7 раз дешевле
                  DIY порошок для посудомойки: разбираем промышленные средства и улучшаем рецепт

                  Прошло уже больше года с момента последней публикации из серии домашней алхимии, посвященной издевательствам над бытовой техникой производству порошка для посудомойки в домашних условиях. Я все еще жив. Большинство тестировавших жуткие смеси, насколько мне известно, живы. В этом посте я хотел рассказать как правильно мыть ржавые гвозди в посудомойке, не растворяется ли картошка с укропом и подвести итог экспериментов за год.
                  Читать дальше →
                • Реализация псевдо-3D в гоночных играх

                  • Translation

                  Введение


                  Почему псевдо-3d?

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

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

                  Стоит заметить, что не в каждой старой гоночной игре используются эти техники. В действительности описываемый в статье метод — это только один из способов создания псевдотрёхмерной дороги. В других случаях используются спроецированные и отмасштабированные спрайты или различные способы реального проецирования дороги. Степень смешения реальной математики с трюками зависит от создателей. Надеюсь, вам понравится изучение предложенного мной спецэффекта.
                  Читать дальше →
                • Революция в JavaScript. Буквально

                  • Tutorial
                  Сегодня 22 апреля юбилейного 2017 года, день рождения человека, без которого не состоялись бы события столетней давности. А значит, есть повод поговорить о революционной истории. Но причём тут Хабр? — Оказалось, всё в этом мире может иметь самую неожиданную связь.

                  Владимир Ильич Ленин
                  Читать дальше →
                • How to Gwent: 8 советов начинающим игрокам в «Гвинт»

                    Когда началось закрытое бета-тестирование коллекционной карточной игры «Гвинт», тысячи игроков незамедлительно устремились в бой. Со временем их количество только увеличивалось, игра менялась, «старожилы» проекта все глубже понимали её механики, что позволяло им получить определённое преимущество перед новоприбывшими.

                    Поэтому я решил подготовить небольшой список советов для игроков, недавно вступивших в сражение, или только готовящихся это сделать, поскольку открытое бета-тестирование «Гвинта» (а там и релиз) уже не за горами. Часть советов достаточно очевидна, и в принципе применима ко всем ККИ, другая часть, так сказать, Gwent Specific. Я надеюсь, что все они помогут вам улучшить свою игру.

                    Читать дальше →
                  • Для тех, кто вошел во вкус: продвинутые объективы к камерам Canon, Nikon и Sony

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



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

                      В этом посте мы хотим порекомендовать объективы, которые лучше всего подходят для того или иного жанра и находятся в разумной ценовой категории.
                      Читать дальше →
                    • Создание вашей первой игры на Phaser. Часть 0 — Подготовка к работе

                      • Tutorial

                      Phaser


                      Оглавление


                      0. Подготовка к работе [Вы тут]
                      1. Введение
                      2. Загрузка ресурсов
                      3. Создание игрового мира
                      4. (wip) Группы
                      5. (wip) Мир физики
                      6. (wip) Управление
                      7. (wip) Добавление целей
                      8. (wip) Последние штрихи


                      Эта серия статей научит вас основам и "хорошему тону" игрового фремворка Phaser. За данный курс, я постараюсь объяснить вам основные идеи и возможности фреймворка, а также покажу как его грамотно использовать в связке с TypeScript и Webpack.

                      Читать дальше →
                      • +14
                      • 17.3k
                      • 8
                    • Создание истории карточным методом: упрощаем жизнь сценаристам

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


                      ultra_outliner — это бесплатный инструмент для оптимизации разработки художественных историй карточным методом. Он выполнен в форме графического приложения и адресован сценаристам и писателям, а также игровым дизайнерам и разработчикам квестов. Инструмент позволяет работать с виртуальными карточками, персонажами, их характеристиками (и измерениями), локациями и специальными объектами. В составе ultra_outliner присутствует несколько редакторов, которые позволяют выстроить структуру истории, сюжетные линии, черты персонажей и др.


                      Lead

                      Читать дальше →
                    • Mozilla приобрела сервис отложенного чтения Pocket

                        image

                        Mozilla Corporation завершила сделку по приобретению компании Read It Later, известной в первую очередь по одноименному сервису отложенного чтения, позже переименованного в Pocket.

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

                        Команда Pocket продолжит работу к качестве дочерней компании Mozilla Corporation.
                      • Создание сеток шестиугольников

                        • Translation
                        image

                        Сетки из шестиугольников (гексагональные сетки) используются в некоторых играх, но они не так просты и распространены, как сетки прямоугольников. Я коллекционирую ресурсы о сетках шестиугольников уже почти 20 лет, и написал это руководство по самым элегантным подходам, реализуемым в простейшем коде. В статье часто используются руководства Чарльза Фу (Charles Fu) и Кларка Вербрюгге (Clark Verbrugge). Я опишу различные способы создания сеток шестиугольников, их взаимосвязь, а также самые общие алгоритмы. Многие части этой статьи интерактивны: выбор типа сетки изменяет соответствующие схемы, код и тексты. (Прим. пер.: это относится только к оригиналу, советую его изучить. В переводе вся информация оригинала сохранена, но без интерактивности.).
                        Читать дальше →