Pull to refresh
13
0

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

Send message

Улучшаем ультрадешёвый гитарный комбоусилитель Belcat G5

Level of difficultyEasy
Reading time8 min
Views7K


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

Но тогда почему любимые рок-группы вполне можно слушать, причём с удовольствием, через динамики, которые ещё меньше и дешевле? — Потому что в записи звук уже сформирован должным образом.

Сегодня я расскажу и покажу, как встроить в неполноценный комбоусилитель недостающий «формирователь» звучания, работающий в реальном времени без SMS и регистраций. Более того, он вообще аналоговый и построен на одной-единственной микросхеме.
И конечно же, мы его услышим!

Не стоит пугаться машинного кода

Reading time7 min
Views12K

Моим первым языком программирования был ActionScript. Написание кода для Macromedia Flash максимально далеко от голого железа, и эта специфика работы глубоко засела в моём сознании. В результате меня интересовали преимущественно высокоуровневые языки для веб-программирования. Низкоуровневые же казались непостижимыми. Со временем я постепенно из разных источников узнавал о них всё больше, но это моё убеждение оставалось прежним. Низкоуровневые языки пугают, и машинный код подтверждал это наглядно. Когда я обращался к Google с запросом «понятный машинный код», то результат выдачи чаще представлял нечто пугающее и отталкивающее, нежели полезное для обучения.

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

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

Читать далее

Метапрограммирование 2.0: макросы и генерация кода в современном мире

Level of difficultyMedium
Reading time9 min
Views9.2K

Забудьте про скучные «Hello, World». Макросы и шаблоны давно стали полноценными инструментами архитектора кода: от хитрых C++-шаблонов до процедурных макросов Rust и Java-аннотаций, автоматически генерирующих целые фреймворки. 

В этой статье мы рассмотрим примеры, где metaprogramming избавляет от рутины и экономит часы работы над проектом. Детали как всегда под катом.
Читать дальше →

20 лет «Мор (Утопия)»: почему странная и недоработанная игра осталась в истории и стала культовой?

Level of difficultyEasy
Reading time9 min
Views11K

9 июня 2005 года в продажу поступила игра, вызвавшая массу обсуждений ещё на стадии разработки. Релиз получился противоречивым: даже те, кто увлечённо погрузились в густую во всех смыслах атмосферу города на Горхоне, критиковали «Мор (Утопия)» за забагованность, непритязательную для середины нулевых графику, однотипность моделей и общую непонятность происходящего. А также за откровенную негуманность геймплея к игроку, которую автор проекта Николай Дыбовский называл не багом, а фичей и сознательным приёмом. Далеко не все, запустившие «Мор», сумели дойти до хоть какого-то финала. Даже ценители саркастично характеризуют его как «великую игру, в которую никто не играет». Другие и вовсе кривятся при упоминании «Мора» как «претенциозной артхаусной пустышки с кривой реализацией». И всё же в отличие от многих некогда амбициозных и прочно забытых проектов, творение Ice-Pick Lodge осталось в истории отечественного геймдева. Оно имеет прочную фан-базу, получает ремейки и продолжает вызывать эмоции и споры. Почему так вышло?
Читать дальше →

Не только Stellar Blade: ещё несколько корейских игр, стоящих внимания

Level of difficultyEasy
Reading time7 min
Views2.9K
image

Ну что, кто уже успел поиграть в стильный экшен, бывший эксклюзивом Playstation 5? Stellar Blade вполне заслуженно стала одной из лучших игр последних лет — но помимо неё есть ещё немало классных корейских тайтлов, о которых вы могли не знать. А ещё упомяну первоисточники известных всем MMO, будет что почитать на досуге!
Читать дальше →

Электрохимическая размерная обработка металлов в домашней мастерской

Level of difficultyEasy
Reading time7 min
Views6.1K

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

Винтажный цифровой дисторшн Roland V-Guitar GR-D

Level of difficultyEasy
Reading time8 min
Views3.5K


Привет, Хабр! Сегодня мы познакомимся с интересным артефактом из недалёкого прошлого. Выпуск этой педали эффектов был начат в 2012 году, когда технологии цифровой обработки звука электрогитары переживали бурное развитие, в котором лидировала японская компания Roland.

Уже в марте 2009 года, за неполные семь лет, мировые продажи гитарных комбоусилителей культовой серии Roland CUBE перевалили за миллион экземпляров. Помню, какое восхищение вызвал у меня мой первый Micro CUBE в середине нулевых.

Эффекты серии GR стали воплощением следующей ступени эволюции технологий Roland. Мощностей тогдашних DSP всё ещё не хватало, чтобы полноценно заменить настоящий аналоговый аудиотракт, но результаты были впечатляющими. Могут ли они пригодиться сегодня?
Увидим и услышим!

