Вы издеваетесь?

В связи с сильной потерей веса хочешь не хочешь, а пришлось менять джинсы — старые тупо сваливались.
Раньше у меня был размер 38×32, а теперь стал… 14L.
Эта цифра мужчинам ничего не скажет, потому что мужчины вообще незнакомы с тем, как измеряется женская одежда.
Да, помимо смены размера одежды, моё решение было заодно сменить и пол одежды — “чтоб два раза не вставать”. Благо, сейчас очень модны андрогинные, просторные, унисекс-покрои джинсов, которые могут носить решительно все. Например, вот такие, American Eagle Barrel Jeans:

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

Вотжежблин.
И это ещё вариант-лайт: в некоторых женских джинсах передние карманы вообще декоративные, “чтобы не портить силуэт”.

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

Итог: джинсы хорошие, но карманы — издевательство.
Придётся привыкать.

Zootopia 2

Отличный семейный мультфильм! Смело можно идти всей семьёй: понравится мальчикам, девочкам, их родителям, и всем прочим сочувствующим. Просмотр первой части, конечно, помогает — просто чтобы в первые минуты не путаться в действующих лицах, — но вовсе не обязателен.

В фильме полно культурных отсылок — к другим диснеевским мультам и не только к ним. Музыка тоже на высоте: в одной из главных тем снова отметилась Шакира наша Мебараковна в образе газели.

Что касается «повесточки» — да, она есть, но в весьма вменяемом виде. По сути фильм про джентрификацию: это когда из старых неблагополучных (но козЫрно расположенных) районов разными способами выдавливают местных бедолаг, чтобы заселить туда более платёжеспособных граждан. В зависимости от того, как именно это делается, явление может быть и положительным, и откровенно токсичным — и мультфильм аккуратно это показывает.

В-общем, мне очень понравилось, рекомендую всем.

Вчера FSLogix душили-душили

Запись будет интересна в основном сись-одминам. Так, заметки для себя и для своих.

FSLogix — это современная замена тому, что Microsoft раньше называл Roaming User Profiles. Самый большой их недостаток был в том, что профили хранились на контроллере домена. А контроллер — это, сюрприз-сюрприз, не файловый сервер. Нехрена на нём хранить всякий хлам, типа десктопных иконок, AppData, эскизов и прочей файлопомойки.

FSLogix работает по-другому: для каждого пользователя, логинящегося в систему, создаётся персональный VHDX-файл, который монтируется как его профиль. Хранится VHDX уже правильно — на файловом сервере. Поэтому куда бы ты ни залогинилась — хоть на физическую машину, хоть на VDI — ты везде получаешь свой рiдний профиль со всеми настройками. Для лучшего эффекта профили желательно держать на шаре, стоящей на SSD, и неплохо бы, чтобы файловый сервер был подключён, как у больших дяденек, через 10+ гигабит.

Самое распространённое применение FSLogix — фермы виртуальных десктопов. Ага, это именно туда мне недавно пришлось вписать 66 тупорылых пользователей, из которых отдельные граждане вместо .com писали .cum. Не хочу даже думать, какие сайты они до этого посещали. Мда.

Чтобы включить FSLogix, надо скачать клиент, поставить его на каждую клиентскую машину (можно через групповые политики), а затем засунуть ADMX/ADML-шаблоны в SYSVOL на все контроллеры доменов, как положено, чтобы появилась новая групповая политика.

Всё нужное берётся здесь:
https://learn.microsoft.com/en-us/fslogix/

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

Самое сложное — настроить разрешения НА ШАРЕ ТОЧНО ТАК, КАК НАДО, иначе FSLogix будет устраивать тебе цирк с конями и каждый раз выкидывать “Access Denied”. Вот докУмент, который надо читать очень внимательно. Мне понадобилось два дня плясок с бубном и заячьей лапкой, чтобы всё наконец заработало:
https://learn.microsoft.com/en-us/fslogix/how-to-configure-storage-permissions

Для лучшей иллюстрации чувствительности прав: при правильно выставленных ACL команда mkdir на этой шаре с клиентской машины должна успешно создавать папку.
Но вот попытка создать файл (например, New-Item) должна отфутболиваться с Access Denied.
Так FSLogix и определяет, что дерево разрешений настроено идеально: директорию сделать можно, файл — нельзя. Если это поведение не совпадает — значит, права опять где-то поехали, и пора доставать бубен.

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

Котополицейский

Смерть на мягких лапах. “А глаза добрые-добрые”.

“Ну что, бурундучила… допрыгался?”

Котяра продолжает честно отрабатывать положенный ему по штату паёк. Бурундуки — это хорошо. Это почти белки. Если он и белкам устроит цугундер, будет прямо вообще красота.

Что-то с партией моей стало…

