elglin: (Default)
Не Дийкстра я ни разу, но хоть примажусь.
В 2016 году к нам прибежал наш внутренний идеолог Амазона и заявил, что еще полгода, и админы будут не нужны. Мы его обсмеяли, а он сейчас большой начальник; я вообще не понимаю, как он сделал карьеру на завале двух эпических проектов, продолбавших шести-, если не семизначную сумму, но вот поэтому он Бенцион Крик, а у меня в душе осень.
Ну кагбе пять лет прошло, воз миграции в Амазон и ныне там, хотя есть шанс, что он с непередаваемым скрипом таки поедет если не в этом, так в начале следующего года.
Но я не об этом. Амазон продвигает свой концепт, что надо убрать undifferentiated heavy lifting и сосредоточиться на бизнес-логике. Естественно, за помянутый heavy lifting надо немного отстегнуть Амазону, что логично. И опять же, суть не в этом, а суть в том, что разработчик в кои-то веки можно полностью контролировать стек. И это прямо-таки офигенно.
Вот я подумал за свой приклад. Да, там, конечно, внизу сервер, пицот лет конфигурять. А если вдуматься, то докерфайл будет не такой и развесистый, особливо если его собирать поэтажно, как доктор прописал. И если у меня есть докер-инфраструктура, которую не я собираю (AWS ECS/Fargate, EKS), то на докерфайле заканчивается моя зона ответственности и начинается зона... сервис-провайдера.
То же самое со всякими файрволами и балансерами (в кубиках это контролируется прямо из кубиков, в ванильном AWS - хоть терраформом, хоть CloudFormation). То же самое даже с мониторилками и логособиралками и далее по тексту.
База... ну формально я к этому постгресу рутовый доступ имею. В реальности катаешь миграции, смотришь диагностику и все такое, так что можно сказать, что и постгрес мне сгодится "как сервис". Туда же пойдет и модный редис, и любые Kafka/RabbitMQ и так далее.

То есть суть в том, что граница ответственности разраба почти везде сомкнулась с границей ответственности сервис-провайдера. Для админа, который жил как раз между этими границами, места нет. Окей, скажете вы, но ведь все эти жабаскрипт-мидлы и решетка-сеньоры ни черта не понимают в архитектуре. Ну, во-первых, понимают порой очень немало, во-вторых, можно вспомнить, что во времена оны человек, подозрительно похожий на современных SRE, назывался системным программистом и на сисопа или админа мог заслуженно оскорбиться.
Конечно, тут можно сказать, что cloud is just other people's servers, но суть в том, что в этом самом Амазоне, к примеру, классической админской работы, мне думается, мало. А за пределами Больших и Толстых провайдеров, мне думается, грядет плавное вымирание мелких и тонких.

Короче, то ли товарисч реально зрил в корень, то ли это был тот самый случай, когда стоящие часы правильное время показывают. Ну и надо понимать, что при всей своей апокалиптичности прогноз очень длинный. Классические админы за 50, а то и за 40, могут успеть уйти на пенсию до того, как прозвонит колокол. А вот тем, кто помоложе, как мне кажется, надо вспомнить про необходимость, которая понимающего ведет, а непонимающего тащит.
elglin: (Default)
Так получается, что в контексте рабочего дня я часто ссылаем на кухню по печальной причине, что между "кабинетом" меня и супруги звукоизоляции почитай что и нет, а в силу планировки завести ее не представляется возможным. Ну, точнее, можно, но выглядеть будет уродски и в использовании будет неудобно.
Плюс - можно сготовить хавку почти без отрыва от производства. Минус - я искушаем холодильником, он манит меня сожрать что-нибудь из него. Кухня настолько же храм чревоугодия, насколько спальня храм сладострастия.
Так вот, наблюдаю на себе (уже давно) забавный выверт сознания. На пачках макарон (в поле я спокойно поедаю Макфу, а вот в городе стараюсь ловить мальтальяти по скидкам) написано: "pasta semola di grano duro". Я итальянского не знаю, но из общих романо-германских соображений (тм) последние слова переводятся как "зерно твердое", я это честно пишу без словаря и рискую сесть в лужу.
Но дело не в том. Почему-то мозг упорно добавляет "d" в первое из двух слов и автоматически переводит как "макароны из Большой Дуры". Занавес.
elglin: (Default)
Из сабжевого закона можно сделать спорное следствие, что каждый пытается решить задачу теми средствами, которые под рукой, и по минимуму задействовать что-то за пределами зоны контроля.
Вариант №1. У приклада есть три сервера, а в клиент зашита логика ходить по ним по очереди. Потому что балансера не было. Ну точнее был, но за его настройкой надо идти в другую группу и ну его нафиг.
Вариант №2. К прикладу прикручен отдельный сервак, на котором крутится, по сути, система синтетических тестов и сбора метрик из специальных ручек, которая отписывается в почту, если что не так. Потому что мониторинг, конечно, есть, но за ним надо идти вообще за океан, там будут месяцами судить и рядить, так что ну его нафиг.
Вариант №3. Был сервачок с обычным сервисом. За полтора года это настоялось до того, что вокруг сервачка еще несколько с килотонной других сервисов, а изначальный сервис работает мультиплексором. Потому что для него есть боярский доступ на файре, а делать дырку целое дело, обивать пороги и все такое, так что ну его нафиг.

