Самый удобный и минималистичный workflow для macOS (vim-centric)

Минимум настроек — максимум результата: удобное управление окнами и быстрый workflow для работы без переключения на мышь. Подойдет как обывателю, так и профессионалу.

Минимум настроек — максимум результата: удобное управление окнами и быстрый workflow для работы без переключения на мышь. Подойдет как обывателю, так и профессионалу.

Хабр, привет!
Это история о том, как желание просто проверить, жив ли мой блог, привело к трём дням танцев с бубном вокруг SSL-сертификата, а затем — к созданию собственного сервиса мониторинга, который теперь используют сотни разработчиков. Расскажу, почему существующие решения перестали устраивать, как мы реализовали поддержку UDP и ICMP в облаке и почему мониторинг должен быть «скучным».

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

В блоге Beeline Cloud мы временами обращаемся к ретротематике: писали про необычные RFC конца 80-х и 90-х годов, про возрождение текстовых игр. Сегодня заметен новый виток интереса к сайтам «как в ранние 90-е». Рассказываем, почему такая популярность — не просто дань ностальгии, и предлагаем подборку англоязычных технических блогов в формате «ничего лишнего, только текст»: от шпаргалок DevOps-специалиста до инструментария для моддеров WarCraft.

TL;DR: Обновил UnblockPro до v2.0. Discord теперь реально работает — не только проходит тесты, но и загружает приложение, подключается к голосовым каналам и ведёт себя как положено. Разобрался, почему «всё ОК» в тестах, но Discord молча висит на «Проблемы с подключением». Оказалось, проблема была в архитектуре фильтрации — не хватало трёх ключевых правил, и DPI тихо дропал соединения, которые тесты не проверяли. Код на GitHub — by-sonic/unblock-pro.
Предыстория
Два месяца назад я выложил UnblockPro — Electron-приложение, которое в один клик обходит DPI-блокировки Discord и YouTube. Статья набрала 50к+ просмотров, 200+ звёзд на GitHub, 192 закладки на Хабре. Люди скачивали, пользовались, ставили звёзды.
И параллельно писали в issues: «YouTube работает, а Discord — нет».
Причём у части пользователей всё работало отлично. А у другой части — Discord висел на «Connecting...» или «Проблемы с подключением», хотя приложение рапортовало: «Стратегия X работает!». Тесты проходили. Логи были зелёные. Но Discord — нет.
Я потратил неделю на поиск причины. И нашёл. Проблема оказалась гораздо глубже, чем я думал.

Начнём не с технологий, а с причины, по которой эта статья вообще нужна.
В физическом мире USB-порт — дыра в периметре. Воткнул флешку — и у тебя либо данные утекли, либо малварь приехала, либо оба сценария одновременно. Stuxnet, обнаруженный в 2010-м (но активный с ~2007), пробил air gap завода в Натанзе — первоначально через завербованного агента, а дальше распространялся через USB-накопители. FIN7 в 2021-22 годах рассылали по почте подарочные коробки (от имени Amazon и HHS) с «флешками» — на деле это были Arduino ATMEGA32U4, эмулирующие клавиатуру и набивающие PowerShell-команды быстрее любого оператора. Конечная цель — Cobalt Strike, затем ransomware (BlackMatter, REvil). BadUSB, продемонстрированный на Black Hat 2014, показал, что любое USB-устройство может прикинуться клавиатурой и вводить команды — и VID/PID фильтрация тут не спасёт, потому что идентификаторы прошиты в firmware и перешиваются за минуту.
VDI в теории решает часть проблем: данные живут на сервере, а не на эндпоинте. Но USB-редиректор эту изоляцию пробивает — если разрешить проброс mass storage, пользователь утащит файлы на флешку ровно так же, как с физического ПК. А если не разрешить — придут люди со смарт-картами и принтерами, и скажут «нам нужно работать».
Вот тут начинается инженерный компромисс, который не решается одним галочкой в политике.

09:12 — db-replica-02 connection timeout
HTTP 5xx = 0.2%
HAProxy зелёный
p50 = 38-42ms
Replica в другой стойке недоступна
Отказоустойчивость потеряна
Инцидент не объявлен

