cjelli: (hal9000)
Detransitioning это не то, что вы подумали.
 
Это когда компания перестает гонять свой бизнес в общем облаке и тащит его обратно на свое железо. Особый смак ситуация приобретает, когда процесс касается не только самой компании, но и ее клиентов.
 
Хотя в определенном смысле сходство есть.
cjelli: (hal9000)
У нас начальство вдруг решило, что качество кода никуда не годится, и начало борьбу за его, качество, повышение. Была сформирована группа, которая ведает шлагбаумами на merge requests, только результат пока не очень. Нас тоже попросили помочь - и в первую очередь бросили на самую неквалифицированную работу, разгребать, почему тесты валятся, но теперь вот дошли руки посмотреть на код шлагбаумистов:
def is_checkin_approved(labels):
res = False
res |= isLabelPresent(labels, 'checkin::approved')

if not res:
logging.info(f"Checkin is not approved for the MR."
f"Refer https://company.internal.site.com/Main+Controlled+Check-in+Guidelines")
return res

def isLabelPresent(labelscol, label):
exist_count = labelscol.count(label)
return exist_count > 0
Здесь прекрасно все, но захотелось лучше понять, с кем мы имеем дело. Я спросил одного из них, уверен ли он, что bitwise or - это то, что ему нужно.
Ответ был: ачотакова, все работает.
 
 
Эти люди "ответственны" за повышение качества кода.
Эти люди - тот самый продукт южноазиатского конвейера, выпускающего 30 тыс. "инженеров-программистов" в год.
cjelli: (hal9000)
Из Линкедина:
 
In the '90s web development was writing #Perl CGI script that would print HTML. Once #JavaScript and #CSS were born people started to embed those too in the same file. If the code was using some relational database we also had #SQL in the same file. 5 language in every file.

It was a mess, so people started to develop better practices and templating system to separate the various languages. Generating each page needed more files, but each file contained one, maximum two languages. (e.g. HTML + the template language)

Now I started to see code that uses #Python, HTML, CSS, JavaScript, and yes also SQL in the same file and it is now called a "component".
Is there a trend now to go back to the one-page one-file strategy and use multiple languages in the same file?

Только тридцать лет назад мы это делали не от хорошей жизни...
cjelli: (hal9000)
Слак стал в эпоху ценным инструментом для работы. И в этом слаке есть возможность реагировать бессловесно - показать там большой палец кверху и т.д. Но партийно-верным улучшайзерам слака обычный желтый большой палец стал мозолить глаза. Появилась возможность выбирать цвет кожи кисти. Появилась даже универсальная мультяшка, меняющая цвет от бледно-розового до черного. Все, видимо, чтобы угнетаемые товарищи себя комфортно чувствовали.
 
И вот, в нашу группу наняли негра. Нормального вроде, немолодого, работу знает.
 
Он использует обычный желтый большой палец.
cjelli: (hal9000)
Начальство на совещании:
 
Клиенты, вроде, уже не очень хотят гонять свои "облака" в супероблаке. Хотят "суверенное" облако, чтобы только они контролировали что входит, и что выходит.
 
Я не выдержал:
 
И когда они сообразят, что проще всего это делать с купленным софтом на своем собственном железе?
cjelli: (Бендер)
Говорят, что Бестбай - это, типа, витрина Амазона...
 
Заказал на Амазоне четыре разные клавиатуры, попробовать. Все вернул, заказал ту, которая понравилась больше, на Бестбае. 
cjelli: (штирлиц)
Наша контора придумала какой-то очень крутой сервис. Настолько крутой, что его разработка была засекречена внутри самой конторы. Никто ничего не знал до беты, даже мы, девопсы, которым надо будет этот сервис поддерживать.
 
И вот вся эта суперсекретная штука разрабатывалась от начала и до конца в ... Шанхае.
cjelli: (hal9000)
Молодой крокодилпрограммист обеспокоен, и трубит в колокол корпоративного слака:
 
Hey folks! I noticed that the ХХХХХХ [1] and the corresponding documentation pages [2] use some not-super-inclusive terms. Any chance we could do the work to change "White List" and "Black List" to something more appropriate that better aligns with our efforts [3] around inclusion?

