Привет! Подкрутил немного анимацию spinner'а, теперь выглядит так:
бынь-бынь
Spinner - это небольшой скриптик чтобы заполнить пустоту экранного пространства во время работы какого-нибудь долгого процасса, не выводящего ничего. Работает как-то так:
В заросшей репе есть очень грязный код Забыт в нём SOLID, и не понять подход Сказать я пытался: «Профанов нету в гите» Но тут же раздался противный голос в мите Голос в мите
«Мне больно видеть чистый код, пишу сплошной огромный баг Я очень много лет хочу чтоб невозможен был дебаг Мне некомфортно в чистоте, и я мечтаю об одном: Скорее SOLID разнести, раздуть свой старый жирный код Проклятый старый код»
Жил былдокодер, тупой и жутко злой Никто не вспомнил о нём зимой дебажной той Коллеги не стали его клинкоду учить Макбуки достали, решили сами чинить Глюки и баги
«Мне больно видеть чистый код, пишу сплошной огромный баг Я очень много лет хочу чтоб невозможен был дебаг Мне некомфортно в чистоте, и я мечтаю об одном: Скорее SOLID разнести, раздуть свой старый жирный код Проклятый старый код»
И эту репу стороной обходит айти люд И суеверные твердят: «Там ламеры живут»
Пятница, вечер, а я все продолжаю тыкать свой kui в ноды кубернетиса.
Node pods
Натыкал такое, добавил две новые команды: Node pods и Top node pods. Первая позволяет посмотреть все поды ноды. А вторая сделать топ поды ноды.
И если поды ноды kubectl умеет показывать из коробки, как-то так:
kubectl get po -A --field-selector spec.nodeName=<node_name>
То с топами подов нодов пришлось немного повозиться, kubectl не может сам сделать топ поды ноды, говорит такое:
kubectl top po -A --field-selector spec.nodeName=<node_name>
Error from server (BadRequest): "spec.nodeName" is not a known field selector: only "metadata.name", "metadata.namespace"
Пришлось ему немного помочь, сначала я запомнил поды ноды в переменную np
np=$(
kubectl get po -A --field-selector spec.nodeName=<node_name> | \
awk '{print $2}'
)
Потом сделал топ всех подов и грепнул поды ноды
kubectl top po -A | grep -F "$np"
И еще там были сопутствующие изменения и вот это вот все.
Позанимался немного с нодами и подумал что удобно было бы выбирать ноды из вывода kubectl top no, добавил это. Команда (top) доступна на первом шаге (выбор кластера) и через "быстрые команды".
Использую такую штуку в терминале info-bar о которой я писал тут, инфо бар показывает git status, если $PWD содержит папку .git. Сегодня занимался с репами, крутил вертел по разному, в какой-то момент вкладка терминала зафризилфсь. Оказалось что info-bar плохо переносит большое количество информации от git status'а
$ git status -sb | wc -l
9451
Пришлось ограничить вывод 50 строками, теперь так:
git_sts_depth=50
...
git -c color.ui=always status -sb | head -$git_sts_depth
Заодно смердил в мастер новую версию в которой глаза заменены на, эм, ну увидите)
Песня "3-е сентября" стала знаковым культурно-социальным явлением, на юбилей песни решил добавить в piu-piu знаменитый куплет целиком. Пришлось немного повозиться c переделкой но в итоге получилось добавить новый функционал не сломав старый. Теперь текст для рекламных самолетов можно задать как переменной так и массивом. Каждый следующий самолет будет выводить новую строку текста из массива по кругу. Я календарь переверну...
Буквально за 15 минут собрал демку для просмотра алертов tenis'а с помощью bashui. Я использовал "быструю" функцию для создания меню (таблиц). Подробней про эту функцию можно почитать тут. Кнопки бутафорские просто для иллюстрации)
Программист из Индонезии разработал небольшой шуточный проект GitHub Profile Roast. Как следует из употреблённого в разговорном оттенке слова «roast» в названии, целью сервиса является творчески и с шутками оскорбить пользователя, максимально используя для этого личные детали. Делать это сервис пытается на основе аккаунта GitHub.
Посетителю предлагается ввести имя своего аккаунта на GitHub. Затем сервис подтянет данные из GitHub и страница выплюнет несколько абзацев креативных оскорблений, умело связанных с личными данными и проектами на заданном аккаунте. К примеру, сервис может ехидно высказаться о низкой популярности профиля или попсовости выбранного стека технологий.
Сервис работает на английском и французском языках, а также на нескольких неевропейских, популярных в Юго-Восточной Азии (хинди, индонезийский, корейский, японский, китайский). Русского в этом списке нет.
Работает это всё через доступ к API компании OpenAI. Какой-либо умной защиты промпта нет. Как продемонстрировали в микроблогах, провести инъекции в промпт было относительно легко.
Из других любопытных наблюдений: сервис отказывается работать с некоторыми профилями. Среди замеченных в подобном Линус Торвальдс (имя пользователя torvalds) и часть аккаунтов компаний, к примеру, Microsoft и Google. Вместо череды колкостей сайт выдаёт вежливый отказ оскорблять этого пользователя. Возможно, это некий чёрный список, который автор сервиса заложил, чтобы сохранить механическую целостность фронтальной части своей головы.