Search
Write a publication
Pull to refresh
-13
0

Инженер

Send message

Апскейл, который смог

Reading time15 min
Views78K
Термин «апскейл» используется для обозначения процесса увеличения разрешения цифровых изображений с фокусом на создание иллюзии «настоящего» высокого разрешения. Правда, 90% таких продуктов — это барахло, больше намёк на перспективы, чем волшебство. Недавно мои ручки добрались до двух алгоритмов повышения чёткости, которые оказались настолько хороши, что появилась эта статья. Будут субъективные и объективные тесты алгоритма Real-ESRGAN для увеличения разрешения и алгоритма GFPGAN для детализации лиц.
Traffic_Warning: в статье демонстрируется множество примеров.
Читать дальше →

Java на одноплатниках: легко и просто

Reading time4 min
Views7.1K

Привет уважаемый читатель!

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

В результате блуждания по поисковикам, было найдено несколько возможностей:

1. Oracle Java ME – проект, скорее мертв, чем жив. Давным-давно, в 2006 году, Oracle прибило его гвоздями к Raspberry Pi Model B/STM32429I-EVAL/32746GDISCOVERY с минимальными требованиями по железу того времени. И так выглядит скорее заброшенным, то похоже не полетел.

2. Pi4j – неплохой проект от Robert Savage, который развивается до сих пор. Однако это просто враппер на WiringPi, который автор забросил и “прибитый” гвоздями к определенным платам. Сейчас на сколько я вижу, идут попытки отойти от этого.

3. Diozero – так же неплохой проект от Matthew Lewis, однако как и предыдущие два, “прибит” гвоздями к определенным SoC или платам.

Если я что-то упустил, пишите в комментариях.

А как же “Write once and run anywhere?”, спросит читатель. А вот никак и точка.

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

Несмотря на то, что мир за пределами JVM представлял для меня темный лес, то задача выглядела интересно. Да и учетом того, что современные одноплатники уже начали переходить на 64 бит, имеют большие тактовые частоты и несколько ядер. Имеют на борту такие объемы Memory/Storage, за которые не то, что программист, геймер каких то 15 лет назад продал бы душу “кремневому дьяволу”, то условия и возможности современного железа достаточно сильно поменялись...

Читать далее

Источник опорного напряжения — один из принципов и одна из реализаций

Reading time13 min
Views24K
Как не счесть «алмазов в каменных пещерах» — так не счесть случаев, когда необходимо втиснуть какую-нибудь характеристику «непрерывного» внешнего мира в «дискретное» нутро цифровых алгоритмов или извлечь обратно. Как помнят многие — это делается с помощью аналого-цифровых (АЦП, ADC) и цифро-аналоговых (ЦАП, DAC) преобразователей. Но только более посвящённые — обратят при этом внимание на источник опорного напряжения для преобразований (ИОН, Reference), который во многом определяет стабильность и абсолютную точность полученного результата. Конечно, есть некоторое число случаев, когда можно произвести измерение или генерацию отношения двух токов или напряжений. Тогда достаточно подать большее из них на опорный вход преобразователя. Но это — именно «некоторое число».

Желающих ознакомиться с одним из принципов и одной из реализаций температурно-стабильного ИОН — приглашаю под кат. Помощь в этом — предоставит симулятор LTSPICE (несмотря на то, что человек с КДПВ сказал: «My favorite CAD is solder»). Желательно — знание закона Ома, правил Кирхгофа, принципов работы биполярного транзистора (на уровне модели Эберса-Молла) и идеального операционного усилителя.

КДПВ1: Robert Allan Pease — the czar of bandgap. «Орденские цепи» — из ИМС стабилизаторов в корпусе TO-3.


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

Впечатления от прохождения конкурса Яндекс «One Day Offer Frontend»

Reading time8 min
Views21K

Делюсь впечатлениями как я поучаствовал в конкурсе Яндекс "One Day Offer Frontend". Суть в том, что надо пройти онлайн соревнование - решить за 3часа 5 задач, можно частично. Задачи на алгоритмы и верстку на 5, 45, 70, 90 и 90 баллов. Надо набрать >=100 баллов и тогда будет уже онлайн собес с людьми 25 сентября и оффер в одну из команд Я.Такси, Маркет или Поиск если все будет ОК.

Читать далее

Новые мини-ПК, на которые стоит обратить внимание: системы из Китая и не только