Я так думаю, что ни в шахматы, ни в шашки он играть просто не может...
cjelli: (hal9000)
Есть некий сервис, написанный на жабе и летающий контейнерами в облаках, как стая пепелацев. Время от времени пепелацы начинают барахлить, в ЦУП приходит несрочное извещение, а пепелац минут через пять обычно восстанавливается. Пока примерно в 99% случаев восстанавливался.
 
Третьего дня пришла директива сбивать барахлящий пепелац и запускать новый, чтобы все в течение двух минут рисовалось красиво. А то 5 минут портит сервису красивый KPI. И из-за этого ему не могут дать General Availability. 
 
Отладить моторы самих пепелацев из-за количества прослоек и прокладок, "взаимодействующих" друг с другом, явно сложнее...
cjelli: (hal9000)
 
Я очень далек от современных технологий написания и выкатывания софта. Я чураюсь их, предпочитая делать все по-старинке, покуда возможно.
 
И вот, наблюдая аварию очередного синтетического теста cуществующего официального релизнутого сервиса в продакшне, я вдруг обратил внимание, что в процессе теста происходит следующее:

...
Downloading https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/1.7.25/slf4j-parent-1.7.25.pom to /tmp/gradle_download3344776760037535650bin
Downloading https://repo.maven.apache.org/maven2/ch/qos/logback/contrib/logback-json-parent/0.1.5/logback-json-parent-0.1.5.pom to /tmp/gradle_download16982321997426310193bin
...

и таких штук 50...
 
Это что, нормой стало, тянуть в реальном времени опенсорсные зависимости снаружи, а не из внутреннего дезинфицированного зеркала? Я отстал от времени, или это все же индокитайские выходки?
cjelli: (hal9000)
Некий сервис гоняет постоянно тесты. Когда эти тесты не срабатывают, к нам приходит сообщение, что ужас-ужас. Обычно они не срабатывают из-за таймаута где-то по дороге.
 
Раньше с таймаутами было просто бороться - вот тебе обычный пинг, вот тебе "tcp ping", и достаточно. А теперь это вызов из ангулара, через завскладажакс, через амазон, через нджинекс, через кубернет, через под, через контейнер. Ну и что из них приложило руку к таймауту?
cjelli: (hal9000)
Будем делать крутой новый проект. В облацех, с докерами и терраформами, с кубернетесами и флюентди, с блэкджеком и шлюхами. Инфраструктура на AWS, сервисы от bintray, logz, uptime.com, pagerduty, slack. Ничего своего, все витает, все где-то там, суперсовременное, и мы в смелых таких полутонах.
 
А какой у нас SLA? 99.9%. А сколько дает Амазон? А бинтрей? А логзи? А если это ебнется одновременно или последовательно? Клиент-то не знает... Ему известно, что сервис бегает на AWS, а AWS вот он, живой. А что ж делать? Может, надо какие-то сервисы все-таки нахуй с небес, обратно в наш дата-центр?.. А сколько времени это займет?..
 
И эта дискуссия ведется не в момент задумки проекта, а когда надо переходить из limited availability в general availability.
cjelli: (hal9000)
После двух недель непрерывного изучения питона на собственной шкуре поколдовал полчаса над перлом. Почувствовал, что как будто помолодел на несколько лет.
cjelli: (hal9000)

However, it is sometimes fun to try and write a program in Python that is only one line. In other languages this would be nearly impossible, but in Python it is a lot easier to do. 
 
Не, ну точно язык программирования партии Демократов.
cjelli: (Yossarian)
Если индийский рекрутер предлагает вам в Линкедин контрактную вакансию, можно, конечно, просто послать нахуй. Но самым эффективным является метод А. И. Привалова, примененный им к Н. К. Горыныч. Отвечаешь: "контракт? Это прекрасно. $500 в час." Работает, как дихлофос.
cjelli: (hal9000)
По долгу службы приходится изучать Питон.
 
