Сисадминско-ИИшно-рабочее

Дано: отказоустойчивый кластер Hyper-V.
Надо: обеспечить сорок рыл виртуальными десктопами на Windows 11.

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

Какие варианты решения?

Официальный RDS от Microsoft. Стоит каких-то совершенно невменяемых денег — по 220 монет за рыло (CAL, client access license)! Это, на минуточку, дороже, чем лицензия на Винду!

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

Понадобится:

Одна машинка под Linux. На неё ставим nginx, который будет работать крокодилом балансировщиком нагрузки. Цепляться люди будут именно к нему — а он будет читать список доступных виртуалок из файла available.conf, и раздавать траффик на них:
stream {
upstream rdp_pool {
least_conn;
include /etc/nginx/upstreams/available.conf;
}

server {
listen 3389;
proxy_pass rdp_pool;
proxy_timeout 10m;
proxy_connect_timeout 5s;
}
}

А available.conf постоянно обновляется другим скриптом — на Python.
Этот скрипт поднимает крохотный веб-сервер на Flask, в который каждая виртуалка присылает свой статус: «занято» или «свободно».

Статус они получают с помощью встроенной команды Windows:
qwinsta | Select-String "Active"

Если выводится хоть что-то — машина занята. Дальше PowerShell-скрипт формирует JSON и шлёт его на Flask через Invoke-RestMethod.

PowerShell-скрипт добавляем в Task Scheduler, раз в минуту — и впердё.

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

Всё это было придумано и реализовано при помощи Кейт — так я называю свою ChatGPT-чку.
Безусловно, под моим чутким руководством:

— А что будет, если виртуалку выключить?
— Ах да, сломается. Надо обновить скрипт, чтобы старые машины удалял, вот так: [код].

Получилось бы у меня всё это воплотить самостоятельно? Конечно. И не такое приходилось делать.
Но, японский бог, это заняло бы уйму времени: мне пришлось бы отдельно выяснять, как запускать Flask-сервер, как слать JSON из PowerShell, как его принимать, как менять конфиги nginx на лету, и так далее.

А тут — всё получилось буквально за пару часов.

Не знаю, как в других IT-профессиях, но в сисадминстве ИИ — это чудовищной мощности умножитель силы, который позволяет за то же время делать гораздо более сложные проекты.

И да, приятно, японский бог — когда из сложной, непонятной задачи получается красивое, работающее решение.

Лесбару и три предохранителя

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

Лампочки ближнего света были заменены всего пару месяцев назад — перегорели. И вот, на днях, вдруг отказывает левая фара.
Что, мягко говоря, удивило. “Ну, — мелькнула мысль, — и говно же теперь лампочки делают! Полгода не служат!”
Я знаю про то, что можно поставить светодиодные. Но они все вырвиглазные какие-то, температура света под шесть тысяч Кельвинов, а то и шесть с половиной. Попадались даже на восемь тысяч — это, наверное, чтобы всем встречным заодно делать рентген глаз.

Меняю лампочку — не горит. Хорошо, бывает. Значит, предохранитель пожелал мне приятного млекопитания. Ищу. Нахожу один — аж на тридцать ампер! Удивительно (и, как выяснилось, не зря). Проверка показала: целёхонек. Мне начали закрадываться нехорошие мысли про повреждённые провода, проклятых белок, а также про уместность применения напалма, фосгена, хлорциана, и, на всякий случай, тактических ядерных боеприпасов в черте города.

Начинаю разбирать распределительную коробку и краем глаза вижу ещё два предохранителя на 15 ампер. На всякий случай смотрю, от чего они. А там английским по белому: “Левый ближний свет”, “Правый ближний свет”. Абанамат. А на тридцать ампер тогда зачем предохранитель? Для красоты?

В итоге выяснилось, что в цепи ближнего света у Лесника целых три предохранителя: один плавкий на 30 А стоит до реле, а после реле цепь распадается на две ветви, каждая из которых защищена своим 15-амперным предохранителем. Вот как у Субару всё продумано. Знай наших — у нас там не как у какого-нибудь Форда!

Век живи — век учись.

Зашло в гости

Опоссум виргинский, адна штука:

Я их не гоняю, хотя они жратву у кота воруют, жулики. Сами посудите — полезная в быту и хозяйстве тварь:

1. Жрут клещей (ticks), гадских разносчиков болезней. Один опоссум может в одно рыло сожрать пять тысяч клещей за сезон, а у нас их много.
2. Гнобят тараканов, улиток, слизней (НЕНАВИЖУ!), мелких ядовитых змей, и даже мышей и крыс.
3. Жрут мусор и даже разлагающиеся трупы животных. Убитых белок, по-моему, с дерева снял (ага, недолго они провисели) именно он.
4. Не болеют бешенством в принципе — у них температура тела ниже (34-35), вирус бешенства тупо не размножается. У собак, например, нормальная температура тела 38-39, там вирусу самое то.
5. Не агрессивны по отношению к домашним животным. Зубы у них внушительные, но опоссумы в душе пацифисты.