Просто редчайшая ГДР-овская Musima или уникальная мастеровая электрогитара из СССР?

Level of difficultyEasy
Reading time9 min
Views4.5K


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

Гриф и стиль, в котором выполнен темброблок, определённо музимовские. Звукосниматели и фурнитура — серийные советские, но кастомизированы грамотно и с любовью. Ручки переменных резисторов — работа высококлассного токаря.

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

MomBoard: E-Ink дисплей для родственника с амнезией

Level of difficultyMedium
Reading time6 min
Views7.3K

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

Скрипка — деревянный хайтек

Level of difficultyEasy
Reading time9 min
Views12K
TL;DR: Расскажу о конструкции струнных смычковых инструментов на примере скрипки. Так как тема изобилует богатейшей мифологией, я постарался использовать проверенную информацию, совпадающую в разных источниках. Наглядно покажу детали конструкции на цифровой копии скрипки, которую создал сам.

Фото: Pedro França
Читать и смотреть

Сложности с отображением иконок рабочего стола

Level of difficultyEasy
Reading time5 min
Views7.9K

Последние три недели я работал над рефакторингом и исправлением легаси-кода (самые старые части которого были написаны в 2013 году), отвечающего за позиционирование иконок в KDE Plasma, а также сохранение и загрузку этих данных.

Вот мой запрос на внесение изменений: plasma-desktop: Refactor icon positioner saving and loading.

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

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

Бывало у вас такое, что провода наушников спутываются, когда вы убираете их в шкаф или кладёте ненадолго в карман? И с базами кода происходит нечто похожее, когда множество людей записывают в них изменения, исправляя баги друг друга. Каждый мыслит по-своему, поэтому вполне естественно, что всё со временем запутывается.

В итоге периодически кому-то нужно разгребать такую запутанную базу кода и подчищать её.
Читать дальше →

Как сварить метровые столбы стали или запитать рельсотрон (до 1 млн ампер и более)? Ответ: нужен диск Фарадея

Level of difficultyMedium
Reading time8 min
Views29K
Картинка — YouTube-каналы Marb's lab, Science Exxience

Среди генераторов особняком стоит одно устройство, которое лежит в основе современных электрогенерирующих динамо-машин — так называемый диск Фарадея.

Несмотря на ряд недостатков, он обладает несколькими достаточно впечатляющими характеристиками:

  • крайне просто устроен, что позволяет проводить эксперименты по самостоятельной постройке такого устройства практически любому желающему;
  • сразу генерирует постоянный ток без каких-либо выпрямителей;
  • при достаточно малом выходном напряжении (может быть скорректировано, об этом ниже) может потенциально генерировать огромные токи (до миллиона ампер и более), что позволяет использовать его в качестве источника питания для мощной электросварки (сразу сваривающей даже бруски металла) и рельсотронов (над этим типом питания, в частности, работала американская DARPA), заменяя собой батарею конденсаторов.
Читать дальше →

Небезопасный Rust сложнее C

Level of difficultyMedium
Reading time19 min
Views23K

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

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

Lampwork — декоративная стеклодувная техника. Часть 2. Основные приёмы, работы заключительные

Level of difficultyMedium
Reading time9 min
Views3.9K

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

Советы по программированию, которые бы я дал себе 15 лет назад

Level of difficultyMedium
Reading time8 min
Views33K


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

▍ Если ты (или твоя команда) постоянно стреляешь себе в ногу, то почини ружьё


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

Когда я занимался разработкой для iOS, то использовал CoreData и подписывался на изменения нескольких view. Обратный вызов подписки поступал в тот же поток, из которого было запущено изменение. Иногда это был основной поток, а иногда — фоновый. В разработке для iOS важно то, что вносить изменения в UI можно только в основном потоке, иначе приложение вылетит. Поэтому подписка могла работать нормально, но потом ломалась, когда кто-то запускал изменение из фонового потока или вы позже добавляли обновление UI.

Все без раздумий воспринимали это как что-то само собой разумеющееся, и об этом часто говорили в ревью для новичков в команде. Время от времени кто-нибудь ошибался, и мы добавляли DispatchQueue.main.async, когда видели отчёт о сбое.

Я решил это исправить. У меня ушло десять минут на внесение изменений в слое подписки, теперь подписчики вызывались в основном потоке, что позволило избавиться от целого класса сбоев и сняло с нас часть умственной нагрузки.
Читать дальше →

GPU для дата-центров

Level of difficultyEasy
Reading time6 min
Views5.8K

Серверный узел с восемью GPU-ускорителями AMD Instinct MI325X (2,3 ТБ видеопамяти, 8×750 Вт)