Reading time4 min
Views72K

Мы регулярно пишем про одноплатники и микроконтроллеры. Но уже давно ничего не писали про мини-ПК, а ведь эти устройства могут быть весьма полезными как для дома, так для офиса. Сегодня это недоразумение будет исправлено — в подборку попали сразу 6 мини-ПК и 1 UPMС в качестве бонуса. Все эти системы заслуживают нашего с вами внимания.

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

Битва снифферов: Charles vs Proxyman

Reading time7 min
Views35K

Привет, меня зовут Даша, я работаю тестировщицей клиентского мобильного приложения в компании Ozon.

Сегодня поговорим о снифферах в тестировании мобильных приложений –– программах для перехвата, анализа и модификации трафика. Пожалуй, самый популярный сниффер из тех, о которых мне доводилось слышать — Charles. Про него уже не раз писали на Хабре, есть довольно детальные разборы. Но не Charles-ом единым! 

Читать далее

Перехватываем цифровые радиопереговоры, или куда едут экипажи в 5 утра

Reading time9 min
Views119K

Шел апрель 2020 года, ковидная пандемия набирала обороты. Местные власти объявили "карантин", и от скуки сидения дома в один из дней мне пришла в голову мысль разобрать завалы хлама в старой квартире. В одной из коробок мне попался ноунеймовый USB DVB-тюнер на чипе RTL2832U с Алиэкспресса, и тут я призадумался. Вспомнилось, что много-много лет назад я игрался с ним и в эфире можно было услышать много интересного. "А почему бы не поиграться еще раз?" — возникла в голове мысль, которая и положила начало этой истории.

Читать далее

Собственные мысли о работе с маркетплейсами

Reading time9 min
Views8.2K

Я думаю ни для кого не секрет, что маркетплейсы это наше все? ;) Не согласны? Я тоже. Пока… ;) Но, как минимум, вряд ли вы станете спорить с тем, что они “отжирают” все больший кусок рынка у традиционных интернет-магазинов и вряд ли, в ближайшее время, ситуация изменится, а значит нужно учиться с ними работать.

Агитировать работать на них я вас не собираюсь. Я просто, более или менее, знаю как все там устроено, потому-что мы отгружаем туда десятки тысяч (чужих!) товаров ежедневно, а для этого нужно не только понимать эту “кухню”, но и уметь ее автоматизировать. 

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

Читать далее

Instagram-бот для улучшения личной жизни

Reading time9 min
Views27K

Недавно мы с девушкой серьезно поговорили и выяснилось, что я даже не пишу ей “С добрым утром” и вообще редко пишу по утрам. В целом, причина кроется в том, что я не просыпаюсь с восходом первых лучей солнца (как она), а переписываться не очень люблю. Ну а ей, конечно же, приятно получать нежности по утрам и все такое.

Я просто опишу как собрал бота для Instagram, которым движет только одно - слать сообщения в стиле "Привет, доброе утро" моей девушке. Ну, т. е. это не значит, что если кто-то запустит скрипт у себя, то сообщения снова полетят ей. Нет. Просто это бот с функцией отправки сообщений.

Читать далее

Как спарсить любой сайт?

Reading time6 min
Views227K

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

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

Узнать как

Как посчитать синус быстро

Reading time13 min
Views24K

... и точно. Точнее, с заданной точностью, простите за каламбур.

Под катом я расскажу, как сделать это с использованием школьного курса алгебры и целочисленной арифметики, при чём здесь полиномы Чебышёва I-го рода, и дам ссылки на примеры реализаций для ПК и Cortex-M3.

Читать далее

Симметричные НЧ-ВЧ фильтры

Reading time12 min
Views27K
В задачах обработки сигналов часто возникает необходимость фильтрации сигналов, когда сигнал разбивается на узкополосные диапазоны. В бытовом плане мы с этим сталкиваемся при воспроизведении музыки через акустические системы, в которых каждый громкоговоритель (динамик) воспроизводит свою полосу частот, которых обычно три — низкие (НЧ), средние (СЧ) и высокие (ВЧ); для воспроизведения сверхнизких частот иногда выделяют отдельную акустическую систему под названием «сабвуфер». Конкретные границы частот зависят от реализации и ориентировочно находятся на границах 100 Гц, 1 кГц и 5 кГц. Для того, чтобы не было резких скачков громкости между динамиками, используют частичное перекрытие — когда амплитуда воспроизводимой полосы частот плавно спадает на одном, одновременно нарастая на другом.