Словом, хорошие животные, несмотря на отталкивающий внешний вид. Я их люблю. И, кстати, это единственное сумчатое животное (ага, они сумчатые, как кенгуру) родом из Северной Америки.

ИИ в военных целях

Оказывается, ЧатЖПТ неплохо умеет в анализ спутниковых фотографий.

Пользователь:
Это спутниковое фото в России. Что это такое?

Ассистент:
Объекты на спутниковом изображении, по всей видимости, являются мобильными пусковыми установками или пусковыми установками на транспортере (TEL), расположенными на подготовленных площадках. Такая конфигурация характерна для военных ракетных баз, особенно для зенитных или тактических ракетных комплексов.

Основные признаки:
Линейное расположение на бетонных площадках с подъездными путями.
Длинные тёмные транспортные средства, по размерам и форме похожи на TEL.
Окружающие валы или ограждения, которые предполагают защиту от взрывов.
Удалённое, лесистое местоположение, типичное для стратегических объектов в России.

Возможные варианты:
Учитывая, что это в России, это могут быть TEL от:

Искандер-М (баллистические ракеты малой дальности)
С-300 или С-400 (зенитно-ракетные комплексы)
Тополь или Ярс (МБР, но у них другое размещение)
Хотите, я помогу сравнить это с известными ракетными базами?

Пользователь:
Это ПВО. Какой тип ЗРК?

Ассистент:
Спасибо за уточнение. Судя по конфигурации — стационарные позиции с ТЕЛами на бетонных платформах и в контексте российской армии — это ЗРК С-300 или С-400 “Триумф” (по классификации НАТО — SA-21 Growler).

На основе видимых признаков:
По 4 пусковые установки на площадке, каждая с 4 длинными контейнерами.
Конфигурация напоминает С-300ПМ/ПМУ или С-400.
TEL расположены в шахматном порядке, что типично для таких систем.

Наиболее вероятный вариант:
С-400 “Триумф” (SA-21 Growler):
Самый современный ЗРК России.
Использует ракеты 9М96, 48Н6, 40Н6 (дальность до 400 км).
Пусковые установки типа 5П85ТЕ2/СЕ2, которые похожи на изображение.

Возможная альтернатива: С-300ПМ/ПМУ:
Более старая система, но похожая структура размещения.
Чтобы точно определить С-400, нужны:
Радиолокационные станции типа 91Н6Е (Big Bird) или 92Н6Е (Grave Stone).
Характерный внешний вид TEL на более новых шасси.
Если у вас есть более широкое изображение, я помогу точнее определить.

Пользователь:
Вот более широкое изображение, как ты просил.

Ассистент:
Спасибо. На этом спутниковом изображении ясно видна российская позиция ЗРК большой дальности, и по компоновке можно с высокой уверенностью утверждать, что это С-400 “Триумф” (SA-21 Growler).

Основные элементы:
1. Пусковые установки слева:
4 длинных тубуса на каждом TEL.
Характерны для 48Н6 или 40Н6.

2. РЛС наведения в центре:
Мачта с прямоугольной антенной — похоже на 92Н6Е Grave Stone.

3. Командные пункты и машины связи:
В районе правее центра, возможно, командный пункт 55К6.

4. РЛС обнаружения (вверху):
Большая стационарная антенна — вероятно, 91Н6Е Big Bird.

Вывод:
Это почти наверняка позиция ЗРК С-400 “Триумф”, предназначенная для защиты от воздушных и баллистических угроз.
Хотите, я нарисую схему расположения элементов?

Пользователь:
Вот координаты: 55.673808335283326, 38.36239190529882

Ассистент:
Спасибо.
📍 55.6738° N, 38.3624° E — эта точка находится к юго-востоку от Жуковского, недалеко от Москвы.

Проверка:
Это подтверждённая позиция С-400 “Триумф” (SA-21 Growler), входящая в состав системы ПВО Москвы.

Она относится к 5-й армии ПВО-ПРО, и её задачи:
Защита стратегических объектов и командных центров.
Многоуровневая оборона от самолётов, КР и БР.

Почему это точно С-400:
Есть РЛС 92Н6Е.
TEL с новыми ПУ.
Характерная конфигурация центра управления.
Размещение в зоне стратегической важности.

Итог:
Это позиция С-400 “Триумф”, один из важнейших узлов системы A2/AD (антидоступ/зона запрета) вокруг Москвы.

Хочешь — могу сделать схему с подписями или дать историческую справку по базе.

pfSense-админское

Не рекомендую апгрейдиться до версии 2.8CE. Она построена на базе FreeBSD 15 вместо 14, и количество багов там зашкаливает. В частности, они поменяли механизм загрузки драйверов.