Есть у этого подхода, кроме производства изрядной дичи в архитектурном отношении, одно на самом деле полезное свойство. Твоя система будет взрываться, а причину взрыва и способы его исправления куда как проще искать в своей зоне контроля, чем в чужой или, того хуже, на стыке.
В этом, кстати, изрядный бич пропагандируемого современного serverless - у тебя код раскидан по тонне сущностей, которые соединяют сущности, которые ты вообще не контролируешь, и если что-то пошло не так, то как понять, это твой баг, это неучтенный нюанс связки, это взрыв связки или это вообще какая-то неведомая долбаная.
Это я к тому, что одну планируемую штуку, которую мы специально дорабатывали, чтобы она идеально контейнеризовалась и распиливалась, мы будем разворачивать... старым добрым монолитным способом на инстансе со всем нужным на борту в одном флаконе. Потому что в этой ситуации у нас ноль лишних внешних зависимостей, а все косяки интеграции будут в нашей зоне контроля, потому что инстанс наш. А поскольку я здесь выступаю в роли "сраного разраба, который опять багов наплодил", то я очень хочу иметь возможность ловить и чинить их сам... потому что вне зависимости от причин проблем крайним буду я. А так хоть к обязанностям права прилагаться будут.
elglin: (Default)
Абсолютно негодная позиция для интриг мадридского двора. Хотя как посмотреть. Уже пару раз за этот год неожиданно оказалось, что Михалыча засылают послом к такой-то команде, потому что Михалыч ни разу не замарался во всяких там грязных схемах, а потому его слова сойдут за чистую монету.
Как там у Джордана было, "telling the truth was always a powerful play in the Game of Houses".
elglin: (Default)
Lo, there do I see my father.
Lo, there do I see my mother, and my sisters, and my brothers.
Lo, there do I see the line of my people, back to the beginning.
Lo, they do call to me, they bid me take my place among them.
In the halls of Valhalla, where the brave may live forever.