Три предыдущие статьи были про картинку. Картинка — вещь терпимая: можно сжать, можно потерять кадр, можно догнать следующим. Человеческий глаз прощает многое.
Со звуком всё иначе.
150 миллисекунд задержки — и собеседник начинает перебивать. 200 — и вы оба замолкаете, ждёте, потом говорите одновременно. 300 — созвон превращается в пытку. Это не абстрактные цифры из RFC, это реальность, которую каждый испытывал на плохом Zoom-звонке. (Кстати, порог в 150 мс — это ITU-T G.114, одна из самых цитируемых рекомендаций в телеком-индустрии. Не потому что магическое число, а потому что дальше начинаются перебивания.)
А теперь представьте: вы построили VDI, развернули 500 рабочих мест, люди довольны. И тут приходит запрос от call-центра: «Мы хотим работать через VDI тоже». Или от отдела продаж: «Нам нужен софтфон в виртуалке».
Вот тут начинается отдельная история.

Landlock — редкий для Linux случай, когда «песочницу» можно включить руками самого приложения: без root, без километров политик и с понятной логикой «по умолчанию запрещено всё». В этой статье разбираем, что это за LSM, какие три системных вызова нужны, как выбрать минимальный набор прав и почему открытые до ограничений файловые дескрипторы способны тихо обнулить всю задумку.

Привет, Хабр! Меня зовут Артём, и я менеджер продукта РЕД ВРМ. Чуть ранее я размещал статью, в которой рассказал о разработке РЕД ВРМ, планах развития и технических особенностях продукта. В сегодняшнем материале я, как и обещал, расскажу о протоколе RED DIRECT и раскрою новые фичи, которые появятся в ближайшем релизе.
Для начала хотелось бы рассказать о том, как связан протокол RED DIRECT с VDI и Терминальным доступом.
Привет, Хабр! Меня зовут Дмитрий Гайдамак, я руковожу отделом ИТ в дирекции автоматизации проектного блока ПИК. Это — вторая статья из цикла о внедрении VDI на крупном предприятии (первую статью, с предысторией, уже публиковали в блоге).
Пришло время разобраться с самой сложной частью запоминающих устройств — с дисками. Здесь на сцену выходит vSAN со своими особенностями.
Тонкости сайзинга хранилища: почему vSAN
Первый кластер в нашей пилотной конфигурации VDI состоял всего из двух серверов и был рассчитан примерно на 80 рабочих мест. При скромных начальных требованиях к виртуальным машинам мы могли бы спокойно разместить их данные на какой-нибудь простой СХД (вариант с локальными датасторами даже не стоит рассматривать как недостаточно гибкий). Но мы понимали, что рано или поздно придётся масштабироваться — и вот тут начали появляться нюансы.
На тот момент мы не знали, какое количество операций ввода-вывода будет генерировать рабочая станция VDI в течение дня, и просто поверили на слово интегратору, посчитавшему для нас нужные цифры. Сейчас могу с уверенностью сказать: ферма из ста рабочих станций, где работают проектировщики, способна сгенерировать 15–25 тысяч IOPS на чтение и примерно столько же на запись (на бэкэнде vSAN с Parity FT=2, что близко к RAID 6 на СХД). Особенно утром, когда все одновременно открывают проекты.
Если экстраполировать, становится ясно, какую нагрузку приходится выдерживать датастору каждый день. В случае с СХД сотня пользователей не вызовет проблем, но тысяча уже окажется не по зубам железу начального уровня, и придётся обзавестись новой, более серьёзной СХД.

Мы все привыкли к классическому раскладу: для поддержки есть сервис деск, в проектных командах — Jira, у ИБ — свои системы. При этом одни и те же сотрудники могут решать заявки, участвовать в проектах и устранять инциденты — сами или совместно с безопасниками.
Когда эти процессы существуют по отдельности, данные разрознены, ответственность размывается, работа движется медленнее, растет риск ошибок. Гораздо лучше объединить эти три направления на одной платформе — ловкость рук и никакого соперничества между окнами систем за внимание специалистов.
Рассказываем, как такой подход работает на практике и почему единая система — это не печальный компромисс, а реальное усиление каждого процесса.

Импортозамещение, уход вендоров, требования регуляторов, безопасность — причин переезжать с продуктов Microsoft и VMware сегодня хватает.
Но важно, чтобы это было осознанное инженерное решение, а не реакция по принципу «лишь бы уйти». Тем более что далеко не всегда есть смысл переплачивать за продукт, который для вашей инфраструктуры избыточен.
В статье разбираю, как собрать отказоустойчивую виртуализацию на базе Astra Linux:
DRBD + GFS2 + Pacemaker против Ceph.

