habrahabr
Аппаратный DIY аудиомикшер

Меня это задолбало - управлять громкостью, если источников звука больше одного, особенно больно, когда надо сделать тише/громче быстро, за пару секунд. Если играете в динамичные игры с дискордом, да ещё и музыку фоном включаете, думаю вы прекрасно знаете эти неудобства. И вот, в один прекрасный день я наткнулся на Deej...Собственно результатА в чем собственно проблема?Казалось бы, есть отличное решение для управления громкостью любого приложения - дефолтный микшер винды, какбы да, но нет. Это х…

  • пятница, 5 июля 2024 г. в 00:00:13
habrahabr
Сумма степеней натурального ряда. Часть 1

Вам наверняка известна история о математике Карле Гауссе. Когда ему было восемь лет, учитель задал его классу посчитать сумму всех натуральных чисел от до :И пока остальные дети трудились над последовательным сложением, Гаусс нашел простое и изящное решение. Он заметил, что числа можно сгруппировать в пар с одинаковой суммой:и мгновенно получил ответ .Достаточно несложно вывести общую формулу для суммирования произвольного количества натуральных чисел. Найти суммы для сложения вторых, третьих…

  • пятница, 5 июля 2024 г. в 00:00:12
habrahabr
История о том, как Graphviz и бор взломали шифр от Sony

Мою первую статью я желаю посвятить истории о том, как я решил заняться исследованием часто встречающихся в модулях PlayStation Portable непонятных байтовых строк. Никакой документации в Homebrew коммьюнити найти не удалось, так что я взялся за дело сам.Я начал реверсить игры под PSP с целью моддинга где-то два года назад, до этого как-то всё не мог собраться, хотя и наблюдал за Youtube-каналами других моддеров. В своём локальном коммьюнити по моддингу трилогии Patapon я неожиданно стал одним и…

  • пятница, 5 июля 2024 г. в 00:00:11
habrahabr
Андреас Клинг, его операционная система SerenityOS и браузер Ladybird

Говорят, что в спортзале сильнее всех выкладываются бывшие алкоголики и наркоманы, они работают из последних сил. И это наблюдение не только из спорта, но и из других сфер жизни. Если люди склонны к зависимости, это может проявиться в разных увлечениях, куда они погружаются с головой: трудоголизм, женщины, хобби, гурманство, коллекционирование и т. д. Каждому делу они словно отдаются целиком. Взять к примеру шведского программиста Андреаса Клинга (Andreas Kling). В 2018 году он вышел из госу…

  • пятница, 5 июля 2024 г. в 00:00:10
habrahabr
Git. Скачем между ветками как древесные лягушки

Статей на тему много, но, видимо, недостаточно: время от времени слышу от коллег (последние 10 лет, в 4-х разных компаниях):«Не могу пошарить экран с кодом, у меня другая ветка сейчас».«Не хочу переключать ветку, придется запускать кодогенерацию, у меня сбросятся build-файлы, потом это опять пересобирать!»«Стаскивать ветку для просмотра ПР? Это же неудобно, надо "стэшить" изменения, ветку переключать».«А я “склонировал“ 3 копии проекта, `git clone` to the rescue!»Что-то из вышеперечисле…

  • пятница, 5 июля 2024 г. в 00:00:09
golang
От Firebase к Self-Hosted

Приложению cara.app пришёл счет от Vercel на 96280$. Многие стартапы начинают с Vercel и Firebase, затем из нежелания платить гуглу уходят на свои сервераПоговорим с нюансами про стэк технологий, в частности выбор языка, и оценим усилия на миграцию на свои сервера. Разберём на примере моего пет-проекта без Firebase (Github). Клиент → Сервер → Мониторинг → K8SДемо с инфраструктурой:Про клиентБлагодаря Firebase rules, с базой не страшно работать на клиенте. На своём сервере мы такого себе не позв…

  • пятница, 5 июля 2024 г. в 00:00:07
javascript
Изучение случайности в JavaScript

В моем посте о создании утилиты цветовой палитры в Alpine.js случайность играла большую роль: каждый образец генерировался как композиция случайно выбранных значений Hue (0..360), Saturation (0..100) и Lightness (0..100). Когда я создавал эту демонстрацию, я наткнулся на Web Crypto API. Обычно при генерации случайных значений я использую метод Math.random(), но в документации MDN упоминается, что Crypto.getRandomValues() более безопасен. В итоге я решил попробовать Crypto (с фоллбэком на модуль…

  • пятница, 5 июля 2024 г. в 00:00:06
javascript
Playwright и Allure как хорошая практика для разработки веб-приложения

Привет, меня зовут Иван. Я фронтенд-разработчик из Clevertec в команде, которая создаёт веб-версию приложения для крупного банка. В этой статье я расскажу, почему мы используем Playwright в сочетании с Allure для автоматизации тестирования и оптимизации работы команды.Разработчики вынуждены вечно искать баланс: как выпускать фичи быстро, качественно и желательно небольшой командой. Наш рабочий рецепт – это фронты + E2E-тесты.Результаты такие: сейчас в сутки мы прогоняем порядка 1000 автотестов.…

  • пятница, 5 июля 2024 г. в 00:00:05
javascript
Стоит ли игра свеч? Кратко о Single SPA (часть 1)

У вас возникнет вопрос, а почему вообще стоит уделить свое внимание данному фреймворку? Давайте разбираться!В какой-то момент наш монолитный проект админки вырос до невероятных масштабов, было трудно поддерживать кодовую базу, добавлять новые фичи, в целом масштабировать продукт. Знакомая история?Особенно проблемы возникают при работе с огромной пачкой легаси-кода, который остался с далеких времен нам в наследие от ушедших из проекта разработчиков...К чему это все?Большинство программ на сегодн…

  • пятница, 5 июля 2024 г. в 00:00:04