Сегодня, в канун Саовины, мои кроссовки отправились в Вальгаллу. Они славно пожили, они знали счастье.
Проводили по-туристски, чаем с малиной.
elglin: (Default)
Когда у меня была домашняя Федора (комп скончался смертью храбрых несколько лет назад), там стояла связочка rosegarden + fluidsynth, и можно было извращаться (хотя я чуть ли не день убил на то, чтобы их через ALSA подружить).
Нашел тут недавно старый мидишник, в одном месте заиграло детство, и в совершенно примитивном Anvil Studio его несколько пересобрал и в приступе упороса под классику разложил на струнные (до зубной боли классические скрипка-альт-виолончель), хотя оно изначально клавишное.
В стандартном Microsoft GS Wavetable Synth оно звучало... ну на саундбластере 25 лет назад оно бы звучало лучше. Оказалось, что у fluidsynth есть сборка под винду, а гугл знает про годный (ну, для любителя, так мне больше не надо) ямаховский soundfont.
Ну и таки неплохо звучит, барочненько так, особенно если в стиле 60-х распихать альт направо, скрипку налево, виолончель оставить по центру. Дык Франческо Канова писал, не иначе.
Потом решил совсем в приступе поверки гармонии алгеброй разложить это на всякие там последовательности аккордов, контрапункт и так далее. Неожиданно получилось как-то очень сложно и запутанно. По ощущениям, "барочное" звучание дает не столько сама прогрессия, сколько ее хвост VI-ii-V-i, скорее всего за счет того, что, поскольку мы идем не хроматически, а диатонически, то у нас VI-ii - это тритон вместо квинты, а ii - это не минор, а уменьшенное трезвучие.
Причем, если верить теории, это позднее барокко (да, И.С. Бах), потому что в раннем как гармонический, так и мелодический ход по уменьшенному трезвучию был запрещен за неблагозвучие.
elglin: (Default)
Тут будет длинно, так что спрячу под кат.
Read more... )
elglin: (Default)
Есть старая байка про то, как товарищ, который умел в цифры, сравнил абсолютно несекретное потребления чая в год в СССР и попробовал скоррелировать его с численностью населения в этом самом СССР. Байка, впрочем, умалчивает, пришли ли к нему компетентные товарищи и дали ли ему исчерпывающие объяснения полученных результатов.
Итак, вот есть англичанка, которая гадит. По официальной версии там 67% привитых, 67м населения и 50к заболеваемости ежедневно. И у нас есть Россия, в которой, по официальной же версии (импортной, отечественную быстро не нагуглил), 32% вакцинированных, 140м населения и 37к заболеваемости ежедневно. Я, конечно, потребление чая не считал, но на обывательский взгляд эти вот цифры заслуживают какого-то объяснения.
Правда, есть и другие цифры, которые в этой вашей Британии дают смертность, пляшущую в районе 130 в день (что менее трех промилле от заболевающих), а в этой нашей России уже тысячу (что почти три процента).
Вот поэтому, блин, статистика математическая есть дисциплина строгая, достаточно простая и вполне доступная любому, знакомому с азами высшей математики. А статистика просто - это до сих пор местами искусство.
elglin: (Default)
https://www.bbc.com/news/science-environment-58971131
Заголовок: Fossil fuel production set to soar over next decade - и это ж BBC, это не кликбейт, статья именно про это.
Там еще внизу видосик интересный, про девочку, которая вся про global warming, у которой папа работает в British Petroleum. Я человек, испорченный совком, поэтому Павлик Морозов мне сразу вспомнился, хотя, слава яйцам, до этого градуса еще далеко. Видосик, кстати, неплохой и (BBC же) намного более взвешенный, чем обычно видишь на эту тему.
Правда, папа, как мне кажется, не выкатил в видосе очень важный аргумент. "Дочка, вот у тебя есть в твои 13 лет свой ноутбук, у тебя большая кухня, у тебя есть задний двор, где мы с тобой можем играть в мини-футбол. Вот для этого, доча, я и работаю в нефтянке".
elglin: (Default)
Разбираю тут потроха не имеющей аналогов терраформовской кодобазы.
ТОННЫ ДИЧАЙШЕГО ХАРДКОДА.
При этом в лучшем случае абаснуй примерно такой: "Ну это у кого-то когда-то работало, а дальше все копипастили, не задумываясь". В худшем случае нет и этого.
Ну его нахер, ребята, так работать. Но именно так и работаем, потому что человека, который что-то понимает в программировании не на уровне кричания лозунгов DRY, KISS и так далее, а на уровне понимания их, найти сложно. А товарища, который под этими лозунгами будет бездумно копипастить (в кодовой базе около трехсот "почти одинаковых" файлов, из которых выделяется несколько кластеров одного размера, но есть и десятка три "снежинок"), найти очень просто.

Ну и еще. Любой вспомогательный скрипт, с моей точки зрения, должен выдавать машиночитаемый формат. Либо CSV/TSV/DSV, который awk-ается, либо JSON/YAML/TOML/XML (последнее, конечно, не нужно, но можно), который парсится тем же питоном (или jq для адептов баша) и кем только ни. При этом в идеале надо бы выдавать объект языка Х, который только в самом конце превращать в текст, чтобы желающий на том же языке привязаться не извращался конструкциями вида json.loads(json.dumps()). Желающий красивого вывода может написать обертку этого дела с форматированием - классическое отделение данных от представления.
Но нет. Только человекочитаемый вывод в формате, который **нешься парсить, не говоря за грепать.

