M9K blog

Заметки ITшника обо всём

Путешествие в Сербию. Заметки. Понедељак

Стамбул

Будильник вырывает из вязкой мешанины недоснов. Пять часов сна — достаточно, чтобы мозг признал происходящее новым днём, но недостаточно, чтобы тело перестало возмущаться. Чтож, дорога не ждёт.

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

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

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

Сербский нацпер радует пунктуальностью. До вылета сорок минут, а посадку уже объявили. Длинный стеклянный телетрап ведёт к самолёту. У входа стюардесса с резким лицом.

— Morning…
Секунда зрительного контакта.
— Добро јутро!
— Добро, — автоматически отвечаю.

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

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

Час пролетает между полудрёмой и попытками бодрствовать.
— Дамы и господа, наш авион се спушта…

Ещё пятнадцать минут — и шасси мягко касаются полосы.

Белград

Пассажиры неторопливо бредут к табличке «Излаз». Несмотря на то, что Белград в частности, и Сербия в целом не очень большая страна, аэропорт здесь что надо. Несколько минут блужданий — и я у контрола пасоша.

Передо мной китаец пытается объяснить пограничнику, бывал ли он в Сербии раньше. Разговор идёт тяжело. Когда подходит моя очередь, процедура оказывается куда проще: беглый взгляд на паспорт, лёгкий жест в сторону единственного открытого окна — и через десять секунд в документе появляется новый штамп. Добродошли.

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

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

По пути проверяю мењачницы. Работает только автомат — и курс у него такой, будто он считает евро сувенирной валютой. Ну и ладно: общественный транспорт в Белграде бесплатный, так что срочной необходимости менять деньги нет.

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

Маршрут кружит между блоками Нови Београда. По мере приближения к центру салон заполняется — город просыпается. Где-то возле Палаты Србије начинает брезжить рассвет, мягко подсвечивая бетон.

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

Сырой воздух Савы наполняет лёгкие. Перед глазами — тот самый брутальный Белград из фотографий: массивный, тяжёлый, суровый и удивительно живой. Спускаюсь минут десять к автобусной остановке и успеваю вскочить в уходящий транспорт буквально за секунду до закрытия дверей. Ещё пять минут по лабиринтам старого города — и я уже на Кнеза Милоша. Дальше — пешком.

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

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

Сербия прекрасна своей непредсказуемостью архитектуры. Никогда не знаешь, что скрывается за дверью обычного дома. Внутри — бруталистский модернизм в удивительно хорошем состоянии. Лифт со старомодными створками, стеклянные витражи, плитка с мраморной крошкой. Дом явно родом из ранней социалистической Югославии и сохранил дух той эпохи. Особое удовольствие — массивные деревянные двери квартир.

Поднимаюсь по лестнице на пятый спрат. Мой стан — 24, напротив — 25-ая, дверь с табличкой. В странах бывшей СФРЮ с приватностью не слишком церемонятся: фамилии жильцов пишут открыто. На табличке — «Милошевић». Фамилия распространённая, но всё равно вызывает невольную ассоциацию.

Достаю ключ, открываю дверь.

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

Две комнаты, кухня, коридор, балкон, совмещённый санузел. Человек, обустраивавший жильё, явно не следовал строгому дизайн-проекту, но получилось гармонично. Всё функционально, без лишнего пафоса. Самое то для путешественника.

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

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

Это уже не первый раз в Белграде, но то самое секундное оцепенение «знакомого-незнакомого» никуда не исчезает и на третий приезд. Продираюсь к Манежу между плотно запаркованными автомобилями и очередной стройкой. Как и прежде, всё вокруг покрыто слоями граффити — местами свежими, местами выцветшими до призрачных контуров. Увы, это неизлечимая болезнь этого чудного города. Глаза цепляются за относительно новую надпись: «blokaderi-teroristi». На всякий случай сверяюсь с переводчиком — да, смысл уловлен верно. Контекст событий в Нови Саде делает всё ещё понятнее.

Родственные языки вообще интересны тем, что позволяют наблюдать живую эволюцию речи. Где-то изменена форма, где-то тот же корень оброс другими аффиксами, где-то работает простое созвучие. Это нельзя назвать знанием языка — скорее интуитивным восприятием, ощущением смысла сквозь оболочку слов.

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

Пекаре здесь открываются с шести-семи утра. Захожу — и запах свежего хлеба буквально сбивает с ног.
— Добро јутро!
— Добро јутро… Молим вас, бели хлеб и вишња пуф.

Продавщица кивает, быстро собирает заказ.
— Картица?
— Нема терминала.

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