Наиболее популярными фильтрами для такого разбиения являются фильтры Линквитца-Рейли 4-го порядка, представляющих из себя два последовательно соединённых фильтра Баттерворта, изображение АЧХ которых многим хорошо знакомо:

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

Вторая микросхема :)

Reading time5 min
Views24K
В 2018 году у себя гараже я изготовил первую интегральную схему, это был двойной дифференциальный усилитель Z1. Тогда я заканчивал школу, а сейчас уже выпускаюсь из колледжа. Очевидно, пришло время улучшить производственный процесс.



Z1 с шестью транзисторами представлял эксперимент для отработки всех процессов и проверки оборудования. В теперешнем Z2 уже 100 транзисторов c поликремниевым затвором 10 мкм — та же технология, что и в первом процессоре Intel. Здесь просто массив 10×10 транзисторов для тестирования, определения характеристик и настройки процесса, но это огромный шаг к более продвинутым самодельным чипам. В Intel 4004 было 2200 транзисторов, а я разместил 1200 на такой же пластине.
Читать дальше →

Исследование роста утилизации процессора: как мы мигрировали с CentOS 7 на Oracle Linux 7

Reading time9 min
Views19K

Привет! Меня зовут Александр Петровский, я инженер в DINS. Я работаю в команде, которая участвует в разработке сервисов облачной телефонии и видеоконференций. Каждый из них состоит из большого количества микросервисов.

Когда мы мигрировали один из наших микросервисов с CentOS 7 с ядром 4.19 на Oracle Linux 7 с ядром 5.4, мы заметили рост утилизации процессора на наших stress/performance-тестах. В статье я расскажу, как мы исследовали причины роста утилизации процессора сначала в user-space, а потом и в kernel-space и о том, к какому результату это нас привело.

Читать далее

Продолжаем ковырять Тинькофф API. Рассчитываем эффективность инвестиций

Reading time12 min
Views23K

Продолжение публикации: "Что недоговаривают Тинькофф Инвестиции. Вытаскиваем все данные по портфелю через API в большую таблицу Excel".

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

Пост длинный, но много картинок

Как я написал веб-синтезатор без сэмплов и зависимостей

Reading time10 min
Views4.9K

Немного зная теорию музыки, чтобы создать цифровой инструмент, мы можем воспользоваться простыми HTML, CSS и JavaScript без каких-либо библиотек или аудиосэмплов. К старту курса по Frontend-разработке делимся статьёй, автор которой рассказывает, как написать простой, но эффектный синтезатор.

Читать далее

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

Reading time12 min
Views21K
Часть 1. Вступление
Часть 2. Заголовочные файлы
Часть 3. Область видимости
Часть 4. Классы



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

Восстановительный заряд автомобильных AGM аккумуляторов после глубокого разряда на примере Topla Stop&Go AG60

Reading time8 min
Views123K


Привет, Хабр! Сегодня мы прольём свет на некое тайное знание о современных свинцовых аккумуляторах, которое есть в официальных инструкциях от производителей, но большинство читателей его не замечает, во многом по причине популярных аккумуляторных предрассудков и мифов.
Раздует ли AGM от кипячения 16.5 вольтами?

Банковские кредиты: как обманывают с процентами

Reading time5 min
Views25K

В статье расскажу про наш опыт поиска кредитов. В 2021 году у нас случился наплыв клиентов в дата-центр Тушино. В первую очередь это было связано с бурным ростом криптовалют. Но не только. Росли и за счёт размещения обычных стоек и юнитов, так как у нас сейчас одна из самых самых низких цен по Москве при uptime 100% с 2019 года. Плюс ещё аномальная жара. Нам одного холода пришлось доставить более, чем на 250 кВт.

Сейчас нужно купить ещё один ИБП и ДГУ для запуска новой очереди телекоммуникационных стоек в дата-центре. А это затраты порядка 10 миллионов рублей. Отдать сможем за год. Ну лучше за два. Фонды мы уже выбрали на закупках и установках Штульцов, поэтому решили поискать кредит.

Читать далее

Библиотеки для цифровой обработки сигналов на C++

Reading time3 min
Views12K

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

Подобрали три библиотеки на C++ для звукового синтеза.

Читать далее

Information

Rating
5,980-th
Location
Санкт-Петербург и область, Россия
Registered
Activity