Как стать автором
Обновить
39
0
antonwork @antonwork

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

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

Аппаратное кодирование HEVC в FFmpeg — как быстро вникнуть и начать уже сейчас?

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров8.8K

В прошлой статье, посвящённой изучению кодирования на HEVC в FFmpeg, мы разобрали большинство функций работы с видео и научились эффективно сжимать видео или ускорять процесс кодирования для различных задач, преимущественно в программном кодировании. На этот раз моё внимание привлекла тема аппаратного кодирования (ГПУ) в FFmpeg.

Буду рассматривать аппаратные кодеки Nvidia, AMD и Intel.
Читать дальше →
Всего голосов 38: ↑38 и ↓0+54
Комментарии41

Наше расследование: Блогеры и все все все… Часть 2

Время на прочтение7 мин
Количество просмотров28K

Прошлая наша статья, где мы задали несколько вопросов блогеру IMAXAI (он же Максим Горшенин) почему-то была им оставлена без должного внимания. Мы предположили, что Максима опять все обманули, и его лучшие друзья, которые "все разработали сами", на самом деле не такие уж и "все сами", а всего лишь в шелкографии китайской платы нарисовали свой бренд. Так как Максим почему-то не захотел во имя "импортозамещения" задать наши неудобные вопросы своим друзьям, то у нас появились теперь вопросы к самому Максиму. Является ли целью его деятельности действительное импортозамещение, или же просто из меркантильных целей, на волне хайпа и эпатажа, он продвигает тех кто с ним сотрудничает и топит других, кто отказался от его предложений? И что будет если те кого он так истово возносит на пьедестал импортозамещения окажутся обычными продвинутыми "переклейщиками шильдиков"? Интересно? Ну что же, сегодня мы поближе рассмотрим очередного друга блогера - компанию GS Group, чьей продукцией наш подопечный, кстати, приторговывает на своем сайте.

Читать далее
Всего голосов 190: ↑179 и ↓11+214
Комментарии66

Дайте мне 15 минут, и я изменю ваш взгляд на GDB

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров15K

Материал подготовлен на основе выступления с CppCon 2015 "Greg Law: Give me 15 minutes & I'll change your view of GDB" (доступно по ссылке ). Многие моменты я изменял и корректировал, поэтому учтите, что перевод достаточно вольный.

И да, вынесем за скобки вопрос о том, насколько GDB в целом удобная или неудобная программа, и что в принципе лучше использовать для дебаггинга: в данной статье будет рассматриваться именно работа с GDB.

В статье будет рассматриваться отладка кода на C в ОС Linux.

Читать далее
Всего голосов 47: ↑45 и ↓2+63
Комментарии16

Почему MMAP не лучший выход

Уровень сложностиСредний
Время на прочтение23 мин
Количество просмотров6.3K

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


MMAP захватила умы программистов СУБД на многие десятилетия, как альтернатива буферу данных. И вот здесь следует отметить, что в mmap имеются серьёзные проблемы с корректностью и скоростью работы с данными в современных СУБД. В реальности, некоторые известные СУБД сперва использовали mmap для работы с "больше-чем-вмещается-в-память" базами данных, но вскоре обнаружили эти скрытые ограничения, которые принудили их к самостоятельному управлению файловым вводом/выводом, после заметных трат на инженерные исследования. В этом смысле mmap и СУБД подобны сочетанию кофе и острой пищи: неудачное сочетание, которое не очевидно, пока сам не попробуешь.


Покуда разработчики по прежнему пытаются использовать mmap в новых СУБД, мы написали эту статью, чтобы предупредить остальных, что mmap это не подходящая замена привычному буферу. Далее мы обсудим основные недостатки mmap, а также покажем явные ограничения производительности, которые мы обнаружили в наших экспериментах. На основании этих находок мы поделимся рецептами, когда разработчикам СУБД следует избегать mmap для реализации файлового ввода/вывода.

Читать дальше →
Всего голосов 24: ↑24 и ↓0+34
Комментарии7

Разглядывая JTAG: самый быстрый программный JTAG на Arduino

Уровень сложностиСредний
Время на прочтение26 мин
Количество просмотров11K

В предыдущих статьях цикла был приведен пример реализации ведомого модуля JTAG на Verilog. Я предположил, что количество инженеров, знающих Verilog, меньше, чем количество инженеров, которым требуется понимание принципов работы JTAG. Поэтому, помимо реализации на Verilog, модуль JTAG был также реализован на Си.

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

Субъективно, практическое применение программного JTAG мне по‑прежнему видится не вполне оправданным.
Но, во‑первых, это хороший повод рассмотреть предельные возможности микроконтроллеров.
А во‑вторых, есть формальная причина сказать, что в данной статье предлагается Решение Прикладной Задачи :)

Итак, сегодня мы поговорим про прерывания, поллинг и прочее. А протокол JTAG станет фоном для повествования.

jmp start
Всего голосов 40: ↑40 и ↓0+55
Комментарии30

Цивилизация Пружин, 1/5

Время на прочтение14 мин
Количество просмотров110K
### Часть 1. Золотое «Ку»