Радует только одно. Сегодня тяпница, и эликсир узбагоения уже ждет.
elglin: (Default)
Как мне кажется, проще всего процитировать покойного Черномырдина: "Никогда такого не было, и опять все то же самое".
elglin: (Default)
А то надо как-то себя замотивировать.
Короче, надо поднять корму и выучить ТеХ, а то позор какой-то: образование профильное имею, а ТеХ не знаю.
Мне на полторы формулы всегда хватало вордовского equation editor, но что-то настало время, что не полторы формулки нужно. В те времена, когда мне были нужны формулы пачками, их принимали рукописные, а в моих курсовых было очень много кода и очень мало формул.
elglin: (Default)
Пробегала тут новость, что какое-то официальное лицо сказало, что показаний к отмене масочного режима в России пока что нет и тадэ и тапэ. Помним, что мы, в отличие от, не специалисты.
Но вот катался тут пару раз на общественном транспорте и имею наблюдения, чтобы ими поделиться:
1) В Подмосковье в автобусе и половины народа в масках не наберется.
2) В электричке несколько человек на полузабитый вагон. То есть даже не каждый десятый.
3) На МЦК существенно меньше половины.
4) В метро... ну как сказать, если считать всех с маской, то около половины, а если считать только тех, у кого маска прикрывает что-то кроме шеи и подбородка, то опять же, сильно меньше.

В магазах и прочая маску требуют - но тут дело-то такое, тут всегда может нагрянуть проверка и с улыбкой выписать магазу штраф. А в общественном транспорте кому штраф выписывать, РЖД, что ли?
Есть же известная максима, что командир не должен отдавать невыполнимых приказов - приказы все равно не выполняются, а вот авторитет командира падает. Так вот сейчас по факту масочного режима в общественном транспорте, который является рассадником заразы почище любого магазина, нет. И не представляется возможным его ввести де факто, а не де юре, иначе, как согнав в метро ОМОН с инструкцией винтить всех без маски на 15 суток.
И вот что характерно, самая безупречная масочная дисциплина у заробитчан из Средней Азии. Но тут и понятно - каждый такой заробитчанин, с определенной точки зрения, это такая непись с монеткой над головой, из которой, если тапнуть, выпадают монеты. И уж им-то явно не нужен лишний повод для тапанья.
elglin: (Default)

15 лет прошло, ничего не поменялось. Ну как, мы все стали старше, и даже pretty girl like you.
elglin: (Default)
Хочется писать хороший код. Продуманный. Отлаженный. Самое главное - хорошо спроектированный.
Проблема только в том, что, обычно, вокруг ходит цейтнот. Причем такой цейтнот, что с той стороны контроль классический, а у тебя блицевый. Тут, увы, не до анализа вариантов в схевенингенском варианте сицилианской защиты.
Это я к тому, что я сегодня осознанно вмерджил к себе кусок совершенно потрясающего говнокода. Задача-то банальная - отсыпать нотифайки в такую-то ручку в таких-то случаях. Проблема в том, что ручка же черт знает где, а поэтому все прелести распределенного программирования налицо.
Короче, я просто вогнал еще одну таблицу, куда эти нотифайки разного рода инсертятся. Потом наговнякал еще один воркер (у меня их с десяток, одним больше, одним меньше), который ходит в эту табличку и пытается слать. SELECT FROM notifications ORDER BY notification_id LIMIT 1 FOR UPDATE; получилось - DELETE FROM notifications WHERE notification_id = XXX; не получилось - а ничего не делаем, на следующем проходе поретраим и так ad infinitum. Да-да, никакого вам ограниченного ретрая с экспоненциальным отступом - ручка будет страдать, один хрен она не моя.
По уму надо тут просто что-то, умеющее pub/sub прикрутить, от кафки до амазоновского SNS. Но у меня был постгрес, приклад с воркерами и час времени, набранный кусками по 15-20 минут.

Вот так и живем, мать его так.

Minecraft