Возвращаюсь в стан, распаковываю покупки. Часть — в холодильник, часть — на стол. Пора подкрепиться. Булка с йогуртом исчезает почти мгновенно, пока я смотрю через окно на внутренний двор, где жизнь только начинает просыпаться. Телефон звякает — на связь вышел власник. Договариваемся встретиться во второй половине дня.

Восемь утра. Организм окончательно потерялся между часовыми поясами. Принимаю стратегическое решение подремать час-полтора, а уже потом выдвигаться к первому тревел-пойнту. Ложусь на кровать. Свет пробивается сквозь занавески, и тело, несмотря на усталость, упорно считает, что сейчас день, а не время сна. Минут пятнадцать ворочаюсь — и наконец проваливаюсь в лабиринт смутных образов… из которого меня безжалостно вырывает звук мессенджера. Блин.

Девять утра. Видимо, пора выходить «на Бродвей». По дороге заглядываю в мењачницу, получаю заветные динары и делаю крюк к той самой пекаре. Продавщица сначала смотрит с недоумением — зачем этот человек пытается дать деньги просто так? — затем вспоминает и расплывается в улыбке. Ну вот, гора с плеч. Не люблю быть должником.

Выхожу на Милана, делаю пару снимков таблички «Ne blokiraj raskrsnicu, molim!» — для неносителя языка звучит почти как заклинание — и сажусь в трамвай. Здесь они двух типов: привычные татры, словно напрямую из преисподней (иначе непонятно, на какой энергии держатся атомы этого уставшего металла), и б/у вагоны из Базеля, эффектным жестом подаренные (и заодно снятые с учёта) богатым швейцарским городом.

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

Поворачиваю голову — и вижу цель. Западные врата Белграда, они же Рудо, один из символов города. Я говорил о небанальности социалистической архитектуры? Здесь она возведена в куб. Продираюсь через дворы и буераки — и оказываюсь прямо у подножия комплекса.

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

Обхожу башни по кругу, достаю камеру, делаю пристрелочные кадры. Я знал, зачем сюда ехал.

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

Возвращаюсь к трамваю сквозь дворы домов, которые будто тоже устали жить свою непростую сербскую жизнь. В вагоне пару раз улавливаю русскую речь. Туристы? Эмигранты? Неясно.

На полпути выхожу — впереди магазин одного из белградских брендов уличной одежды. Когда-то я уже бывал здесь и по смутным воспоминаниям нахожу нужную дверь. Захожу. Коллекция обновилась слабо. Есть вещи, которые хотелось бы взять, но пока не понимаю — зачем. Выхожу. Подумать можно и позже.

По карте рядом ещё одна точка интереса. Блуждаю по переулкам, нахожу её — и почти сразу разочаровываюсь. Это явно не то место, где хочется задерживаться. Начинает накрапывать дождь, что только ускоряет решение возвращаться в центр.

Где-то по дороге возникает мысль: а не заглянуть ли в книжару? В местном art district нахожу модный книжный магазин. Ассортимент огромный, но ничто не цепляет. Уже на выходе замечаю сербский перевод Пелевина. Забавно: автор новорусского новояза, переведённый на новояз сербский. Покупать не тянет, но мысль появляется — Белград ведь город притяжения русских, должны быть и специализированные книжные точки.

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

Пора возвращаться — скоро встреча с власником. В стане завариваю кофе, сажусь за ноутбук обработать фотографии — башни Рудо дали богатый материал. Время идёт, кофе заканчивается (дважды), фотографии разобраны, даже успеваю изучить обновления от Adobe — хозяина нет. Я слышал про сербское «полако», но чтобы человек не спешил получить деньги за жильё…

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

К вечеру в голову приходит новая шальная идея: съездить к Генексу. В Новом Белграде я бывал днём, но интересно посмотреть, как всё выглядит в искусственном свете.

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

У Генекса я раньше тоже бывал днём, но почему-то здесь и сейчас, в ночной тьме он произвёл особо гнетущее впечатление. Левая башня с рекламой, нежилая, мёртвая создала ассоциацию с раковой опухолью. Площадка за башнями реально выглядит как свалка. Организм отреагировал на это своеобразно, заявив, что пора спать. Разница — шесть часов. Ок, смысл спорить с тобой нет.

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

Забрасываю продукты, почти срываю с себя одежду и падаю на кровать.

Моооорррфффеееййй.

Путешествие в Сербию. Заметки.

Новосибирск

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

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

