Heck yeah!

Вот это совсем дру­гое дело. Теперь мой канал в OnlyFans мож­но будет стри­мить в 8k в режи­ме реаль­но­го вре­ме­ни.

А если более серьёз­но, то отме­чу не толь­ко замет­но воз­рос­шую про­пуск­ную спо­соб­ность тру­бы «от меня», но и чудо­вищ­но низ­кий пинг. Он умень­шил­ся в пять-шесть раз.

В прин­ци­пе, моя коро­боч­ка с pfSense лег­ко потя­ну­ла бы и боль­ше — но потре­бо­ва­лась бы капи­таль­ная пере­дел­ка всей внут­ре­до­мо­вой сети на CAT6, апгрейд всех ком­му­та­то­ров… в‑общем, этот сок не сто­ит выжим­ки.

На собаках, что ли, доставляли?

Впер­вые на моей памя­ти посыл­ка «Ю‑Пи-Эс» умуд­ри­лась про­ез­дить целый месяц внут­ри одно­го горо­да, Онта­рио, что в сол­неч­ной Кали­фор­нии (не в Кана­де).

Короб­ка при­е­ха­ла в доволь­но адском состо­я­нии, но содер­жа­ние целё­хонь­ко. Так как коро­боч­ка была доволь­но малень­кой (мини­а­тюр­ные све­то­ди­од­ные лам­поч­ки), ван­гую, что зака­ти­лась куда-нибудь в щель внут­ри гру­зо­ви­ка, и так там и ката­лась, пока её кто-то более дотош­ный не обна­ру­жил.

Корретто мне, корретто!

Дав­нень­ко не дово­ди­лось тро­гать Джа­ву — и ока­за­лось, что с тех пор мно­гое успе­ло поме­нять­ся.

Во-пер­вых, ещё в 2011 году Сан/Оракл нако­нец откры­ли исход­ни­ки Джа­вы — ну, про это уже было извест­но. Та самая откры­тая Джа­ва появи­лась, напри­мер, в Шап­ке.
А во-вто­рых, в 2018 году Оракл (види­мо, решив поэкс­пе­ри­мен­ти­ро­вать с реаль­но­стью) объ­явил, что дол­го­сроч­ную под­держ­ку сво­ей JDK они боль­ше бес­плат­но давать не будут. А к это­му момен­ту Джа­ва уже рабо­та­ла в бес­чис­лен­ных облач­ных и не толь­ко про­ек­тах, так что вен­до­ры поче­са­ли репу и реши­ли, что дешев­ле и про­ще будет раз­ли­вать этот кофий само­сто­я­тель­но.

И понес­лась… Все нача­ли кле­пать свою Джа­ву — и теперь у нас есть вари­а­ции от Ама­зо­на, Azul, SAP и даже само­го Мик­ро­соф­та (!) Китай­цы тоже под­су­е­ти­лись: теперь своя вер­сия есть у Али­ба­бы, Тен­сен­та, Хуа­вея… Рус­ские не оста­лись в сто­роне и тоже раз­ли­ли этот кофий в свой само­вар; для госу­дар­ствен­ных про­ек­тов суще­ству­ет, напри­мер, Аст­ра JDK. В ней, к сло­ву, есть под­держ­ка рус­ской крип­то­гра­фии ГОСТ-2012.

В общем, про Оракл (и их чудо­вищ­ный сайт) нын­че мож­но забыть как про страш­ный сон — бери любую Джа­ву, какая нра­вит­ся, и исполь­зуй под свои нуж­ды. Боль­ше нет нуж­ды свя­зы­вать­ся с их «род­ной» JDK и её тупо­ры­лым, бес­смыс­лен­ным, и тор­моз­ным уста­нов­щи­ком.

Для себя выбра­на Ама­зо­нов­ская чаш­ка под кра­си­вым назва­ни­ем «Кор­рет­то». Это, если что, такой кофей­ный напи­ток — эспрес­со с капель­кой алко­го­ля, тра­ди­ци­он­но — с грап­пой.

