Обновить
55
0.1

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

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

Как создать эвристический алгоритм онлайн-мастеринга и получить предупреждение от RIAA

Уровень сложностиСредний
Время на прочтение24 мин
Охват и читатели19K

Добрый день, меня зовут Сергей. В своей статье я бы хотел осветить тему аудио мастеринга, а именно: автоматизированного онлайн-мастеринга музыки.

Я расскажу о своём пути от продюсера психоделического транса до мейнтейнера самой популярной open source библиотеки автоматизированного референсного мастеринга на Python, получившей предупреждение от американской ассоциации звукозаписывающих компаний RIAA.

Читать далее

Ретроразработка драйвера для Windows 3.1

Время на прочтение6 мин
Охват и читатели12K
Word, запущенный в Windows 3.1 с удобным разрешением 1152х864

Много месяцев назад я попробовал свои силы в написании 256-цветного драйвера высокого разрешения для Windows 3.1. Попытка была успешной, но работа пока ещё не завершена. В процессе я заново открыл для себя множество забытых вещей и узнал ещё больше новых. Этот пост основан на заметках, которые я делал по ходу разработки.
Читать дальше →

Что нужно чтобы не было бабаха? Три составляющих хорошего силового преобразователя. Часть 1

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

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

Декаплинг: качество питания микросхем

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

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

Читать далее

Сказ о M1 GPU

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

Привет всем, в эфире Асахи Лина!✨

marcan попросил меня написать статью о M1 GPU, и вот она готова ~! Это был долгий проект, растянувшийся на несколько месяцев, и было о чём поведать, так что, надеюсь, вам понравится!

Читать далее

Реверс-инжиниринг баг-фикса микропроцессора 8086 по снимкам кремния

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

Микропроцессор 8086 — это революционный процессор, представленный компанией Intel в 1978 году. Его появление привело к тому, что архитектура x86 и сегодня продолжает доминировать в сфере десктопов и серверов. При реверс-инжиниринге 8086 по фотографиям кристалла моё внимание привлекла одна цепь, потому что её физическая структура на кристалле не соответствовала окружающим её цепям. Оказалось, что эта цепь реализует особую функциональность для пары команд, немного изменяя способ их взаимодействия с прерываниями. В процессе веб-поисков выяснилось, что это поведение было изменено Intel в 1978 году, чтобы устранить проблему с первыми версиями чипа 8086. Изучив кристалл, мы можем понять, как Intel справлялась с багами в микропроцессоре 8086.
Читать дальше →

За 16 недель я собрал 16 синтезаторов по схемам найденным в интернете

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

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

Читать далее

Как устроена работа thread_local переменных: разбираемся и добавляем поддержку в учебную ОС

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

Эта статья написана по мотивам моей курсовой работы, основной смысл которой описан здесь. В процессе работы над ней мне понадобилось добавить в учебной ОС, над которой я работал, поддержку thread_local переменных, о чём я и хочу здесь рассказать в надежде что кому-то это окажется полезно.

Здесь рассмотрен совсем простой случай: поддержки динамической загрузки других бинарников не будет, а способ реализации рассмотрен только один.

Код расположен в двух репозиториях.

Читать далее

Apache Cassandra: механизмы репликации и поддержания согласованности

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

Apache Cassandra - это распределенная NoSQL база данных. В этой статье будут описаны основные механизмы передачи, репликации и поддержания согласованности данных внутри сети.

Читать далее

Wasteland 1: The Original Classic (1988|2013)

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

Wasteland 1, разработанная Interplay и изданная Electronic Arts в 1988 году, самая старая компьютерная ролевая игра, которую мне удалось пройти на данный момент. Пишу об этом в начале, так как это важно для понимания того как игра воспринимается современными игроками. Игра была переиздана в 2013 году для современных платформ.

Во вселенной Wasteland в 1998 году произошёл ядерный конфликт межу США и Советским Союзом, в результате чего большая часть планеты стала необитаемой пустошью. Группу армейских инженеров США ядерный удар застал во время их строительных работ на юго-западе страны. В поисках укрытия они наткнулись на тюрьму для приговорённых к смерти преступников, которая была также снабжена производственными мощностями. Не долго думая, бравые военные выгнали преступников в пустошь, ну их же всё равно к смерти приговорили, а сами заняли здание тюрьмы. Через многие десятилетия, потомки этих военных и выживших жителей прилегающих территорий, стали называть себя «пустынными рейнджерами» в честь традиций техасских и аризонских рейнджеров. Действие Wasteland разворачивается в 2087 году, оказалось, что выжившие есть и в других населённых пунктах. Ваш отряд рейнджеров направляют исследовать беспокойную ситуацию в тех местах и помочь местному населению.

Читать далее

Как стиральная машина управляет двигателем. Часть I — подключение двигателя и алгоритм стабилизации

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


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

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

Электронная начинка современных бытовых приборов, особенно если речь идёт не о наколенной сборке в мастерской дядюшки Ли, а известных брендах, представляет собой чудеса оптимизации. Занимаясь ремонтом, я попутно подсматриваю достойные внимания технические решения, улыбаюсь замечая промахи проектировщиков. Временами их бывает крайне сложно объяснить чем то иным, кроме как требованиями маркетологов вносить в конструкцию элементы “планового устаревания”.

Погода на дворе не очень, очередной прототип отправляется на опытную эксплуатацию, почему бы не рассказать о чём то интересном? Давно я не писал на Хабр!
Почему двигатель, почему стиральные машины?
Ответ под катом