Прохожу. Начинаю сомневаться в правильности решения. Помните начало «Субстанции»? Хочешь сделать что-то некрасивым — сними это максимально близко. Красивый лицевой портрет превратится в чёрт знает что, если кропнуть его до различимости пор. Эстетичное женское ню при чрезмерном приближении станет пособием проктолога-гинеколога-дерматовенеролога. Узкая платформа собирает чудной люд разной степени неприятности: какие-то сумрачные тётки, прыщавый подросток, залихватски рассказывающий про очередную танковую имбу, отвратительный мужик, решивший, что перрон — идеальное место, чтобы покурить.

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

Станция назначения встречает гололёдом. Узкая скользкая лестница, которая должна бы вести прямо в травмпункт — сколько жертв на тебе было? Толчея на выходе, толчея в переходе. Пока поднимаюсь, заказываю машину. Ожидание пять минут, но тут вечные проблемы с разворотами. Захожу в магазин погреться, пока жду.

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

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

Захожу в здание. Внутри — привычный театр безопасности, но сегодня без драматургии: всё проходит быстро. Сегодня нам в международный терминал. Прохожу через «крытую» галерею — там привычно холодно. Интересно, что думают редкие иностранцы, которые всё-таки добираются до «столицы» Сибири, о таком архитектурно-утилитарном решении?

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

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

Протискиваюсь между пассажирами, не выгребшими заранее металл из карманов. Сорок минут — и я по ту сторону формальностей. До посадки ещё час — можно перевести дух. Захожу в местную едальню, привычно заказываю лимонад. Не то чтобы он был необходим, но тут есть столики и гарантированно рабочие розетки. Можно расслабиться и спокойно поработать за ноутбуком. Минут через десять понимаю, что желудок урчит. Ладно, попробуем местную высокую кухню.

Смотрю на табло. До посадки десять минут — пора собираться. Выхожу к гейту. Сегодня 737-й, полный. Народу — тьма. Объявляют посадку, но новые реалии стабильны: «Авиакомпания приносит свои извинения, задержка вызвана подготовкой самолёта». Ну, самолёт хотя бы на перроне — уже хорошо.

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

Усаживаюсь. Место хоть и Extra Space, но не сказать, что слишком комфортное. В этом плане Airbus-ы интереснее. Плюс расстраивает время — 6:50. Мы же знаем, куда летим, и понимаем, что ближайшие семь с половиной часов это кресло станет пристанищем.

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

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

Часы текут вязко. Иногда прохожусь по салону, иногда ем, иногда просто смотрю в иллюминатор на бесконечное небо. Всё это постепенно превращается в одно длинное «между».

Посматриваю в Organic Maps. Двести двадцать километров до цели, юг Чёрного моря. Бодрая скороговорка: наш самолёт приступил к снижению. Заходим в петлю над азиатской частью Стамбула, разворачиваемся над Кючюкчекмедже, выходим на глиссаду. Метры тают, полоса приближается. Мягкое касание — самолёт скользит по бетону. Здравствуйте, мы в Турции.

Стамбул

Впрочем, это не в первый раз, поэтому мы никуда не спешим. IST огромный, и рулёжка — ещё минут двадцать минимум. Так и есть: гейт, мягко говоря, далековат. Наконец выпускают. Как же приятно размять ноги! Идём на контроль. Там толчея, но к чести местных пограничников работают они быстро. Ещё десять минут — и размашистый штамп подтверждает наше право ступать по Малой Азии.

Привычный маршрут: багаж, таможня, зелёный коридор. Выхожу в зал прилётов. Чёрт, не помню, какой выход ближе к метро. Указатель ведёт к 13-му. Выхожу — обман, тысяча чертей. Идём к 11-му.

В метро транспортная карта оказывается ещё живой — на ней даже остались деньги. Маленькая победа путешественника.

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

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

Приносят суп и пиде. От размеров глаза лезут на лоб. Где-то на половине останавливаюсь, прошу счёт и упаковать остатки с собой. Это реально на двоих, а то и на троих. Завтрак на завтра готок.

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

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

Меморис: цены на железо

В очередной раз совершив психологическую атаку на директорию «Разобрать (Мусор ( Новая папка (347)))» наткнулся на собственную калькуляцию на заказ на ПК от июля 2020 года.

В реалиях цен рф ничего под данный бюджет уже не существует из актуального в целом. Если брать более открытый рынок РК, то плюс-минус в бюджете остались корпуса да CPU.

Proxmox 7 + Debian 12|13 LXC Template

У Proxmox есть неплохая обратная совместимость с более свежими версиями LXC-контейнеров по сравнению с той версией Debian, на которой основан текущий релиз. В нашем случае используется Proxmox 7 (на базе Debian 11).