В 2025 году Cloud4Y провёл масштабную модернизацию инфраструктуры — от серверного парка до системы хранения данных. В этом обзоре мы собрали главные технические обновления, объяснили, какие ограничения они устраняют, и рассказали, что это даёт клиентам уже сейчас и в ближайшем будущем. Материал будет полезен тем, кто уже работает с Cloud4Y, и тем, кто присматривает облачную платформу для новых проектов.

Привет, Хабр! На связи Кирилл Савин, я — архитектор SDN в Рег.облаке. Мы уже подробно разбирали, как устроен OVN в связке с OpenStack, — в статье «OVN под капотом: как построить сеть в OpenStack». А затем показали, как трассировать пакеты в OVN и анализировать поведение трафика.
В этом материале продолжаем тему интеграции OVN с OpenStack и разбираем более узкий, но важный сценарий — работу Metadata API при использовании OVN в качестве backend для Neutron. Речь пойдет уже не столько о маршрутизации пакетов, сколько о служебной логике поверх сетевой плоскости и особенностях ее реализации в модели OVN.

Привет, Хабр! Я Вика, системный администратор в Selectel. Под катом разберемся, какие типы дисков существуют, чем они отличаются и как выбрать подходящий вариант под конкретную задачу. А заодно покажем новый тип дисков с регулируемой производительностью — он появится в Selectel уже в марте.

Сложно поддерживать CI/CD, когда граф пайплайна в GitLab превращается в бесконечную «простыню», параллельные запуски terraform apply приводят к блокировкам, а для игнорирования некритичных ошибок приходится писать || true.
Может показаться, что для решения этих проблем нужны «костыли» или переход на enterprise-лицензию. На деле же с ними помогут встроенные возможности GitLab CE. В статье разбираем неочевидные ключевые слова .gitlab-ci.yml, которые сэкономят вам время и нервы.

У нас ещё есть некоторое количество остатков с прошлого кризиса железа
Из-за того, что все хотели ролик с матерящимся бобром, танцующим Мадуро или хотя бы переделать индуса в красивую девушку, у нас тут бум AI-моделей. Эти модели работают на физическом железе и физическом электричестве. Железо, к сожалению, закончилось раньше, чем электричество.
Первыми пострадали не процессоры, как мы ждали, и не видеокарты, как мы уже видели, а банально оперативная память. И отчасти — SSD.
Рынок снова сошёл с ума и стал диким.
Я узнаю знакомые барыжные шаблоны ещё с эпопеи с майнингом и повышением цен на видеокарты. Вот смотрите, на момент публикации серверная планка 96 Гб DDR 5 стоила:
— В Регарде «чисто», с документами и гарантией — 410 тысяч рублей. Для контекста: летом 2025 года, всего полгода назад, эта же позиция здесь же стоила около 90–100 тысяч рублей.
— Но её можно купить на сером рынке у барыг. Иногда они мимикрируют под приличные компании, у них безнал с НДС, но цена плавает весь день, как биржевая котировка. Утром тебе говорят: «330 тысяч». К обеду партия может исчезнуть или стоить уже 350.
— Есть совсем уж барыги с Горбушки и Савёлки — без документов и оплата только наличными, а получение планки — в подворотне. Цена вопроса — 250–280 тысяч рублей.
Но купить сложно. Продавец ведёт переговоры одновременно с десятком покупателей. Ты пишешь: «Возьму 20 штук». Он отвечает: «Есть 10». Пока ты едешь с деньгами, кто-то другой пять уже забрал. Никаких гарантий до момента передачи товара из рук в руки. Это не бизнес-процесс, это квест.
Это не временный всплеск и не сезонное колебание.
Давайте немного разберёмся, что же случилось.

Laravel может быть быстрым, но классическая модель PHP с полным bootstrap на каждый запрос быстро упирается в потолок. В статье разбирается практическая схема продакшен-развёртывания Laravel Octane на FrankenPHP с Docker Compose и Traefik: разделение web и воркеров, multi-stage сборка, healthcheck’и и автоматизированный деплой. Это цельный пример того, как может выглядеть современная Laravel-инфраструктура вне локальной среды.

Передача пакетов внутри компьютерных сетей осуществляется на различных уровнях иерархической модели OSI. В этой статье мы будем говорить о, пожалуй, самых сетевых (помимо транспортного) уровнях в этой модели: канальном (L2) и сетевом (L3). Мы рассмотрим, как осуществляется передача пакетов как внутри сетевых сегментов, так и при межсетевом взаимодействии. Выделим различия и покажем ключевые моменты процесса перенаправления трафика в сетях.