Найти в Дзене
Ошибка 403 при установке openh264 в Flatpak: Решение проблемы
Cisco закрыла публичный доступ к скачиванию бинарных файлов библиотеки openh264. Сервер ciscobinary.openh264.org возвращает ошибку 403 (Forbidden). В результате установка пакетов через Flatpak, которые имеют зависимость org.freedesktop.Platfom.openh264, например Telegram, завершается с ошибкой. Самое интересное, что под раздачу попали не только пользователи из России. В обсуждениях на GitHub также жалуются пользователи из Украины и Индии. Решение: Обход блокировки для установки Flatpak Чтобы установить...
4 месяца назад
Настройка VeraCrypt для работы без ввода пароля sudo
Я давненько уже использую контейнер VeraCrypt для безопасного хранения базы данных KeepassXC и всё меня в ней устраивало, кроме одного нюанса. VeraCrypt требует права root для работы с устройствами хранения - при каждом монтировании тома он проверяет наличие прав, и если их нет - заставляет вводить пароль. А если контейнер тоже настроен на пароль, а не аппаратный ключ - так это вдвойне муторно становится. Первая мысль которая у меня возникает когда заходит речь о беспарольном повышении привелегий - polkit...
5 месяцев назад
Как избавиться от магических чисел в коде — простой рефакторинг за 15 минут
В каждом проекте есть код с временными интервалами. Вот типичные примеры: const COOKIE_TTL = 2592000; // 30 дней в секундах? const CACHE_EXPIRE = 1800000; // 30 минут в миллисекундах? const API_TIMEOUT = 5000; // 5 секунд? Проблемы этого кода: Разные API и системы ожидают время в разных форматах, например - Куки → секунды, setTimeout → миллисекунды. Без явного указания единиц легко ошибиться Даже зная, что: 3600 = 1 час в секундах 86400 = 1 день в секундах Приходится мысленно преобразовывать...
6 месяцев назад
🤯 JavaScript: Spread-оператор и его причуды с undefined
Spread-оператор (...) — мощный инструмент, но его поведение с undefined и null может сломать мозг. Посмотрите на эти примеры: console.log('fun', ((...undefined) => {})()); // ✅ fun [] console.log('obj', { ...undefined, ...null }); // ✅ obj {} console.log('arr', [ ...undefined ]); // ❌ TypeError! Что здесь происходит? – Здесь ...undefined — это корректный синтаксис для пустого списка аргументов. – Результат — пустой массив [], потому что ничего не передано. – Spread игнорирует undefined и null, как будто их нет...
6 месяцев назад
А вы знали, что в JS есть два нуля? 🤯
Да-да, есть 0 и -0. И да, они равны друг другу (-0 === 0), но всё же не идентичны Object.is(0, -0) === false. Главный парадокс: -0 === 0 // true 1/-0 === -Infinity // а 1/0 === Infinity Где JS различает нули: Математические операции: assert.strict. equal(-0, 0) // Будет выброшена ошибка в тесте Math.sign(-0) // -0 (да, не -1!) Math.pow(-0, 3) // -0 Math.pow(-0, 2) // 0 Тригонометрия (сохраняет знак): Math.atan2(-0, 1) // -0 Math.sin(-0) // -0 Специальные проверки: Object.is(0, -0) // false Во всех прочих случаях, JS плевать на знак нуля: `${-0}` // -> "0" JSON...
7 месяцев назад
Короче я тут в прошлом месяце ставил дебиан на мак
Короче я тут в прошлом месяце ставил дебиан на мак…. Если подумываете о том же то вот главные причины почему это делать не стоит 1) забываем про suspend. Нет, он, конечно, работает, но после выхода из сна отрыгивает модуль wifi. Вас не спасет ребут, только выключение и включение. Пока я случайно не догадался до этого, я два дня перебирал разные модули ядра и настройки, но проблема в том что пробуждение устройства вайфайного эппл конечно же испортили и пробудить устройство нереально 2) микрофон не работает. Я пробовал разные модули ядра и хаки, но ничего не помогло - звук есть, микрофона нет. Опять же, после выхода из сна звук тоже, бывает, отваливается...
8 месяцев назад
В какой-то момент ngrok сказал нам "до свидания", и я перешёл на использование vscode port forwarding. Короче раньше всё было супер удобно, поскольку в ngrok был встроенный инспектор и всё запускалось одной командой, теперь приходится делать через жопу. Говоря об ms devtunnel - них есть конечно нечто подобное (нужно в полученном поддомене дописать -inspect после порта), но проблема в том что консоль ппц кривая - например у меня не работает нормально повтор запроса, да и интерфейс там тупит. Короче вот мой флоу: Дано - приложение стартует на порте 3000 Запускаем port forwarding в vscode для порта 3001 Запускаем mitmweb и настраиваем проксирование запросов с порта 3001 на порт 3000 (mitmweb --listen-port 3001 --mode=reverse:http://locahost:3000) Получаем полнофункциональный инспектор запросов
1 год назад
Довелось почитать немного исходники популярных логеров... const info = msg && msg.message && msg || { message: msg }; Это работает потому что в JS при выполнении булевых операторов возвращается не булевое значение true/false, а последнее truthy значение. Я такое не одобряю. Лучше написать больше, но понятнее. Следующая строка тоже радует. info.level = info[LEVEL] = level; В Pino логере тоже они забавно делают - непривычно на самом деле видеть что-то такое: function transport(fullOptions) { // ... return buildStream(fixTarget(target), options, worker, sync) function fixTarget (origin) { // ... } } Ребята в курсах про hoisting - это здорово, но вот нафиг оно, блин, надо было? Как по мне - за такие хакерства в приличном обществе должны проходиться канделябрами по лицу, а не звёзды тысячами ставить на gh:)
1 год назад
Как время, однако, летит. 41 релиз Федоры уже здесь Gnome 47, немного причесали его, добавил парочку мелочей. Новый дефолтный эмулятор терминала Ptyxis - о нём никогда раньше не слышал. Поддержки лигатур в нём нет (https://www.reddit.com/r/Bazzite/comments/1f9hy9r/ptyxis_ligatures/), а значит и смысла его юзать вместо alacritty тоже не особо много. Во всяком случае я пока не увидел прям супер прорывов в отличие от Gnome Terminal
1 год назад
localhost.run - всё гениальное просто. Сервис позволяет туннелировать трафик по подобию ngrok или localtunnel используя лишь встроенный клиент ssh. Из плюсов - ничего устанавливать не нужно - закидываешь им публичный ключ, вводишь ssh -R 80:localhost:<APP_PORT> localhost.run и понеслась. Из минусов - нет инспекции запросов как в ngrok
1 год назад
О миграции с notion Поскольку Notion с 10 сентября в РФ всё, начал искать альтернативы. Пока что самый годный отечественный аналог на который я и перескочу скорее всего - yonote. Пока что там куча проблем и багов, но пользоваться, в принципе, уже можно. Импорт из ношион работает коряво, типографика ужасна, но надеюсь они доделают продукт. Теперь осталось найти замену для whimsical, и вот тут конечно все сильно сложнее🙁
1 год назад
Неоднозначная покупка. С одной стороны небольшая польза от неё есть - можно структурировать то что уже где-то по DDD почитал (например, Хононова), с другой стороны книга стоит ~1к₽, цена, МЯГКО говоря, завышена.🤯 Лучше всё же докинуть 2 рубля и купить красную, а эту почитать бесплатно в библиотеке😉
1 год назад