При попытке создать контейнер получаем ошибку вида:

TASK ERROR: unable to create CT 100 - unsupported debian version '1X'

Для обхода проблемы правим файл
/usr/share/perl5/PVE/LXC/Setup/Debian.pm в двух местах.

Обновляем карту версий:

my $version_map = { 'stretch/sid' => 9.1, 'buster/sid' => 10, 'bullseye/sid'=> 11, 'bookworm/sid'=> 12, 'trixie/sid' => 13, 'kali-rolling'=> 11, };

Расширяем допустимый диапазон версий:

if !($version >= 4 && $version <= 14);

После этого перезапускаем связанные демоны:

systemctl restart pvedaemon 
systemctl restart pveproxy

Готово, контейнер успешно создаётся.

Разумеется, это грязный хак: при обновлениях Proxmox изменения будут перезаписаны, так что решение подходит только как временное.

Меморис: цены на память.

Тёмная сторона силы GM в 2026 — это неадекватный ценник на компьютерное железо. Зашёл посмотреть свою историю заказов в ритейлере, который есть и в РК, и рф, и бодро подивился на цифру.

За полгода ценник сделал бодрый x6. Наверно, мало какой товар на планете показывал такие сумрачные цифры роста. Помнится, даже в середине десятых, когда был первый криптобум, и все массово ломанулись скупать видеокарты, рост был и то не такой впечатляющий.

«Источник» бед резюмирует:

Рост цен на ОЗУ сейчас (2025—2026): ~200—300%+ за год — можно сказать, почти трёхкратный взрыв.
Рост цен на видеокарты в криптобум (2016—2018): обычно ~30—70% над MSRP (из-за дефицита, спекуляций, спроса майнеров).

Sasha Komovich — Расскажи, Снегурочка

Генеративные модели плотно вошли в нашу жизнь. Если пару лет назад первые версии Midjourney лично мной воспринимались как игрушка, то теперь сложно представить быт, работу и досуг без условного GPT4ALL или Invoke. То же самое касается и искусства — пусть абсолютная часть генерируемого контента мусор (как, впрочем, и с вещами, которые делали кожаные мешки до явления GM), но стоит наконец признать: это не более чем ещё один инструмент креатива. Трендовый бриллиант начала 2026-го — доказательство тому.

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

 7   1 мес   AI   Sasha Komovich   youtube   музыка

Синематики Star Wars

Справедливое в комментариях:
Remember, as long as the only evidence of a game’s existence is a CGI trailer, it doesn’t exist.
Но все равно красиво.

Нейрогенеративная Нара

Будучи в Японии, сделал великолепный снимок одного из храмов в Наре.

Попробовал поиграться со стилизациями изображения под разные локации. Получилось минимум забавно...а местами грустно.

STALKER2 PS5 Trailer

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

 20   4 мес   stalker 2   trailer   youtube

Конак и Қонақ үй

Листал карту Белграда и наткнулся на достопримечательность «Конак кнеза Милоша» (усадьба князя Милоша). Слово и смысл показалось подозрительно знакомыми с казахским «Қонақ үй» (гостиница). Короткий GPT-гуглинг подтвердил мои подозрения:

Серб. konak ‘усадьба, резиденция, постоялый двор’ — это заимствование из османо-тур. konak ‘большой дом, резиденция; постоялый двор’. Турецкое konak связано с глаголом kon-(mak) ‘останавливаться на ночлег, садиться (о птице), размещаться’.

Казахск. қонақ үй — буквально ‘дом для гостей’: қонақ ‘гость’ + үй ‘дом’. Слово қонақ — исконно тюркское, от того же корня қон- ‘садиться, останавливаться на ночлег’.

Итог: сербское konak — турцизм эпохи Османской империи; казахское қонақ — родное тюркское. Оба восходят к одному пра-тюркскому корню *kon- ‘останавливаться/переночевать’.

Windows перемещение файлов в директории по совпадению части имени

В указанной директории ищем файлы с «_45» или «_16», перемещаем во внутреннюю создаваемую директорию.

$dir = "C:\work\pics"
$target = Join-Path $dir 'substrateInstagram'
New-Item -ItemType Directory -Path $target -Force | Out-Null
Get-ChildItem -Path $dir -Filter *.jpg -File |
  Where-Object { $_.BaseName -match '(_45|_16)' } |
  Move-Item -Destination $target

Linux Passwordless oneliner

