Обновить
39
0
antonwork@antonwork

Пользователь

Отправить сообщение

Потокобезопасный std::map с производительностью lock-free map

Время на прочтение21 мин
Охват и читатели36K

Примеры использования и тестирование потоко-безопасного указателя и contention-free shared-mutex


В этой статье мы покажем: дополнительные оптимизации, примеры использования и тестирование разработанного нами потоко-безопасного указателя с оптимизированным разделяемым мьютексом contfree_safe_ptr<T> – это эквивалентно safe_ptr<T, contention_free_shared_mutex<>>
В конце покажем сравнительные графики тестов нашего thread-safe указателя и одних из лучших lock-free алгоритмов из libCDS на процессорах Intel Core i5/i7, Xeon, 2 x Xeon.
Читать дальше →

YOLOv4 – самая точная real-time нейронная сеть на датасете Microsoft COCO

Время на прочтение9 мин
Охват и читатели94K
Darknet YOLOv4 быстрее и точнее, чем real-time нейронные сети Google TensorFlow EfficientDet и FaceBook Pytorch/Detectron RetinaNet/MaskRCNN.

Эта же статья на medium: medium
Код: github.com/AlexeyAB/darknet
Статья: arxiv.org/abs/2004.10934
Обсуждение YOLOv4-tiny 1770 FPS: www.reddit.com/r/MachineLearning/comments/hu7lyt/p_yolov4tiny_speed_1770_fps_tensorrtbatch4
Обсуждение: www.reddit.com/r/MachineLearning/comments/gydxzd/p_yolov4_the_most_accurate_realtime_neural


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

Нашей целью было разработать алгоритм обнаружения объектов для использования в реальных продуктах, а не только двигать науку вперед. Точность нейросети YOLOv4 (608x608) – 43.5% AP / 65.7% AP50 Microsoft-COCO-testdev.

62 FPS – YOLOv4 (608x608 batch=1) on Tesla V100 – by using Darknet-framework
400 FPS – YOLOv4 (320x320 batch=4) on RTX 2080 Ti – by using TensorRT+tkDNN
32 FPS – YOLOv4 (416x416 batch=1) on Jetson AGX Xavier – by using TensorRT+tkDNN


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

Руководство по FFmpeg libav

Время на прочтение24 мин
Охват и читатели117K

Долго искал книгу, в которой было бы разжёвано, как использовать FFmpeg-подобную библиотеку, известную как libav (название расшифровывается как library audio video). Обнаружил учебник «Как написать видеоплеер и уложиться в менее чем тысячу строк». К сожалению, информация там устаревшая, так что пришлось создавать мануал своими силами.

Большая часть кода будет на C, однако не волнуйтесь: Вы легко всё поймёте и сможете применить на любимом языке. У FFmpeg libav уйма привязок ко многим языкам (в том числе и к Python и к Go). Но даже если Ваш язык прямой совместимости не имеет, всё равно можно привязаться через ffi (вот пример с Lua).

Начнём с краткого экскурса о том, что такое видео, аудио, кодеки и контейнеры. Затем перейдем к ускоренному курсу, посвященному использованию командной строки FFmpeg, и, наконец, напишем код. Не стесняйтесь переходить сразу в раздел «Тернистый путь изучения FFmpeg libav».

Есть мнение (и не только моё), что потоковое интернет-видео уже приняло эстафету от традиционного телевидения. Как бы то ни было, FFmpeg libav точно достоин изучения.

Оглавление


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

[Часть 2/2] Руководство по FFmpeg и SDL или Как написать видеоплеер менее чем в 1000 строк

Время на прочтение65 мин
Охват и читатели8.6K

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

И хотя мы старались, в таком объёмном тексте неизбежны трудности перевода. Сообщайте о недочётах (желательно, в личных сообщениях) — вместе сделаем лучше.

Оглавление

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

Руководство Google по стилю в C++. Часть 10

Время на прочтение15 мин
Охват и читатели31K
Часть 1. Вступление

Часть 9. Комментарии
Часть 10. Форматирование
Часть 11. Исключения из правил


Эта статья является переводом части руководства Google по стилю в C++ на русский язык.
Исходная статья (fork на github), обновляемый перевод.
Читать дальше →

Как делать сайты в 2019 году

Время на прочтение3 мин
Охват и читатели130K

Веб стремительно меняется, не отставай и ты!



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


Давайте-ка шаг за шагом разберём важнейшие принципы веб-дизайна в 2019 году.


Обязательно дайте пользователю знать, что у сайта есть мобильное приложение


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


Ну а кратчайший путь к этому — показать здоровенное модальное окно:



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


Совет: Если у вас нет мобильного приложения, не беда! Просто запихните весь сайт в  webview с отключенной безопасностью и пишите, что это мобильное приложение!

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

Введение в свёрточные нейронные сети (Convolutional Neural Networks)

Время на прочтение8 мин
Охват и читатели71K
Полный курс на русском языке можно найти по этой ссылке.
Оригинальный курс на английском доступен по этой ссылке.


Выход новых лекций запланирован каждые 2-3 дня.
Читать дальше →

