Search
Write a publication
Pull to refresh
56
0
Илья @WST

Инженер-программист

Send message

Какой бывает HTML5-стриминг (и почему mp4-стриминга не существует)

Reading time6 min
Views55K
image

Нередко клиенты спрашивают, умеет ли наш сервер «mp4-стриминг в HTML5». В 99% случаев спрашивающий не понимает о чём говорит. В этом сложно винить клиентов: из-за путаницы с терминами, технической сложности и большого разнообразия вариантов стриминга запутаться очень легко.

В этой статье мы расскажем, какой бывает HTML5-стриминг, какие варианты хорошие, и почему, чёрт побери, нельзя говорить «mp4-стриминг».
Читать дальше →

Гремлины и ELFийская магия: а что, если ELF-файл — это контейнер?

Reading time5 min
Views8K
Мы, дети 90-х, любим добавить в задания NeoQUEST что-нибудь олдскульное. В этом году нам вспомнились гремлины, и мы добавили их в легенду одного из заданий соревнования «Очной ставки» NeoQUEST-2017.

Однако, под внешне забавной легендой скрывается вполне себе реальная практическая задача: а что, если привычные ELF-файлы — не просто исполняемые файлы, а контейнеры, открыть которые нам предстоит? Для этого придется испытать довольно-таки обширные возможности objcopy и освежить в памяти организацию ELF-файла.

Чтобы вычислить подозрительные секции, необходимо представлять секционный и сегментный состав типичного ELF. Помимо этого, конечно, пригодится и опыт — например, общение с firmware embedded-систем вполне может подсказать подходящие идеи!

Думаете, готовы на 100%? Уверены, что гремлинам удастся вас удивить спрятанными архивами, попорченными таблицами символов, а также аудиофайлами, которые зазвучат только в руках умелого мастера! Под катом — исходники к заданию и прохождение, чтобы каждый читатель Хабра мог собственноручно попробовать пройти задание!
Читать дальше →

Руководство для начинающих по прогрессивным веб-приложениям и фронтенду

Reading time20 min
Views60K

image


Разрабатывать веб-фронтенд, придерживаясь JavaScript-экосистемы, всех этих новомодных штучек и пафосных фреймворков, может быть пугающим занятием, если не сказать больше. Я давно уже хотел окунуться в это, и наконец собрался с духом. К концу этой статьи, надеюсь, вы узнаете что-нибудь новое, или хотя бы чуть больше отточите свои навыки веб-разработки. Какая ирония, что длина статьи и обширное количество информации тоже могут отпугивать. Но я очень надеюсь, что вы найдёте время осилить хотя бы интересующие вас главы. В конце каждого раздела есть абзац TL;DR, так что вы можете быстро ориентироваться в содержании.

Читать дальше →

ЭЦП стран СНГ на Python

Reading time7 min
Views19K
image
Привет!
Я уже писал на Хабре о своей реализации блочных шифров стран СНГ. Выдалась еще одна свободная неделька в результате чего к симметричным стандартам добавились алгоритмы электронной цифровой подписи: российский ГОСТ 34.10-2012, украинский ДСТУ 4145-2002 и белорусский СТБ 34.101.45-2013.
Все три алгоритма основаны на эллиптических кривых. Но реализация каждого из стандартов имеет свои тонкости, о которых я хочу кратко рассказать в этой статье.
Читать дальше →

Хотите зашифровать вообще любое TCP соединение? Теперь у вас есть NoiseSocket

Reading time6 min
Views37K


Привет, %username%!

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

А еще есть IoT, где впихивать TLS целиком это вообще задача не для слабонервных. И бэкенд, который, я почти уверен, у всех после балансера общается друг с другом по обычному HTTP. И P2P и еще и еще и еще…

Не так давно в сети появилась спецификация Noise Protocol Framework. Это по сути конструктор протоколов безопасной передачи данных, который простым языком описывает стадию хэндшейка и то, что происходит после неё. Автор — Trevor Perrin, ведущий разработчик мессенджера Signal, а сам Noise используется в WhatsApp. Так что, был отличный повод рассмотреть этот протокольный фреймворк поближе.

Он так понравился нам своей простотой и лаконичностью, что мы решили на его основе запилить аж целый новый протокол сетевого уровня, который не уступает TLS в безопасности, а в чём-то даже превосходит. Мы презентовали его на DEF CON 25, где он был очень тепло принят. Пора поговорить о нём и у нас.

Секвенирование ДНК в домашних условиях: как на коленке собрать прибор за 10 миллионов

Reading time9 min
Views154K
Всем привет, меня зовут Александр Соколов, и я хочу рассказать, как сделал дома секвенатор – прибор для расшифровки ДНК. Рыночная цена такого прибора составляет около 10 миллионов рублей.