У меня на протяжении довольно длительного времени к республиканцам было отношение… ну, скажем так: с пониманием. Не фанатично, но со взглядом извне, где ценишь идею маленького государства, индивидуальной свободы и права человека самому решать, как жить, во что верить, что носить, и чем защищать свои уши на стрельбище. “Меньше правительства, больше свободы”, “оружие — это право, а не привилегия” — всё вот это вот. Нормальная такая классическая американская либертарианская песня. С припевом про Founding Fathers.

А теперь у нас вместо песни какие-то марши играют. И как бы не похожие на немецкие, годов эдак 1930-х. Как известно, у нас отменили налог на покупку оружия, подпадаемого под акт NFA, как-то: кулемёты, ручные бонбы, обрезы, глушаки, и так далее. Мне из этого всего интересны были — только глушаки, кулемёт кормить — это никаких бабок не напасёсся. Ну, и после этого группы по защите прав на оружие, включая моих любимых GOA, влепили иск — “Ребята, если налог нынче составляет нуль без палочки талеров, на каком основании вы, собственно, всё это продолжаете регулировать?”

Ну, и сегодня наш рідний Минюст под руководством Памелы Бонди (да-да, при администрации Трампа) врубил то, что обычно включают демократы: Commerce Clause и Necessary and Proper Clause. То есть буквально говорит: “А знаете, Конгресс вообще может почти всё, если мы назовём это исполнением федеральных полномочий”.

И это уже не про глушаки или обрезы. Это про то, что партия, которая годами кричала о “чрезмерном вмешательстве федерального правительства”, теперь сама бодро объясняет суду, что у федерального правительства руки-то длинные, и, вообще, не мешало бы их ещё удлинить.

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

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

И тут я ловлю себя на неприятной мысли.

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

Оказалось, нет. А там, где у GOP начинается реальная возможность уменьшить государственное вмешательство — они внезапно становятся очень даже ЗА вмешательство. Особенно если это можно продать как Законъ и Порядокъ™.

И вот я смотрю на всё это и думаю: что-то с партией моей стало.

Причём стало не сегодня и не вчера. Просто раньше как-то мы по большим количествам вопросов сходились, чем теперь. Теперь у нас вообще — реально ничего общего. Dude, where’s my party? Серьёзно, вы вообще кто теперь такие?

PS: Сегодня в GOA ушёл небольшой донат. Поглядим ещё, кто кого.

Домашне-сисадминское

Я, конечно, очень люблю TrueNAS Core. Ибо FreeBSD, и это тру. Он позволяет дома из говна и палок поднять весьма серьёзную инфраструктуру: ZFS с RAIDZ, снапшоты, репликации, iSCSI, SMB, NFS, виртуальные машины, алерты — всё это работает, и работает стабильно и предсказуемо.

Но есть у Core одно характерное свойство, которое периодически, как фи тепер тошше коффорите по-русски, анноит: чрезмерная щепетильность в отношении состояния пула.

ZFS обнаружил один бит, который не совпал? Автоматически восстановил блок из паритета? Скраб подтвердил целостность?

С точки зрения ZFS — всё прекрасно. Но с точки зрения TrueNAS — “Пул дисков нездоров! Срочно, срочно! Хватай мешки — вокзал отходит!”

Core упорно считает пул проблемным до тех пор, пока:

  1. Администратор лично не зайдёт в интерфейс или консоль,
  2. Не проверит SMART по каждому диску,
  3. Не убедится в отсутствии деградации,
  4. Не подтвердит, что ошибка была исправлена,
  5. И вручную не снимет памперсы тревогу командой zpool clear.

Даже если произошёл единичный, случайный сбой — будь то мимолётная проблема в SATA, кратковременный таймаут контроллера, одиночный флипнутый бит в оперативной памяти (не ECC, ибо говно и палки) от обычного фонового излучения, или любая другая разовая аномалия — и ZFS полностью восстановил повреждённый блок из паритета, TrueNAS всё равно ожидает ручного вмешательства: администратор должен зайти, проверить и формально подтвердить событие.

С точки зрения надёжности подход формально оправдан: ZFS может восстановить блок, но факт возникновения ошибки — это всё же диагностическое событие.

Но на практике это приводит к тому, что после любого минимального чиха — одна исправленная контрольная сумма, один сбой чтения, одно кратковременное событие в канале передачи данных — TrueNAS сообщает о “нездоровом” пуле, и срочно требует ручной проверки.

Иногда хочется, чтобы система умела говорить проще: “Да, демоны были. Мы этого не отрицаем. Но они самоликвидировались.”

Но философия TrueNAS Core другая: каждый сбой должен быть зафиксирован, проверен и подтверждён человеком. Нравится это или нет — это часть его дизайна. Но иногда… анноит.

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

Дано: отказоустойчивый кластер 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-профессиях, но в сисадминстве ИИ — это чудовищной мощности умножитель силы, который позволяет за то же время делать гораздо более сложные проекты.

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

Рабоче-покупное

Ищу я, значит, замену блоку питания для старого PoE-свитча, на котором висят камеры наблюдения (свитч модульный, старенький, но родной — и уже настроенный, как надо). На Амазоне нашёлся подходящий вариант.