Это социализм какой-то, а не язык. По сравнению с ним Перл - сущий анархо-капитализм. Может, из-за этого все современные программеры так любят Берни.
cjelli: (hal9000)
Молодой крокодилпрограммист, воспитанный на питоне и R, с ужасом пишет в Твиттер:
У них о перле, видимо, такое же представление, как и о ружьях. Или о республиканцах.

cjelli: (hal9000)
В связи с возникшей модой на микросервисно-контейнерные, все из себя модулярные и масштабируемые системы, да еще с завязками на внешние сервисы, да еще и с подходом "главное, собрать все данные, которые можно, а потом разберемся, что с ними делать", вспомнилось бессмертное:
 
 

This involved the lengthy exchange of emergency codes and

protocols as the robots interrogated the agents as to the authen-

ticity of the instructions. At last the robots were satisfied that

all procedures were correct. They unpacked the backup central

mission module from its storage housing, carried it out of the

storage chamber, fell out of the ship and went spinning off into

the void.

This provided the first major clue as to what it was that

was wrong.

Further investigation quickly established what it was that had

happened. A meteorite had knocked a large hole in the ship. The

ship had not previously detected this because the meteorite had

neatly knocked out that part of the ship's processing equipment

which was supposed to detect if the ship had been hit by a

meteorite.

“Mostly Harmless”.


Там и до того чудесно, и после того превосходно, а, главное, все актуально.
cjelli: (hal9000)
Окончание (наверное)

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

Выяснилось, что болгарские товарищи, ведомые своими Орлиновыми-Глазовыми, обнаружили "новые" кастрированные мэйлы, решили, что ATP снова включился, и забили тревогу. Все бы, казалось, правильно, да только вот этих кастратов я вижу уже третий год, структуру они имеют совершенно иную, чем продукты работы ножниц АТР, и к Аутлуку 365 получателя эта проблема не имеет ни малейшего отношения. Стрижет их выходящий SMTP сервер, я об этом говорил менеджеру проекта в частности и на совещаниях вообще еще в 2017 году. На это не обратили внимания, ну и я перестал обращать на них внимание, аккуратно складывая их в отдельную директорию. Но наш IT, не мудрствуя лукаво, решил, что это то же самое, что и мои прошлые проблемы, и с пометкой "срочно" начали вздрючивать Майкрософт.

Надавав по головам IT за то, что мой тикет открыли без моего разрешения, и объяснив, правда без лишних подробностей, почему это другой случай, я все же не стал требовать закрытия. Пусть, после того как мне устроили вырванные годы, решил я, Майкрософт подергается (см. заголовок).

И тут случилось непредвиденное - Майкрософт вдруг заявил, что да, в период, пересекающийся с наблюдаемыми кастратами, были перебои мирового масштаба в работе АТР, поэтому они очень извиняются и просят убедиться, что больше такого нет. Бол-а-болы (Болливуд и Болгария) гордо указали мне, как я был неправ. Я почесал репу, посмотрел сроки перебоев, полез в свой архив и, разумеется, нашел кастратов, обрезанных как до, так и после этих сроков. "Ужасно, ваша версия лопнула, Хопкинс." Майкрософт тоже нехорошо задергался, так как с той стороны все тоже были убеждены, что те мировые проблемы решают и наши частные, а как с частными работать, из выделенной нам королевской конницы никто себе не представлял.

Тикет с пометкой "супер-срочно" метался по просторам крупнейшего в мире производителя софта, пока, наконец, не осел в канадской провинции у одного русско-израильско-канадского инженера. Тот, наконец-то, сумел не только тщательно прочитать и образец мэйла, и мои комментарии к нему, но и понять их, после чего написал сам: "А, это Эксченж в роли SMTP так развлекается, решая, что он видит исходящий спам. Выпуски такой-то и такой-то. Идите к вашему клиенту, скажите ему сменить настройки (далее инструкции к этому)."

Тикет закрыли, но я вот думаю, что таких Эксченжей у наших клиентов несколько дюжин...

Profile

cjelli: (Default)
Роман Михайлович

June 2025

S M T W T F S
1234567
8910 11121314
15161718192021
22232425262728
2930     

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 12th, 2025 06:38 pm
Powered by Dreamwidth Studios