Делаем из Mastech MS6100 частотомер

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

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

Читать далее

Подключаем алфавитно-цифровой экран к VGA

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

Нет, это не шутка. В действительности к VGA, DVI, HDMI можно подключать различные устройства, и даже питать их. И это очень удобный способ работы с различными устройствами и нестандартное использование обычного интерфейса.

Ларчик просто открывается, всё дело в том, что в интерфейсе VGA (а также в других видеоинтерфейсах) присутствует ещё одна шина данных I²C, которая доступна для использования и её легко можно применить в своих самоделках.
Читать дальше →

Векторное управление электродвигателем «на пальцах»

Время на прочтение17 мин
Охват и читатели393K
— Что такое векторное управление?
— Держать ток под 90 градусов.


Термин «векторное управление» электродвигателями знаком всем, кто хоть как-то интересовался вопросом, как с помощью микроконтроллера управлять двигателем переменного тока. Однако обычно в любой книге по электроприводу глава про векторное управление находится где-нибудь ближе к концу, состоит из кучи волосатых формул с отсылками ко всем остальным главам книги. Отчего разбираться в этом вопросе совсем не хочется. И даже самые простые объяснения всё равно держат путь через дифференциальные уравнения равновесия, векторные диаграммы и кучу другой математики. Из-за чего появляются примерно вот такие вот попытки как-то закрутить двигатель без использования мат.части. Но на самом деле векторное управление – это очень просто, если понимать принцип его работы «на пальцах». А там уже и с формулами разбираться в случае надобности будет веселее.
Читать дальше →

Адаптивный ПИД-регулятор поддержания уровня металла в кристаллизаторе УНРС

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

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

Система поддержания уровня металла в кристаллизаторе компании Vesuvius Sert (Франция) как рождественский слоёный пирог, пропитанный насквозь изысканным французским коньяком. Чем глубже ковыряешся в деталях, тем более утончённые вкусы всплывают на поверхность.

В результате 40-летнего опыта развития системы, образовался шедевральный монстр, обросший расширенными корректорами и контроллерами.

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

Читать далее

Глубокое погружение в Java Memory Model

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


Я провел в изучении JMM много часов и теперь делюсь с вами знаниями в простой и понятной форме.


В этой статье мы подробно разберем Java Memory Model (JMM) и применим полученные знания на практике. Да, в интернете накопилось достаточно много информации про JMM/happens-before, и, кажется, что очередную статью про такую заезженную тему можно пропускать мимо. Однако я постараюсь дать вам намного большее и глубокое понимание JMM, чем большинство информации в интернете. После прочтения этой статьи вы будете уверенно рассуждать о таких вещах как memory ordering, data race и happens-before. JMM — сложная тема и не стоит верить мне на слово, поэтому большинство моих утверждений подтверждается цитатами из спеки, дизассемблером и jcstress тестами.

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

Вы тоже любите дисплеи?

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

Началось всё с того, что, покупая какие-то вещи на барахолке, увидел у продавца разные симпатичные дисплейчики от мобильных телефонов и не только за небольшую цену. Решил взять за компанию в количестве трёх штук - "куда-нибудь пригодится". Шло время, делались разные проекты, а дисплеи мирно ждали своего часа где-то на полке. Но вот настал день, когда я добрался до них и решил всё-таки их оживить. Однако вот незадача, о данной модели экрана почти ничего неизвестно... Вот и обратная разработка на подходе. Интересно? Тогда поехали!

Читать далее

Пособие по программированию модулей ядра Linux. Ч.3

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

От редакции: Сегодня исполнился 31 год с момента первого анонсирования Linux. Именно в этот день, 25 августа 1991 года Линус Торвальдс разместил в новостях Usenet comp.os.minix соообщение следующего характера:
Привет всем тем, кто использует миникс — Я делаю (свободную) операционную систему (это только хобби, не столь большое и профессиональное, как GNU) для 386(486)AT клонов. Эта система пишется с апреля и скоро будет готова. Я хочу получить любой отзыв, касающийся вещей, которые нравятся/не нравятся людям в миникс, так как моя ОС похожа на неё (такое же устройство файловой системы (по практическим соображениям), среди прочего).

В настоящее время я портировал bash (1.08) и gcc (1.40), и, похоже, эти программы работают. Это значит, что я получу что-то практичное в ближайшие несколько месяцев, и я хочу узнать, какие возможности хотят большинство людей. Любые предложения принимаются, но я не обещаю, что я осуществлю их:-)

Линус (torvalds@kruuna.helsinki.fi)

PS. Да — в ней нет кода миникс, и будет мультипотоковая ФС. Система НЕПЕРЕНОСИМА (использует команды Intel 386 и т. д.) и, вероятно, будет поддерживать только жесткие диски AT, так как это всё, что у меня есть 🙁
Ну а мы — в этот интересный день, можем только пожелать, чтобы труды по переводу этого руководства были для вас полезны.

Продолжаем серию статей по созданию модулей ядра. В текущей части мы разберем работу с файловой системой /proc, взаимодействие с модулями при помощи sysfs, а также работу с файлами устройств.
Читать дальше →

Physically-based rendering. Ray marching (часть 2)

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

Привет, Хабр!

Перед вами продолжение статьи про рендеринг. В первой части, которую вы, кстати, можете найти по ссылке (link), мы поговорили о трассировке лучей и маршевом методе, а в этой части мы с вами получим фотографию мыльного пузыря. Будет интересно :)

Читать далее

Информация

В рейтинге
3 172-й
Дата рождения
Зарегистрирован
Активность