TARGET=user@host; PORT=22; [[ -r ~/.ssh/id_ed25519.pub ]] || ssh-keygen -t ed25519 -N "" -f ~/.ssh/id_ed25519; ssh -p "$PORT" "$TARGET" 'umask 077; mkdir -p ~/.ssh && cat > ~/.ssh/authorized_keys' < ~/.ssh/id_ed25519.pub && ssh -p "$PORT" "$TARGET" 'echo ">>> Root доступ подтверждён"'

CouchDB, Debian, AstraLinux, Docker и все-все-все

Возникла необходимость запустить Couchdb в контейнере, где базовая ось (и базовые же пакеты) должны быть очень-очень свежими, в противной случай контейнер не проходит встроенную проверку на безопасность.
Стандартный официальный образ собран на базе Debian 12.

FROM debian:bookworm-slim

Простая замена базового образа на

FROM debian:trixie-slim

приводит к тому, что контейнер не собирается по зависимостям.
Смотрим официальную репу в части зависимостей и видим прекрасное — libmozjs-78-0 (>= 78.15.0). Пробуем ставить свежую версию, которая есть в репах — не помогает, пакет couchdb принципиально требует libmozjs-78-0.

Ок, скрещиваем ежа и ужа.

У debian есть механизм apt-pinning. Это механизм, позволяющий задать приоритеты для версий пакетов из разных источников (репозиториев, release-веток, PPA), чтобы фиксировать версию, запрещать обновление или предпочитать конкретный источник.

Коротко приоритеты делятся на:

  • < 0 — никогда не устанавливать.
  • 1..99 — ставить только при явном указании версии.
  • 100 — приоритет уже установленной версии.
  • 500 — дефолт для неприоритетных источников.
  • 990 — приоритет для целевого релиза (-t), либо если явно указан release.
  • >1000 — разрешает понижение версии (downgrade) к закреплённой.

Добавляет в наш Dockerfile:

RUN echo "deb http://deb.debian.org/debian bookworm main" > /etc/apt/sources.list.d/bookworm.list && \
    echo "Package: *\nPin: release n=bookworm\nPin-Priority: 500" > /etc/apt/preferences.d/bookworm && \
    echo "Package: *\nPin: release n=trixie\nPin-Priority: 600" > /etc/apt/preferences.d/trixie && \
    echo "deb [signed-by=/usr/share/keyrings/couchdb-archive-keyring.gpg] https://apache.jfrog.io/artifactory/couchdb-deb/ bookworm main" \
            > /etc/apt/sources.list.d/couchdb.list && \
    apt-get update

Основная часть пакетов ставится из свежей репы, часть, которых в ней нет — из старых.

Curl over ssh-tls-tunnel

Есть ресурс resource.name, на который нужно ходить curl-ом с засылкой данных через JSON. Специфика ресурса такова, что он принимает соединения через TLS 1.3.
Есть сервер A server.name, на котором нет выхода на нужный ресурс, но есть Nginx, и есть ssh-доступ до сервера B
Есть сервер B, на котором есть выход на нужный ресурс, но сам сервер очень старый, и TLS на нём не проходит по требования resource.name.

printf '' | openssl s_client -connect 127.0.0.1:8443 -servername resource.name -tls1_3 -brief

Костылим:
На сервере A поднимаем туннель на внутренний порт:

ssh -fN -o ExitOnForwardFailure=yes -o ServerAliveInterval=60 -o ServerAliveCountMax=3 -L 8443:resource.name:443 user@serverB

На Nginx рисуем конфиг:

server {
        listen 9090;
        server_name         server.name;

        access_log  /site/logs/nginx/port_9090.log  main;
        error_log   /site/logs/nginx/port_9090.error.log;

location / {
        proxy_pass https://127.0.0.1:8443;

        proxy_set_header Host resource.name;
        proxy_ssl_server_name on;
        proxy_ssl_name resource.name;
        proxy_ssl_protocols TLSv1.3;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
        proxy_connect_timeout 10s;
        proxy_read_timeout 60s;
        proxy_ssl_verify off;
}
}

Кидаемся тестовым запросом:

curl -v -X POST 'http://server.name:9090/resource' -H 'Content-Type: application/json' --data '{"login":"$LOGIN","password":"$PASSWORD"}'

Unzip без unzip

Есть сервер без выхода в сеть с древней ОС и мёртвыми репами. Нужно распаковать zip-архив — но утилиты нет.
Решаем вопрос python-ом:

python - <<'EOF'
import zipfile, os
archive = 'archive.zip'
target_dir = 'archive.zip'

if not os.path.exists(target_dir):
    os.makedirs(target_dir)

with zipfile.ZipFile(archive, 'r') as z:
    for name in z.namelist():
        z.extract(name, target_dir)
EOF
Ранее Ctrl + ↓