Sep. 7th, 2021 12:50 pm
elglin: (Default)
Дети таки выпросили сабж. Теперь бешено срутся за комп каждый день, нормальное такое явление.
Самое печальное в том, что у детского компа не было штатной мыши (это списанный ноут, тачпада для задач просмотра мультов всегда хватало), а заказанная приедет только завтра.
Поэтому мышь отобрали у меня. Вот сижу страдаю с тачпада сам.
Прогнал дочь по итоговой усиленной контрольной первого класса. Четверочку она по ней выдала. С бумажкой могла бы, возможно, и лучше, но халявы не будет, раз экзамен устный, то и считать надо в уме. Не очень понимаю, что с этим делать - по-видимому, надо искать "олимпиадные задачи для начальной школы", я точно знаю, что такие есть, находил как-то - и работать уже по ним.
В перерывах между майнкрафтом, естественно.
elglin: (Default)
Зачитал тут старенький текст от, кажись, того самого Кошкина, что когда-то писал огненные опусы про танчики.
Текст настолько красивый, что хоть садись и графомань. Есть только одна проблема, которую даже не знаю, как описать.
Как говорят умные люди, "в небольших райцентрах" девяностые никогда и не кончались. Как говорят другие люди, не понаслышке знающие, как в этом самом небольшом райцентре дела, к мэру ты ходишь, если тебе надо, ну не знаю, качельки на детской площадке за госсчет починить. А вот если ты хочешь, там, чипок открыть или лес валить, то тебе сначала к хозяину, и только если с ним уговоришься, то потом к мэру. Ну и причем больше чтобы политесы соблюсти, потому что мэр же глава городского поселения и все такое - ну, по бумажкам. А мэр все про тебя уже знает, потому что они с хозяином в баньке вместе парятся. Ну или на охоту ездят.
И вот была же ровно в девяностые снята трилогия "Любить по-русски" (это не я вспомнил, это жена подсказала), которые в те же девяностые смотрелись примерно как "Двенадцать месяцев" - такая красивая сказка, про которую ты достоверно знаешь, что в действительности так не бывает. И проблема в том, что процессом будут рулить не главный герой, не алкаш-механик-золотые-руки, не Главный Инженер и даже не ЗаВеДеВе. А хозяин. С соответствующим укладом. А всем несогласным перо под ребро.
То есть получается не духоподъемная история про то, как крепкие мужики и бабы, оказавшись в лютой жопе, устроили себе в этой жопе жизнь и какой-никакой комфорт - очень архетипичная русская история, кстати - а суровая правда жизни, которую оценит ЦА Михаила Круга, если ее напишет кто-то из них же.
И чет с осознания этого факта хочется накатить, потому что если даже архетипичная русская история накрылась медным тазом, то что осталось-то? Только водка.

ABBA

Sep. 3rd, 2021 05:16 pm
elglin: (Default)
На самом деле, все фигня, кроме бритых пчел. И срачи с разборками на работе, и то, что в интернете кто-то неправ, и даже бакс по сто (черный юмор, как ноги, у кого есть, у кого нет).
А вот то, что ABBA запилила новый альбом, с которого выложили две песни - вот это не фигня. И, да, они еще те.
elglin: (Default)
Решил глянуть учебник старшей "Окружающий мир". Было же у нас природоведение.
Ну там фотографии объектов живой и неживой природы и не очень. Есть там космическая станция... КАКАЯ, КАКАЯ? Ну да, там отзеркаленная вот эта фотка.
Я не спорю, "Скайлэб" был офигенной станцией, и очень жаль, что так бесславно кончился. Но раз все так топят за патриотизм, суверенную демократию и правильное преподавание истории, слабо было "Мир" поставить? Просто другую фотку с той же википедии дернуть.
Что там говорил министр Лавров? Ну да, они самые.
elglin: (Default)
Позвонили тут и начали интересоваться, доволен ли я благоустройством района. Ну то есть люди, знающие телефон, адрес по прописке и ФИО. Откуда бы у них это интересно, не с госуслуг ли?
Очень вряд ли, это же обзвон от имени депутата, наверное, в даркнете купил.
Естественно, сразу перешли к теме выборов, я ждал подвоха и дождался.
"Поддерживаете ли вы партию Единая Россия"?
Page generated May. 15th, 2026 11:31 pm
Powered by Dreamwidth Studios