ClickHouse

Понедельник, 20 июня, 13:42
Тем временем, за время коронавируса в кликхаус завезли конфиги в yaml и json в полях.

Чудо то какое, 21ый век.

Openvz 9

Понедельник, 20 июня, 5:27
Кто-то уже пробовал Openvz 9? Стабильной восьмой версии так и не случилось, обратную совместимость со старыми контейнерами, видимо, потеряли...

https://www.virtuozzo.com/company/blog/product-updates/virtuozzo-hybrid-server-9-alpha/ выглядит спорно, особенно

  • XFS is now the default filesystem used in Containers

  • QCOW2 disk images can be used as virtual disks for Containers

но, допустим, для мира энтерпрайза это может как-то адекватно.

Заодним, что всё-таки с read и write amplification у ext4 vs xfs vs zfs?

В одном исследовании получалось, что у xfs write amplification сильно больше, чем у ext4 (не смог его нагуглить), в другом (раз, два) получается наоборот.
При этом, во всех случаях, которые я наблюдал на практике, все большие сетапы с xfs под хостинговые задачи (миллионы мелких файлов) имели большие проблемы с тормозами файловой системы и это всегда отлично решалось переходом на ext4.

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

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

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

Такие дела.

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

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

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

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

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

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

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

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

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

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

Perl is Dead. Python is the New Java

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

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

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

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

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

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