image
Читать дальше →

Дефейс ask.mcdonalds.ru

Reading time4 min
Views32K

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

Все началось, когда обычным майским днем я наткнулся на сообщество ВКонтакте, публикующее забавные вопросы людей о продукции Макдоналдс, которые они задавали на некоем сайте. Это выглядело примерно так:


Полистав стену, я заинтересовался и решил посмотреть, что же из себя представляет эта платформа для общения с пользователями — ask.mcdonalds.ru.
Читать дальше →

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

Reading time3 min
Views17K

Строительство новых полигонов ведется очень быстрыми темпами. Но все равно их меньше, чем требуется

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

Проблема в том, что населения здесь много, а территория ограничена. А ведь только в 2015 году Гонконг произвел более 3,7 миллионов тонн мусора. Все новые и новые территории оказываются покрытыми грудами отходов. Вместо парков руководство САР (специальный административный район) срочно создает полигоны отходов. Но так не может продолжаться бесконечно. Представители природоохранных организаций говорят, что при текущих темпах точка невозврата будет пройдена в 2020 году — тогда что-либо предпринимать будет уже поздно.
Читать дальше →

Как иприт начал лечить рак (более-менее)

Reading time7 min
Views40K
Недавно случайно разговорился в поликлинике с человеком, больным лейкозом, и меня это подтолкнуло к мысли написать немного об одних из первых, и до сих пор главных, химиотерапевтических препаратах лечения рака. А самое главное – как они были созданы.

Но сначала немного об ипритах. Иприт далеко не один, их несколько и о них о всех я расскажу.
Первый иприт, примененный сначала немцами, а потом Союзниками в Первую мировую — 2,2'-дихлордиэтилсульфид — имел формулу – S(C2H4Cl)2 или

image
Читать дальше →

Продвинутая тактика игры в «Сапёр»

Reading time8 min
Views226K
[Пятничный перевод статьи 1999 года одного из авторов движка игры Thief Шона Барретта]

Неприятное положение в «Сапёре»


В этом положении я знаю, что вокруг меня есть куча мин, но не могу определить, где они находятся. Несколько мин может быть в одном из двух мест (розовые или голубые), группа мин может быть расположена в одной из двух комбинаций (светло-/тёмно-зелёные). Кроме того, есть ещё сложная ситуация с «5» и «6» в левом верхнем углу, которую я никак не выделил.


Голубые/розовые — взаимоисключающие пары, светло-/тёмно-зелёные — взаимоисключающие группы

«Сапёр»: логика или вероятность


В «Сапёра» можно играть двумя способами: как в логическую или в вероятностную игру.

Технически, вероятность подразумевает логику. Если вы можете логически доказать, что мина должна находиться в определённом месте, то вероятность равна 100%. Если можете доказать, что её в этом месте нет, то вероятность равна 0%. То есть в каком-то смысле для нас важны только вероятности. Тем не менее, игрок для распознавания таких стопроцентных ситуаций игрок использует логическую дедукцию. Иногда, особенно на низких уровнях сложности, её достаточно для прохождения уровня, никакого подсчёта вероятностей не требуется.

Но бывают такие ситуации, когда вся логика мира не может вас спасти. Простой пример — ситуация с «T», которую видно внизу по центру. Она немного осложняется дополнительными соседними минами. (В простейшем случае «2» заменяется на «1», а «5» — на «3», чтобы ситуация была симметричной.)
Читать дальше →

Telegram сам добавляет чужие контакты? Это норма

Reading time4 min
Views395K


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

Что нового в nginx?

Reading time18 min
Views39K


Максим Дунин (Nginx, Inc.)


Ведущий: Я представляю вашему вниманию следующего докладчика. Встречайте – Максим Дунин. И он расскажет о том, что же нового появилось в технологии под названием nginx.

Дисклеймер: речь пойдёт о нововведениях в 2016 году. Можно подумать, что это давно, но информация об изменениях в changelog от автора этих самых изменений полезна всегда!

Максим Дунин: Добрый день! Я Максим Дунин. Как вы, наверное, знаете, я разработчик nginx. Сегодня буду вам читать changelog вслух и с выражением. Для начала давайте определимся, с какого именно места мы будем читать changelog. Посмотрим на статистику.


Увольнение – это маленькая смерть. Как сохранить ценного специалиста решившего уволиться?

Reading time4 min
Views85K


— Нам нужно срочно поговорить! Примерно так начинаются 90% всех разговоров про увольнение. Причем кто бы не начинал разговор первым, результат обычно предсказуем. Что делать, если от вас уходит нужный человек? Под катом мнение вице-президента Parallels Николая Добровольского.
Читать дальше →