Лет в шесть мне попался в руки дедовский справочник[50] по грузовым автомобилям середины 20-го века. Добротный, напечатанный на гладкой плотной бумаге раритет. Единственное, что вообще осталось на память от деда после распада страны, войн и переездов.



В справочнике содержалось множество интересных ТТХ, так что слово «грузоподъёмность» стало мне знакомо с раннего детства. И когда отец на прогулке упомянул, что любой грузовик весит столько же, сколько увозит сам, я это запомнил. Запомнил и, много позже, заинтересовался.

Отец был прав. Для грузовиков 60-х годов это правило выполняется с довольно удивительной точностью:

Читать дальше →
Всего голосов 237: ↑230 и ↓7+223
Комментарии266

Ретроспектива развития тягового привода железнодорожных экипажей

Время на прочтение13 мин
Количество просмотров16K

Формальной причиной появления этой статьи стала недавняя замечательная публикация "Электрический путь в век скоростей" в которой автор изложил исторические факты о первых, весьма не робких, шагах в развитии высокоскоростного железнодорожного сообщения, предпринятых в Германии в конце XIX начале XX века. Мне, как человеку некоторым образом связанному с железнодорожным транспортом, упомянутая статья понравилась тем, что она осветила, пусть и в публицистической форме, историю первого применения асинхронного двигателя в качестве тягового двигателя железнодорожного экипажа. Впечатляет и масштаб рекорда скорости, достигнутого электровагоном AEG - ведь, на минуточку, дело было в 1903 году! Такой успех технически во многом обусловлен применением именно бесколлекторного двигателя переменного тока.

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

Читать далее
Всего голосов 57: ↑57 и ↓0+57
Комментарии75

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

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров11K

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

Пошагали
Всего голосов 82: ↑82 и ↓0+82
Комментарии21

MIT, Гарвард и Лига плюща: как я поступала в лучшие ВУЗы США

Время на прочтение12 мин
Количество просмотров46K

О том, как я пыталась поступать в самые лучшие ВУЗы планеты на прикмат и что я из этого вынесла.

Читать далее
Всего голосов 94: ↑88 и ↓6+110
Комментарии117

Почему Starlink от Маска — это скам

Время на прочтение15 мин
Количество просмотров202K


В тоннелях Boring Company, построенных, чтобы не было пробок, теперь пробки. Cybertruck не поедет до 2023 года Но все это мелкие проблемы по сравнению с тем, чем обещает стать Starlink. Это главный проект Илона Маска, который должен спонсировать SpaceX, и собрать достаточно денег, чтобы обеспечить полет на Марс. Но он может стать и самой большой ошибкой.


1500 спутников уже запущены и работают, 145 000 пользователей в США и Канаде уже довольны своим интернетом. Тем не менее верить в успех этого проекта, скорее всего, преждевременно. И даже более того: возможно, нам будет лучше, чтобы это будущее никогда не наступило.


Осторожно, в тексте много цифр. И, если вы продолжаете верить в Starlink, он может вас сильно разочаровать.

Читать дальше →
Всего голосов 435: ↑286 и ↓149+200
Комментарии984

Концепция умного указателя static_ptr<T> в C++

Время на прочтение11 мин
Количество просмотров17K

В C++ есть несколько "умных указателей" - std::unique_ptr, std::shared_ptr, std::weak_ptr. Также есть более нестандартные умные указатели, например в boost: intrusive_ptr, local_shared_ptr.

В этой статье мы рассмотрим новый вид умного указателя, который можно назвать static_ptr. Больше всего он похож на std::unique_ptr без динамической аллокации памяти.

Читать далее
Всего голосов 27: ↑24 и ↓3+31
Комментарии67

Экстремальная настройка производительности HTTP: 1,2M API RPS на инстансе EC2 с 4 виртуальными процессорами (vCPU)

Время на прочтение54 мин
Количество просмотров19K

Прим. перев.: автор данного исследования — Marc Richards, Solutions Architect и DevOps-инженер — продемонстрировал потрясающую настойчивость и тщательность в тотальной оптимизации производительности веб-приложения. Получившийся материал — кладезь полезных знаний для расширения своего кругозора в области оптимизации, особенностей сетевого стека в Linux и не только, даже вне зависимости от практической заинтересованности в конечном результате автора. Приготовьтесь к по-настоящему длинному техническому путешествию с обилием терминологии, увлекательных графиков и полезных ссылок.

Читать далее
Всего голосов 75: ↑75 и ↓0+75
Комментарии7

Домашняя масляная майнинг-ферма

Время на прочтение21 мин
Количество просмотров63K

Это история одного моего хобби-проекта - создания встроенной в интерьер майнинг-фермы с видеокартами в масле, которая своим теплом отапливает лоджию.

Читать далее
Всего голосов 150: ↑146 и ↓4+187
Комментарии118

Нейронная сеть считает лес кругляк и распознает автомобильные номера. Как это сделано?

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров16K

В статье покажем, как алгоритмы компьютерного зрения помогают решить задачу автоматического определения объема круглого леса в лесовозе по фотографии. Пройдем путь от идеи до прототипа. Расскажем, какие были выбраны решения и почему.

