С начала текущей недели цифровая инфраструктура правительства Норвегии страдает от мощных DDoS-атак. Из-за этого пользователи столкнулись с проблемами при авторизации через государственную систему электронных удостоверений личности, подписании документов и работе с другими сервисами.
Продолжение первой и второй частей. В первой мы развернули двухуровневую инфраструктуру: Root CA и три промежуточных центра — Person, Server и Code. Во второй научились отзывать сертификаты, раздавать CRL и подняли OCSP-responder. В самом начале первой части я обещал «беспарольный вход в админку». Пришло время его получить.Как и предыдущие части, статья задумана как подробное пособие: по каждой директиве и каждой переменной приведён расширенный справочник — синтаксис, допустимые значения, умолч…
Сейчас неконтролируемые вызовы go func() встречаются уже не так часто, как на заре Go.Наверняка многие знают о принципе: «Никогда не запускайте горутину, если не знаете, как она завершится». И всё же мне до сих пор время от времени попадаются несинхронизированные вызовы go func(), которые запускают задачи без ожидания результата.Я не говорю о заданиях, переданных в специализированную очередь задач вроде Asynq. В таком случае система управления задачами сама отвечает за жизненный цикл запущенных…
Привет, Хабр!Я не программист и не разработчик. Мне ближе системное администрирование: развернуть сервис, разобраться с сетью, найти конфликт портов, проверить маршрутизацию и добиться, чтобы всё это пережило повторную установку. Но благодаря нейросетям у людей вроде меня появилась возможность не только описывать идеи, но и доводить их до работающего кода.Так появился AWG-Easy 3 — небольшая Docker-панель для AmneziaWG 3.x с управлением клиентами, изоляцией Home/Guest, IPv6, диагностикой соедине…
В июле я попросил Claude написать мне таймер рабочего дня: 45 минут сидя, две минуты у турника, 45 стоя, обед, и так до вечера. Один HTML-файл, ноль зависимостей, открыл в браузере — работает. Я назвал его «Смена» и честно прожил с ним день. К обеду выяснилось главное: телефон его не будит. Экран погас — вкладка уснула, setTimeout заморозился, никакого сигнала. Web Notifications на мобильном не ринг-тон, а строка в шторке, и то если вкладка жива. Push требует сервер и подписку. PWA на iOS — отд…
Если бот копирует один и тот же пост в десять каналов, в Google Analytics все клики свалятся в одну кучу. URL у скрытой ссылки живёт не в тексте, а в MessageEntity, а copyMessages копирует его как есть. Ниже — как пересобрать пост под каждую площадку, не сломав жирный шрифт, эмодзи и health‑check.Telegram умеет одно очень удобное действие: copyMessages. Берёте сообщение из чата A, кладёте в чат B — форматирование, медиа, альбом, скрытые ссылки, всё на месте. Для рассылок и зеркал это идеальный …
Где заканчивается прототип и начинается инженерия, почему «работает у меня» не равно «готово для бизнеса», и за что на самом деле платят опытной команде.Иллюстрация 1. Ожидаемый результат против ответсвенности.Коротко. Vibe coding хорош для прототипа, но в production скорость генерации кода не заменяет архитектуру, security review,тестирование, наблюдаемость и эксплуатационную ответственностьЗа последний год я несколько раз слышал одну и ту же формулу: «Зачем мне команда разработки? Я найду чел…
Плагин CosmoGraph 3D визуализирует vault Obsidian как интерактивную планету заметокЯ люблю встроенный граф Obsidian. Первые секунд тридцать.Пока заметок немного, он действительно помогает увидеть связи. Потом vault подрастает, граф превращается в клубок из сотен точек и линий, а я снова открываю поиск и набираю имя файла руками. Всё вроде бы связано, но пользоваться этой картиной как картой уже трудно.В какой-то момент мне захотелось не просто видеть, что заметка A связана с заметкой B. Хотелос…
ПредысловиеКакое-то время назад я выкладывал статью на Хабр про свое obsidian хранилище.Я получил хороший фидбэк и некоторые идеи. Также я понял, что довольно большая часть моего obsidian нуждается в оптимизации и структуризации. В итоге нашел свободный выходной, чтобы немного перестроить хранилище. Я все это сделал и тут расскажу, как теперь выглядит мой obsidian.Кроме простой структуризации и удаления лишнего, я также провел некоторые махинации над кодом dataviewjs своей библиотеки книг и дод…