18-летний молодой человек арестован за сообщение о «детской» ошибке в новой системе электронных билетов Будапешта

Reading time5 min
Views76K
Количество идиотизма в этой истории делает эту заметку достаточно длинной, так что я начну с конца: как сказано в заголовке, 18-летний молодой человек был два дня назад арестован за «взлом» новой системы электронных билетов Будапешта, несмотря на то, что он сразу же сообщил о найденной им уязвимости.
Читать дальше →

Протеины синтезировали из углекислого газа и электричества

Reading time4 min
Views20K
Перевод новости «Protein produced with electricity and carbon dioxide», опубликованной на сайте NanoWerk.

Пробная партия одноклеточного протеина была произведена из углекислого газа при помощи электричества в рамках совместного исследования Лаппеэнрантского технологического университета и исследовательского центра VTT в Финляндии. Произведенный таким образом белок может быть дополнительно обработан и использован в качестве еды или корма для животных. Этот метод снимает ограничения окружающей среды на производство еды. Протеин может быть синтезирован где угодно, где есть возобновляемый источник электроэнергии, например, солнечной. (Комментарий переводчика: для самого процесса нет никакой разницы откуда берется электроэнергия, однако стоит учесть, что при использовании ископаемого топлива мы произведем очень большое колчичество париниковых газов. По приблизительным оценкам для производства еды на 7.5 млрд человек ежегодно потребуется в 2 раза больше энергии, чем выработали все электростанции в мире в 2008 году.)

Произведенный белок в ложке
Читать дальше →

Я являюсь причиной появления венгерской нотации в Android

Reading time6 min
Views36K
Все из нас видели это:

private String mName;

Это из-за меня.

Я так и сказал — это моя вина.

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

  1. Как появилась m-нотация.
  2. Почему вы, вероятно, не понимаете, что такое венгерская нотация.
Читать дальше →

Кассовый разрыв: главная причина закрытия магазинов у новичков

Reading time7 min
Views57K


Эта толстая полярная лисичка подкрадывается ровно в тот момент, когда владелец думает, что у него всё хорошо. Типовой сценарий: открыл магазин в сентябре, круто отторговал Новый год, отбил вложения 10 марта, пережил летний несезон на маленькой точке, ко второму Новому году немного расширился и закончил сезон очень славно. Образовалось 2-3 свободных миллиона, на которые очень хочется купить большую сверкающую машину. Или мороженого. На все. Душа просит.

Итог — из бизнеса вынимается достаточно большая сумма.

А впереди несезон. Затраты выросли (аренда больше, продавцов больше), прибыли же могут оказаться на уровне первого года. Расходы становятся больше доходов, «подушки» нет — на резервные средства было куплено мороженое ещё в марте. Три основных расхода (80% по общей доле) — это закупка товара, аренда, зарплата. Глядя, что можно срезать, владелец начинает закупать чуть меньше товара и сокращает рекламу. Мол, всё равно товара же меньше. Прямое следствие — штопор, ведущий к закрытию.

Но давайте посмотрим всё в числах. Предположим, у нас есть очень единичная точка в регионе, которая делает 5 миллионов рублей выручки в год. Обычно это один из нескольких магазинов, но в нашем примере он будет единственным.
Читать дальше →

Почему открытые данные никому не нужны

Reading time4 min
Views27K

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



У всех этих ресурсов одни и те же болезни. Вот они:


  • Невалидность данных.
  • Разрозненность данных и отсутствие стандартов.
  • Отсутствие единого механизма поиска.
  • Отсутствие API для доступа к данным.

Этого достаточно чтобы отбить желание пользоваться ими и данными размещенными на них.
Теперь подробнее по каждому пункту и что с этим делать.

Читать дальше →

Муда брака

Reading time4 min
Views18K

(Муда — потеря ресурсов предприятия без создания ценности)


Контроль оборудования


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

Брак сварки

Сбой сварочного оборудования.


Читать дальше →

Делаем сервис по распознаванию изображений с помощью TensorFlow Serving

Reading time12 min
Views34K

image

Всегда наступает то самое время, когда обученную модель нужно выпускать в production. Для этого часто приходится писать велосипеды в виде оберток библиотек машинного обучения. Но если Ваша модель реализована на Tensorflow, то у меня для Вас хорошая новость — велосипед писать не придется, т.к. можно использовать Tensorflow Serving.


В данной статье мы рассмотрим как использовать Tensorflow Serving для быстрого создания производительного сервиса по распознаванию изображений.

Читать дальше →

Information

Rating
Does not participate
Location
Красногвардейское, Адыгея, Россия
Date of birth
Registered
Activity