Кислотные аккумуляторы; чтобы больше не было отвратительно читать то что люди о них пишут

Время на прочтение9 мин
Охват и читатели181K
Случайно узрел статью с комментариями к ней, и так злость во мне закипела по поводу безграмотности людей в области кислотных (свинцовых в простонародье) аккумуляторов, что не выдержал и решил написать «гикам» (чтобы быть гиком, как оказывается, мало купить дорогой телефон) краткую статью об аккумуляторах. С рассмотрением тех ошибок, которые мне постоянно мусолят глаза и вызывают праведное желание их исправить.

Начнем с названия. Я очень часто вижу что тремя буквами А-К-Б называют все что можно зарядить, абсолютно любой аккумулятор. Особенно тремя буквами люди любят называть аккумуляторы типа Li-ion. На самом-же деле АКБ аббревиатура от Аккумуляторная Кислотная Батарея. Под ними подразумевается лишь один тип аккумулятора — свинцовый кислотный. С современной точки зрения это название вызывает некоторый когнитивный диссонанс т.к. на данный момент значение слова «батарейка» т.е. гальванического элемента который зарядить нельзя перешло на слово «батарея». И получается как будто бы из-за слова «аккумуляторная» это аккумулятор который зарядить можно, а из-за слова «батарея» это как будто батарейка которую зарядить нельзя. В реальности-же батарея — просто цепь гальванических элементов и со словом «батарейка» имеет общий лишь корень.

Далее перейдем к некоторым мифам, а именно главный миф — АКБ для автомобиля имеет некие существенные отличия от АКБ для ИБП. И вот нельзя их применять и там и там.
Читать дальше →

Введение в lock-free программирование

Время на прочтение8 мин
Охват и читатели69K
image

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

Система приточной вентиляции на базе канального внутреннего блока кондиционера

Время на прочтение9 мин
Охват и читатели41K
Привет, Geektimes!

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

Лучшие светодиодные лампы 2015 года

Время на прочтение4 мин
Охват и читатели100K
На сайте lamptest.ru я публикую результаты измерений параметров светодиодных ламп. Цифр там немало и многим сложно в них разобраться. Всё чаще я слышу вопрос — «так какая лампочка самая лучшая»? Хороших ламп много и я решил регулярно публиковать списки лучших ламп.



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

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

Использование облачной АТС pbxes.com для расширения возможностей VoiP / SIP телефонии

Время на прочтение4 мин
Охват и читатели10K
Так сложилось, что у меня есть несколько SIP номеров от разных VoiP операторов в разных странах мира (США, Израиль, Украина, Россия). В какой-то момент, получив очередной звонок с предложением «купить слона» на мой израильский номер в 4 часа утра (я в США, а израильский телемаркетолог об этом, естественно, не догадывается), я понял, что надо что-то делать.

В случае с израильским провайдером все было просто — в личном кабинете провайдера изменил настройки, перенаправив все звонки от незнакомых номеров (которые не в «белом списке») в voice mail с 9 вечера до 7 утра.

Все бы ничего, но через какое-то время я стал получать звонки с предложением купить украинского слона (на украинские номера от Атлантис Телеком и Интертелеком) и российского слона (на номер от Задарма). А тут уже хуже — в личных кабинетах этих трех провайдеров нет возможности перенаправить звонок в voice mail по расписанию или заблокировать какой-то номер. В Задарма и Интертелекоме вообще нет voicemail, с переадресацией тоже не все хорошо (в Задарма — только безусловная переадресация), в Атлантис Телекоме и Интертелекоме — переадресация только на телефонные номера, но не на SIP URI.

В итоге, было найдено решение с использованием облачной АТС pbxes.com.

Кому интересно, приложением под катом (много картинок)

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

Как мы придумали необычное применение для Amazon IoT Button и заставили секретаршу сбросить несколько килограмм

Время на прочтение3 мин
Охват и читатели18K
В октябре этого года мы ездили в Лас-Вегас на конференцию Amazon re:Invent и привезли оттуда одну из последних новинок Amazon — бета-версию «волшебной кнопки» IoT Button. Amazon запустил продажи этого чудо-гаджета буквально месяц назад, по задумке он должен помогать ленивым домохозяйкам одним нажатием пополнять запасы всякой хозяйственной ерунды — подгузников, порошков, моющих средств и так далее. Кнопка крепится на любую ровную поверхность, настраивается с помощью мобильного приложения и после нажатия отправляет заказ в Amazon. На следующее утро курьер доставляет товары под вашу дверь, все счастивы и довольны. Но что делать с этой штукой в Украине?!

Спойлер
В последнем абзаце мы расскажем, как бесплатно получить 10 кнопок.

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

Тюним память и сетевой стек в Linux: история перевода высоконагруженных серверов на свежий дистрибутив

Время на прочтение10 мин
Охват и читатели100K
image

До недавнего времени в Одноклассниках в качестве основного Linux-дистрибутива использовался частично обновлённый OpenSuSE 10.2. Однако, поддерживать его становилось всё труднее, поэтому с прошлого года мы перешли к активной миграции на CentOS 7. На подготовительном этапе перехода для CentOS были отработаны все внутренние процедуры, подготовлены конфиги и политики настройки (мы используем CFEngine). Поэтому сейчас во многих случаях миграция с одного дистрибутива на другой заключается в установке ОС через kickstart и развёртывании приложения с помощью системы деплоя нашей разработки — всё остальное осуществляется без участия человека. Так происходит во многих случаях, хотя и не во всех.