Необходимая подготовка читателя — должно быть общее представление о компьютерном зрении (computer vision) и нейронных сетях. Здесь не будет описаний, что такое сверточная нейронная сеть и т.п., статей по таким основам найдете много на хабре (вот хорошая Глубокое обучение для новичков: распознаем изображения с помощью сверточных сетей). В то же время, совсем новички могут получить представление, какие знания и компетенции нужны для решения подобных задач.

Читать далее
Всего голосов 26: ↑25 и ↓1+26
Комментарии21

Внутренности SDR чипа AD9361 — когда микроэлектроника выгоднее наркоторговли

Время на прочтение5 мин
Количество просмотров58K
Когда в 2013 году Analog Devices выпустила SDR трансивер AD9361 — случилась настоящая революция в цифровой радиосвязи. SDR были и раньше, но теперь в одном чипе можно было получить все: 2 канала на прием и 2 на передачу (с набортными 12-бит ЦАП и АЦП) с шириной канала до 56МГц, локальные генераторы и радиотракт — для работы в диапазоне от 70 (на передачу от 47) до 6000Мгц. На AD9361 «из коробки» можно реализовать почти любой цифровой приемопередатчик, за исключением наверное только UWB и начинающего набирать популярность диапазона 60ГГц (но там без аппаратной многоэлементной ФАР все равно делать почти нечего). Остается лишь добавить источник/приемник данных (пока это обычно FPGA), внешние фильтры и LNA/PA, если задача того требует.

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

Читать дальше →
Всего голосов 77: ↑77 и ↓0+77
Комментарии48

Самодельный измеритель крена и дифферента корабля

Время на прочтение4 мин
Количество просмотров8.4K


Одним из приборов, необходимых на различных судах, является кренометр-дифферентометр. Нужен он для того, чтобы знать, как именно качается судно, и не пора ли что-то предпринять для уменьшения этой качки (ну или сделать вовремя ноги с корабля, уподобившись корабельной крысе). Разработка таких устройств довольно редкая задача, но я с ней всё-таки столкнулся, и решил попробовать сделать свою реализацию прототипа такого кренодифферентометра. Под катом я предложу вам вариант изготовления такого электронного кренометра-дифферентометра, как я сейчас вижу его возможную реализацию.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+14
Комментарии23

Делаем встраиваемый полифункциональный зарядник

Время на прочтение15 мин
Количество просмотров23K

Попытаемся сделать зарядник 300 Вт с КПД 99% из тех деталей которые еще остались в стоках интернет-продавцов. Продумаем архитектуру. Cоздадим схему. Проведем симуляцию в LTSpice и Microcap. Научимся технологии оптимизации в симуляторе. Найдем применение методу Monte Carlo. Посмотрим на трассировку. Попробуем сравнительно новую фишку Altium Designer - PDN Analyzer.

Читать далее
Всего голосов 76: ↑75 и ↓1+96
Комментарии69

Препарируем дельфина: что внутри у Flipper Zero

Время на прочтение12 мин
Количество просмотров44K
Для того, чтобы эффективно разрабатывать под Flipper, надо не только понимать, как писать код, но и понимать, что внутри у него.

На «больших» компьютерах есть куча уровней абстракции и аппаратных средств сделать жизнь пользователя и разработчика проще. В итоге, даже если вы пишете на голом С, вас все равно не волнует как конкретно по PCI передается информация, как работает система питания процессора и какая там микросхема используется для хранения BIOS/UEFI.



Тут все не так, слишком уж близко к железу происходит разработка. Статья — это краткий экскурс в то, как устроен Flipper с железной точки зрения. Поехали.
Читать дальше →
Всего голосов 152: ↑149 и ↓3+189
Комментарии85

Web-приложение на C/C++ с помощью FastCGI — это просто

Время на прочтение20 мин
Количество просмотров115K
Добрый день.
В этой статье я бы хотел рассказать про протокол FastCGI и способы работы с ним. Не смотря на то, что сам протокол и его реализация появились ещё в 1996 году, подробных руководств по этому протоколу просто нет — разработчики так и не написали справки к собственной библиотеке. Зато года два назад, когда я только начал пользоваться этим протоколом, часто встречались фразы типа «я не совсем понимаю, как пользоваться этой библиотекой». Именно этот недостаток я и хочу исправить — написать подробное руководство по использованию данного протокола в многопоточной программе и рекомендации по выбору различных параметров, которым могли бы воспользоваться все желающие.
Читать дальше →
Всего голосов 102: ↑97 и ↓5+92
Комментарии104

О шаблонах в С++, чуть сложнее

Время на прочтение40 мин
Количество просмотров35K

После недавней статьи о шаблонах С++ для начинающих осталось жгучее желание показать что-нибудь похожее, но на практическом примере, да так, чтобы и порог входа был не высоким, и чтобы скучно не было. А так как в голове крутится задача перевода чего бы то ни было в строку, то этим и предлагаю заняться всем, кто хочет потрогать компилятор за шаблоны.

Потрогать здесь
Всего голосов 50: ↑50 и ↓0+50
Комментарии31

Информация

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