Пытался настроить тут мост “вайфай-домашняя сеть” на pfSense, для случаев когда основной интернет падает во время смерчей и прочих погодных явлений. Ну, чтобы на весь дом сразу, даже на проводные устройства, раздавать Ёнтернет с телефона. Вайфайная карточка Intel 8260 должна поддерживаться в pfSense из коробки, но pfSense 2.8 при загрузке, увидев эту карточку, сразу насмерть валится в кёрнел паник.

Баг уже задокументирован.

Хорошо, что я тщательно храню бекапы конфигурации, и смог откатиться назад к версии 2.7.2 — и в ней всё прекрасно заработало с пол-тычка.

Врёт как Жюль Верн

Играюсь с большыми языковыми моделями, запускаемыми локально через ollama под WSL2. Их нам много разных, LlaVa, llama2, mistral, и т.д. Немного ресурсов, кстати, жрёт — я аж удивился. WSL2 занимает при работе только два гига памяти.

Но языковые модели, конечно, имеют ограничения. Одна, например, наотруб отказалась рассказывать о том, как правильно обогащать уран. А вторая — врёт как Жюль Верн в книге “Таинственный остров”. То-есть, рассказывает о производстве, например, взрывчатых веществ с ошибками — предположительно, специально, дабы кто-то не впечатлился, и не сделал бы их на самом деле.

Вот, например, ответ на вопрос о производстве чёрного пороха:

Сделанный таким образом дымный порох гореть, наверное, будет. Но гореть он будет лишь немного пободрее, чем древесный уголь. Даже советские мальчишки знали, что это селитры в порох надо сыпать 75%, а не угля — это, если что, в Советской Энциклопедии было напечатано. И пропорции для серы и угля перепутаны задом наперёд.

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

А мне просто так. Шоб было. Мало ли ещё чего интересного можно узнать.

Люблю я генеративный ИИ!

Создание любой бредятины на ваш заказ!

Наконец-то я накреативил и узрел старый айтишный мем/байку про экскаватор марки “Cablefinder” (ищущий кабели).

Гугловский ImageFX на данный момент — абсолютный лидер в генерации картинок. Качество офигенное, нужный текст не перевирает, и даже генерит нормально выглядящие руки, в отличие от того же Адобе Фаерфлай. Керемендую изо всех сил.

Второй раз сходил за ёлкой

Пришлось таки чинить Форда Ф-150 по второму разу. И что самое обидное — по своей вине, вернее, по незнанию. Умные люди мне в комментах подсказали, что в удобных кембриках с паяльной пастой не наш рабоче-крестьянский припой 60/40 (ПОС-60 в советской номенклатуре), а что-то намного более легкоплавкое.

Что я могу сказать? Умные люди были правы. После полутора часов езды по федеральному шоссе этот самый датчик температуры у меня распаялся нахер. А когда он то отсоединяется, то замыкается (так, и не понял, как), температуры дрыгателя скачет от -∞ до +∞. Когда температура -∞, то бортовой компьютер отключает блокировку гидротрансформатора (overdrive), чтобы поднять обороты двигателя — типа ему холодно, нехай погреется. А когда +∞, то у меня вырубается кондиционер нафиг — ты чо, хозяин, дрыгателю и так тяжко, а ещё ты тут со своим кондиционером. Хоть спасибо, печку не включало — по нашим-то +37С. Так и едёшь — то дрыгатель орёт на повышенных оборотах, то в рожу дует раскалённым забортным воздухом.

Переделал с нуля все провода, и в этот раз я паял их нормальным 60/40 (tплав 183C). Полёт вроде нормальный. Век живи — век учись.

Как обойти пейволл Нью-Йорк Таймз

Всё просто.

1. В любой браузер ставим uBlock Origin.
2. Идём на https://www.nytimes.com
3. Открываем настройки uBlock Origin и блокируем для этого сайта весь жабаскрипт:


4. ПРОФИТ!

Не благодарите.

Продолжаю радоваться карандашу

Я тут писал, как сильно меня радует восковый карандаш “Маркл”. Он продолжает меня радовать, и во многих-многих областях.

Разметить паркет под распилку? Пожалуйста:

Пометить, как стоял винт регулировки схода-развала на афффто, чтобы потом не сдаваться на СТО? Да легко!

Великолепный продукт, шикарный просто. Пишет буквально на всём. Из похожего по функционалу назову только если маркеры с краской. Но в них плохо то, что их надо сначала долго трясти, чтобы смешать внутри краску, прежде чем он будет писать. Плюс он может засохнуть. Ещё неплохи маркеры типа “Минстрик” (Mean Streak marker), но они реально здоровенные, как восковые карандаши для детей, и пишут широкими линиями. А тут — очень аккуратно и довольно тонко.

Плюс если надо стереть — воск стирается просто пальцем. Фиг ты краску так просто ототрёшь. Керемендую.