crocodile

Языки на букву P

Чем дальше в сторону от веба, тем более комьюнити в перле какие-то чудаки на плохую букву.

На столько часто сталкиваюсь с этим в последнее время, что всерьез начинаю думать о смене религии на питон.

Такие дела.

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

Отвлекание разработчика

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

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

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

И вдруг мне придумалось простое изящное решение - приучить разработчика постоянно отчитываться в определенный чат о том, что он делает. Это, в сочетании с хорошо организованной последовательной работой позволяет, с одной стороны, его начальнику понимать прогресс и сроки, а с другой стороны позволяет понимать, когда его можно отвлекать. Особенно хорошо, если разработчику разрешить честно писать что у него прямо сейчас прокрастинация и он ничего не делает по работе.

Этот процесс, вероятно, можно прилично автоматизировать - если последние окна - это приложения какой-то среды разработки/отладки и недавно нажимались кнопки/двигалась мышь - человек работает, если человек переключился на вконтактик-телеграм больше, чем на пару минут - у человека прокрастинация и его можно, и даже нужно, отвлекать рабочими вопросами, а если нет никакого движения - человек, возможно отсутствует (например, пьет чай), что легко проверяется, например, вебкамерой или каким-то датчиком на месте.

Что думаете? А как эту проблему решаете вы?

upd: оказывается, я не изобрел ничего нового. По сути - это андон.

Андон (в переводе с японского «лампа», англ. andon) – средство информационного управления, которое дает преставление о текущем состоянии хода производства, а также при необходимости создает визуальное и звуковое предупреждение о возникновении дефекта. Это один из главных инструментов в реализации принципа организации производства дзидока - остановка процесса ради улучшения качества -- http://www.up-pro.ru/encyclopedia/andon.html
crocodile

Perl is Dead. Python is the New Java

Недавно я увидел весьма интересную статью - Perl is Dead. Python is the New Java. В тексте много спорного, включая вставку про отладку, в которой слишком много фанатизма, но идея в заголовке, вполне возможно, и даже вероятно, сейчас правильная.

Мне последнее время приходится немножко читать/писать на питоне и я нахожу весьма удивительным, что при общей похожести очень многие вещи в нем принято делать значительно иначе и совсем не так, как в перле, и какая-либо совместимость для, например, миграции отсутствует напрочь. Это весьма неудобно - мне как раз приходится какие-то вещи переписывать с питона на перл, и другие вещи, наоборот, с перла на питон.

Например, для традиционных pack/unpack и printf/sprintf используются совершенно разные шаблоны (т.е. при одном и том же значении буквы в шаблонах отличаются полностью и означают совсем другое), причем перловый вариант, кажется, примерно полностью совпадает с классическим Си.

При этом printf/sprintf в чистом виде в питоне как бы отсутсвует, а для паддинга строк, например, видимо принято делать str(...).zfill(...).

Надо признать, что это и многое другое в питоне начинает казаться значительно более юзерфрендли, чем в перле. Серьезно, невозможно помнить наизусть шаблоны для pack/unpack и printf/sprintf, если не пишешь что-то с ними каждый день, в то время как, наример, str(...).zfill(...), наоборот - невозможно забыть.

Любопытно и то, что в Raku, судя по всему, подобные неинтуитивности исправлены.
crocodile

Rspamd

Мы тут перешли на Rspamd (пока на собственном почтовом сервере, после обкатки и фиксов будет массово для всех клиентов) и это великая вещь, но до чего же там плохая документация...

Не, документации много, и то что в ней написано - написано очень подробно. Но ненаписанной документации там еще больше.

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

Новое слово - требоисполнитель

Новое слово (и сразу слово дня) - требоисполнитель.

"Требоисполнителями называют тех, кто делает что положено и как положено, но без души, лишь бы сделать." - https://journal.tinkoff.ru/svyashchennik/

Идея дня - для сотрудников сделать медаль - требоисполнитель месяца. По аналогии с MVP (Most Valuable Person, сотрудник месяца).
crocodile

Трава высохла

Как любопытно наблюдать рост собственных пониманий про бизнес и одновременно другие бизнесы в этой же области в течени длительного времени.

Вот было время - мастерхост был для простого потребителя фактически хостинг номер один. Если не единственный, то один из максимум пяти.

А сейчас - вот смотрим на главную https://masterhost.ru, потом смотрим на главную какого-нибудь https://pq.hosting и, как вы думаете, кто из них больше понимает, что вообще нужно клиентам? )
crocodile

Мертвые не умирают

Мертвые не умирают - The Dead Don't Die, 2019

Прекрасный фильм, с кучей референсов. Видимо, так сейчас модно (Однажды в Голливуде, Люди в Черном 4 - еще больше полны еще более жирных референсов).

Самый топчик - Зельда, которая, очевидно, вампир из Выживут только любовники (но вот НЛО - это было неожиданно), "Странно", "Сентервиль. США. Очень хорошее место" - это вот прямо оттуда (ну и конечно, сцены с мечом - про Убить Билла).

Сцена с "я так больше не могу" и бабулей - это я уже где-то видел - классический фрагмент кучи фильмов про зомби.

И отдельная прелеть - диалоги. Диалоги, очевидно, отсылка к Макдонаху, и вот это, вероятно, на столько для большинства не очевидно, что фантастически прелестно.  В обзорах все пишут про топорность шуток, но все становится очевидно, если посмотреть любого Макдонаха в театре.

В отличии от однажды в голливуде, где все понятно, если знать или погуглить историю - много непонятных мест. Сентервиль - Кентервиль? Но отсылка не раскрыта, исправительное учредление для детей вроде выглядит знакомо, но не вспоминается, сцена с НЛО тоже загадочна, музыка в начале сцены как бы предвещает и вспоминаются Жандармы и инопланетяне, но потом всё идет по другому сценарию. Есть ощущение, что не хватает каких-то больших сцен, которые зачем-то вырезали, да и концовка слегка скомакана. Может быть потом выйдет режиссерская версия?
crocodile

Линукс-вей

https://askubuntu.com/questions/599208/how-to-list-grubs-menuentries-in-command-line

Изумительный пример линукс-вея.

Проблема - в grub2 более сложные конфиги и непонятно как сделать чтобы загружалось нужное ядро (в 1.99 и ранее был простой конфигурационный файл с простым списком, который можно было редактировать вручную).

Довольно быстро можно нагуглить, чтоб для того, чтобы задать нужный номер, теперь нужно не редактировать конфиг, а нужно просто указаеть его в параметре для grub-set-default.

Но если у вас сервер без ipmi или вдс без vnc, то кажется, что нет простого штатного способа получить список возможных ядер с их номерами, чтобы задать нужное.

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

И вот в конце всего обсуждения человек заметил, что если у вас bash с автодополнением, то оказывается штатный скрипт умеет по двойному TAB показывать список возможных вариантов (хотя не показывает при этом варианты с windows):

I just found out that you can just use auto-complete (pressing tab twice) on commands like grub-reboot or grub-set-default and it'll give you a list of the available boot menu entries.
crocodile

Бекапы

Переехали на новый тип бекапных серверов - современное железо, 3 диска HE10 по 10 терабайт в raidz1.

Это работает почти ровно в два раза быстре на любой околобекапной нагрузке, чем было раньше (зеркало 2х3 терабайта).

Следующая хотелка - дорасти до конфигов по 12 дисков с кешем на ссд. Но это 750+ т.р. за сервер :(