Уста­нов­щик их JDK отлич­ный, про­дукт поста­вил­ся момен­таль­но. В каче­стве IDE была выбра­на IntelliJ IDEA CE вме­сто уста­рев­ше­го в коря­гу Эклип­са. Эклипс, конеч­но, про­дукт заслу­жен­ный, но застыл по раз­ви­тию году при­мер­но в 2005. Откры­лись ста­рые исход­ни­ки пису­лек деся­ти­лет­ней дав­но­сти, и, не пове­ри­те, всё ском­пи­ли­ро­ва­лось и запу­сти­лось. Даже уди­ви­тель­но (и при­ят­но). Совре­мен­ная Джа­ва по про­из­во­ди­тель­но­сти теперь, поди, ещё боль­ше уде­лы­ва­ет енту вашу коря­гу под назва­ни­ем «Си-плюс-плюс» 😉

Шаббат шалом

«Ящи­таю» ©, что у хоро­ше­го сисад­ми­на дол­жен быть не толь­ко пра­виль­но­го диа­мет­ра, гра­мот­но намо­лен­ный бубен, но ещё и спе­ци­аль­но обу­чен­ная сисад­мин­ская ермол­ка.

Наде­ва­ет­ся эта ермол­ка акку­рат утром в пят­ни­цу, после вос­хо­да солн­ца — что­бы напо­ми­нать нам, что в пят­ни­цу мы, кибе­не­мат, про­дак­шен не тро­га­ем под стра­хом поби­ва­ния витой парой. Пото­му что если что-то грох­нет­ся — то выход­ные пой­дут коту под хвост.

Но сего­дня один наш орёл решил про­ве­рить гра­ни­цы миро­зда­ния и пере­гру­зил кла­стер вир­ту­а­ли­за­ции Hyper‑V. ВЕСЬ. Не по одно­му хосту, не акку­рат­но и пооче­рёд­но — а сра­зу всё, одно­вре­мен­но, чтоб навер­ня­ка.

Упа­ло, сла­ва Зев­су и всем богам SLA, не очень мно­го — бла­го пере­за­груз­ка была ещё до нача­ла рабо­че­го дня. Но доста­точ­но для того, что­бы наша мама (фин­ди­рек­тор) напи­са­ла недо­умён­ное:

«Ребя­та, у нас сего­дня вооб­ще-то зар­пла­та начис­ля­ет­ся. Вы там что, реши­ли устро­ить при­клю­че­ние с утра порань­ше?»

А зар­пла­та (и наша мама) — это свя­тое.

Хвост сисад­ми­ну мы, конеч­но, слег­ка под­ров­ня­ли, но дело, увы, уже было сде­ла­но.

Шаб­бат шалом. И пят­нич­ный прод стань­те же кто-нибудь охра­нять. Жела­тель­но, с бейс­боль­ной битой наго­то­ве.

Хроники похудения

Вес, тем вре­ме­нем, пре­одо­лел отмет­ку в 215 фун­тов (~97 кг). Без боро­ды и про­чей шер­сти на теле, сбро­сив ито­го 25 фун­тов (это со стар­то­вой пози­ции — быва­ло на мне и поболь­ше), при­то­па­ли мы к тёще и тестю на День Бла­го­да­ре­ния, где были род­ствен­ни­ки, кото­рые меня дав­но не виде­ли. Меня тупо не узна­ли.

Было забав­но наблю­дать пани­че­ское состо­я­ние в гла­зах одно­го род­ствен­ни­ка, у кото­ро­го на лице пря­мо чита­лось: “Я дол­жен знать это­го чело­ве­ка, но абсо­лют­но не пом­ню, кто это”. На его сча­стье, его супру­га меня узна­ла (у жен­щин ней­ро­сет­ка для рас­по­зна­ва­ния лиц в разы кру­че муж­ской), назва­ла меня по име­ни — и его пани­ка мгно­вен­но сме­ни­лась облег­че­ни­ем: “А, ну да, конеч­но же, как я мог забыть!”

Про­дол­жаю наблю­де­ния.

Дозу Зеп­ба­ун­да, тем вре­ме­нем, при­шлось уве­ли­чить до 7.5 мил­ли­грам — 5mg уже не рабо­та­ют. Прой­де­но уже боль­ше поло­ви­ны пути — до финаль­но­го веса в 195 фун­тов оста­лось мень­ше, чем уже полу­чи­лось сбро­сить.

Совре­мен­ная фар­ма­ко­ло­гия рулит. Цыган с клуб­нич­ным пиро­гом в гости пока не при­хо­дил (люби­те­ли Сти­ве­на Кин­га оце­нят).

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

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