Никогда в жизни мне не встречалось настолько вычурное написание входного напряжения, дорогие друзиа!

2.4E+2, ага.

Это у нас, если перевести с языка экспоненциальной записи, обычно применяемой где-нибудь в науке, кибернетике, или при вызове ЗГОГГов, — обычные, стандартные, родные, человеческие 240 вольт.

Зачем они так выпендрились — зогадко, честное слово. Может, надеялись впечатлить кого-то, кто по ночам тайком, украдкой, гладит свой осциллоскоп?

Ишь какие нынче есть

Как уже сообщалось в моей стенгазете, у меня потёк антифриз. Замена верхнего шланга и пружинного хомута, увы, проблему не решила. Было решено заменить сначала хомут — вдруг он барахло? Оказалось, да, таки барахло. Или может быть, что пружинный хомут сидел не так плотно. Ну, а что вы хотите, когда сталкиваются миллиметры и наши freedom units? По субаровскому мануалу нужно 44mm, а 1¾ дюйма — это, конечно, почти то же самое… но в местных попугаях оно всё же самую чуточку длиннее.

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

Выяснилось, что нынче промышленность изготавливает прикольные червячные хомуты, называемые “постоянно-моментными” (извините, не знаю точно, как будет по-русски constant torque).

Выглядят они вот так:

Внутре “червяка” стоит нейронка пружина, которая поддержает стабильное усилие зажима при изменении температуры, вибрациях и “усадке” материала. Благодаря этому давление на патрубок радиатора остаётся постоянным, а герметичность — надёжной даже после множества циклов нагрева и охлаждения.

Так что хомут был заменён, и протечка антифриза ушла, как не было её. Результат прекрасный, буду всем такие хомуты теперь рекомендовать — ну, по крайней мере там, где соединение регулярно проходит циклы расширения и сжатия.

Единственный минус — дороговаты. Двенадцать монет за штуку, японский бог, как с куста.

Про собрание PFLAG

Ну, многим, наверное, любопытно, как прошло моё первое собрание в этой замечательной организации. Скажу сразу — ушлоcь с ощущением теплоты, и возвращаться туда — хочется. Тем более что встречи проходят раз в месяц — самое оно, чтобы не успеть устать и при этом не потеряться.

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

Самое заметное: подавляющее большинство участников — женщины. Увы, вполне предсказуемо, ничего нового под луной. Почему? Потому что мужчины, увы, в массе своей предпочитают страдать молча, героически, и до конца — обычно своего же. Вот откуда и растёт вся эта грустная статистика:

  • В США только 40% мужчин с психическими проблемами получают соответствующее лечение. Среди женщин — 52%.
  • В Великобритании мужчины в три раза чаще уходят в алкоголь или наркотики.
  • Около 40% мужчин никогда никому не рассказывали о своих психологических трудностях.
  • Ну и вишенка на этом мужском тортике: мужчины в четыре раза чаще женщин кончают жизнь самоубийством.

Причины? Всё просто: культ “настоящего мужика”, которому нельзя быть уязвимым; страх прослыть “слабаком”; отсутствие безопасных мест, куда можно прийти и просто сказать: “Мне хреново”. Да и прилетает за такие слова обычно от своих же. Это вот та самая “токсическая маскулинность”, над которой нынче издеваются. Дарагие мужские друзиа! От “токсической маскулинности” страдаете в первую очередь вы сами. Цифры — вон они, выше.

А знаю, что из за несколько технической направленности этого журнала, аудитория моего блога — в основном мужчины. Мужики, блин, ну серьёзно, делайте выводы. Мир не рухнет, если вы хоть раз поговорите честно о собственных чувствах.

Так что картина была вполне понятная: основная часть зала — лесбиянки, включая поженившиеся пары. Были несколько мам с трансгендерными детьми, включая маму с транс-сыном лет двадцати. Среди “своих” — приятно, спокойно, по-домашнему.

Но больше всего меня поразило одно: пожилая гетеросексуальная пара, которой уверенно за семьдесят. Они пришли поддержать пастора той самой Методистской церкви, который тоже был там. Просто союзники. Спокойные, тёплые, надёжные. Настоящая старая школа человечности.

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

Самое приятное — никто ни на что не реагировал драматически. Когда прозвучало, что у меня уже три месяца идёт феминизирующая ГТ, никто не сделал большие глаза, никто не начал читать лекции, никто не пытался “разобраться в причинах”. Просто улыбнулись, поздравили. Очень спокойная, тёплая реакция — как и должно быть в нормальном мире.

На выходе неожиданно пришло ощущение, что давненько не было так спокойно среди людей. Как будто нашлось маленькое пространство, где никто не проверяет тебя на прочность и не пытается найти “подвох”.

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

И если кто-то читает это и сомневается, идти ли на своё первое собрание, — ответ простой: приходите обязательно — здесь принимают любых. Этого более чем достаточно.