Современные дата-центры уже не такие, как прежде. Раньше на типичный сервер поставили бы 144-ядерный CPU, много RAM и десяток HDD/SSD. Но теперь приоритеты меняются, в первую очередь из-за высокого спроса на машинное обучение (ML) и приложения LLM. Хотя аппетит к памяти только вырос, но процессоры нужны другие.

И крупным корпорациям, и маленьким компаниям нужно железо для обсчёта ИИ-приложений. Это GPU-ускорители, NPU (Neural Processing Unit) и TPU (Tensor Processing Unit), AI-чипы нового поколения. Нужны серверы с GPU. Открываются даже специализированные GPU-облака на растущем спросе.
Читать дальше →

Готовимся к вопросам по вёрстке на интервью Frontend-разработчика: значения свойства display

Level of difficultyMedium
Reading time10 min
Views12K


Привет, Хабр. Я продолжаю отвечать на вопросы из собеседований на должность фронтендера. Сегодня я отвечу на следующий вопрос: «В чём отличия между значениями block, inline, flex, inline-flex, grid и inline-grid для свойства display


Прошу внимания. Мой ответ будет основан на теории, которую я описал в статье «Зачем нужно использовать свойство display?». Прочитайте, пожалуйста, сначала её.


Последний технический момент. Во всех примерах я использую <body> в качестве родительского контейнера. На картинках он обозначен голубой пунктирной линией.


А теперь переходим к статье.

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

Эффект Монреаля: почему языкам программирования нужен Царь стилей

Level of difficultyMedium
Reading time7 min
Views10K

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

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

Какое подмножество C++ или Kotlin вы используете? Что вы предпочтёте: project.toml или requirements.txt? Теперь у вашего языка есть возможность поэтапной типизации с помощью аннотаций типов. Хотите ей воспользоваться? Как вы реализуете конкурентность: с помощью многопоточности, Tokio или std::async?

Чем более экспрессивный язык, тем сложнее всё становится. И здесь на сцену выходит Go. И речь не только о gofmt, но и о его стандартной библиотеке и согласованности. В Kotlin вам приходится гадать, что лучше использовать для ошибок: исключения или объекты Result? В случае же Go вам всё ясно – ищем err. Да, это многословно, но зато предсказуемо.

Экспрессивные языки прекрасны, но часто создают путаницу. Вы можете использовать богатый и комплексный язык, поддерживающий миллион способов реализации одного и того же. Именно это я хочу вам показать. Как же сохранить всю эту мощь, но уменьшить беспорядок? Как избежать возникновения 500 поддиалектов? Но прежде, чем переходить к решениям, обсудим Scala.
Читать дальше →

Хватит ли места на рынке D2D после прихода SpaceX?

Level of difficultyMedium
Reading time13 min
Views5.5K
image

В марте 2024 года регулятор FCC согласовал нормативно-правовую базу для сервиса прямого спутникового доступа (Direct-to-Device, D2D) в США. SpaceX, использующий на правах сублизинга частоты сотового оператора T-Mobile, будут иметь вторичный приоритет. Такое правило закреплено в п. 4.4 Регламента радиосвязи ITU (non-protected/non-interference basis) — не создавать помех приоритетным сервисам, которым частоты в диапазоне были выделены ранее. Однако США стали первой страной, применившей его для D2D. Вероятно, вскоре их примеру последуют и другие страны. Использование сотовых частот даёт возможность подключить обычные устройства. Сначала это будут сообщения/сигнал SOS с координатами, потом добавится голос, а затем и передача данных на скоростях 2-4 Мбит/с. Пока D2D воспринимается как премиальный сервис (Apple iPhone и флагманы Huawei). Но приоритетным для него будут наименее развитые страны Африки и Азии, где на «границе сети» живут оставшиеся полмиллиарда абонентов, нуждающиеся в базовых услугах. И на этом рынке уже тесно и без SpaceX.
Читать дальше →

Паяем классическую педаль Marshall Bluesbreaker

Level of difficultyEasy
Reading time8 min
Views7.8K


Привет, Хабр! 62 года назад англичанин Джим Маршалл скопировал гитарный усилитель Fender Bassman из США. Британские лампы зазвучали совсем не так, как американские. Различие в характеристиках громкоговорителей также ощутимо повлияло на звук.

Так появился мировой стандарт перегруженного электрогитарного звучания, благодаря которому, получило своё развитие множество стилей рока и металла.

К тридцатилетнему юбилею своего первого культового комбоусилителя компания «Маршалл» выпустила транзисторную педаль, повторяющую его звучание. А сегодня я соберу свой экземпляр этой педали.
Читать дальше →
1
23 ...

Information

Rating
Does not participate
Location
Россия
Registered
Activity