Но с самыми большими проблемами мы столкнулись при миграции серверов раздачи видео. На их решение у нас ушло полгода.
Читать дальше →

Вот что будет, если установить топ-10 программ с Download.com

Время на прочтение8 мин
Охват и читатели326K


Мы установили десять самых популярных программ с Download.com, и вы не поверите, что произошло! Впрочем, наверное, вы и сами можете догадаться: что-то ужасное. Что-то ужасное — вот что произошло. Присоединяйтесь к нашему веселью!

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

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

Несколько интересностей и полезностей для веб-разработчика #37

Время на прочтение6 мин
Охват и читатели41K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Buzz.js




В последнее время в интернете все чаще и чаще встречаются проекты, где различные интерфейсные элементы сопровождаются определенными звуками. Я бы даже сказал, что UX/UI в вебе переходит на новую ступень эволюции. А Buzz.js одним из первых готов помочь вам в озвучке вашего интерфейса. Это библиотека для работы с HTML5 Audio API с рядом подходящих обработчиков событий.

var mySound = new buzz.sound( "/sounds/myfile", {
    formats: [ "ogg", "mp3", "aac" ]
});

mySound.play()
    .fadeIn()
    .loop()
    .bind( "timeupdate", function() {
       var timer = buzz.toTimer( this.getTime() );
       document.getElementById( "timer" ).innerHTML = timer;
    });


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

Layout страницы за 5 секунд

Время на прочтение1 мин
Охват и читатели1.8K
www.layzilla.com

Проект родился просто из личных нужд. Если это удобно нам, надеюсь будет полезно кому-то еще. Все просто и без наворотов. Но не смотря на это, следуем стандартам и качеству кода.

Можно создавать основу страницы проекта любой сложности.

В будущем сделаем поддержку HTML5.

Мануал для любителей почитать.

Smooth Video Pack — плавное воспроизведение видео (PAL, 720p, 1080p)

Время на прочтение1 мин
Охват и читатели5.9K
Бесплатный пакет Smooth Video Pack (SVP) предназначен для просмотра видео на ПК c эффектом плавности движений.
Алгоритмы повышения плавности движений рассчитывают промежуточные кадры, помещаемые при проигрывании между исходными кадрами, при этом создается эффект повышенной плавности движений.

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

Пример видео с форума (swf)
Ссылка на форум iXBT (FAQ = Просмотр видео на компьютере с эффектом плавности движений)
Ссылка на страницу скачивания SVP
Ссылка на страницу онлайн помощи по SVP
Читать дальше →

iPhone. Год практического использования

Время на прочтение6 мин
Охват и читатели9K
Откровенно говоря, год назад, когда я покупал Iphone — я так и не нашел какого-то внятного описания best practiсe для iPhone.
До этого я уже использовал платформу Symbian(nokia n80) и WinMobile(acer n311) — и обе меня по разным причинам в конце концов разочаровали.

После годового использования iPhone, я не разочаровался в этой платформе и решил написать материал о вещах, что действительно использую. Программы которые перечислены, позволяют делать многие действия всего несколькими движениями пальцев. Все скриншоты авторские. Как же жить и работать в iPhone?
Рассмотрим управление делами и встречами, RSS, чтение книжек в любом формате, изучение иностранных языков и конвертация видео.
Читать дальше →

Самый маленький ПК

Время на прочтение1 мин
Охват и читатели6.2K
Компания CompuLab выпустила компьютер fit-PC2, который на данный момент является самым маленьким ПК. Его габариты составляют всего 115x101x27 мм. Работает этот малыш под управлением OS Linux (Ubuntu Linux 8.04). Впрочем, модели с предустановленной Windows XP тоже имеются.


fit-PC2 построен на на базе платформы Intel Menlow. На борту у этого ПК процессор Atom Z530, 1 Гб ОЗУ, 160-гигабайтный жесткий диск, гигабитная Ethernet-карта, Wi-Fi, шесть портов USB 2.0, гнездо для флэш-карт miniSD. Есть и гнездо mini PCI Express. Опционально fit-PC2 может поставляться и с SSD-драйвом.


Кулеров в fit-PC2 не предусмотрено. Соответственно, шума он толком и не издает. Кроме того, новинка потребляет всего 6 Вт.

Стоимость fit-PC2 с процессором Z510 на 1,1 ГГц без предустановленной ОС и жесткого диска составляет $245. С тем же процессором, Ubuntu 8.04 и 160-гигабайтным SATA HDD этот ПК стоит уже $300. Самая дорогая комплектация — процессор Z530 1,6 ГГц, Windows XP и HDD 160 Гб — обойдется в $400.

via linuxdevices

Информация

В рейтинге
Не участвует
Откуда
Trento, Trentino Alto Adige - Trento, Италия
Дата рождения
Зарегистрирован
Активность