Forwarded from Научно-Технический Рэп
Вот лупы,
Что строят агентские лупы,
Что строят другие агентские лупы,
Что делают код, обойдемся без глупой
Рифмы в доме, что строит допустим Джек
Что строят агентские лупы,
Что строят другие агентские лупы,
Что делают код, обойдемся без глупой
Рифмы в доме, что строит допустим Джек
Forwarded from Python/ django
Когда баг появился где-то между сотнями коммитов, не нужно проверять историю вручную.
Запускаем:
git bisect start
git bisect bad
git bisect good <старый_рабочий_коммит>
Git будет делить историю пополам и просить отметить каждый найденный коммит:
git bisect good
git bisect bad
Через несколько шагов он покажет коммит, в котором появился баг.
Можно автоматизировать:
git bisect run pytest
Тогда Git сам прогонит тесты и найдёт виновника.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Про «породы котов»: почему классификация не работает (1/3)
Читал «Herding Cats» Рейнуотера — книга про менеджмент программистов, само название отсылает к безнадёжности затеи пасти кошек. Там есть классификация «пород»: архитектор, лихач, волшебник, минималист, разгильдяй и ещё десяток. Штука цепляющая, но как инструмент нерабочая.
Разберу в трёх частях: почему не работает, что я собрал вместо, и что при этом отвалилось.
Итак, три дефекта.
Категории не взаимоисключающие. Черты всех пород находятся в одном человеке в разной пропорции. Классификация, под которую попадает каждый, не предсказывает ничего.
Нет процедуры измерения. Как отличить «художника» от «учёного», кроме вкуса наблюдателя, — не сказано.
Описание перемешано с оценкой. «Разгильдяй» — это не наблюдение, а раздражение, оформленное как термин. Такой ярлык говорит больше о процессе, чем о человеке: если я устойчиво вижу в человеке разгильдяя, это данные о том, что моя система не даёт ему сигнала о качестве.
По сути дефект один: наблюдения у Рейнуотера дименсиональные, а оформление категориальное. Психометрика этот переход прошла давно — от четырёх темпераментов и MBTI к чертам, где нет «экстраверта», есть степень выраженности.
Практическая разница не косметическая. С типами комплементарность команды — это подбор пар людей по интуиции. Со шкалами — арифметика профиля: смотришь не «кого с кем поставить», а какие шкалы в сумме провалены. А ещё можно оценивать от наблюдаемых фактов, а не ощущений.
Дальше — что получилось вместо пород.
#post #techlead
Читал «Herding Cats» Рейнуотера — книга про менеджмент программистов, само название отсылает к безнадёжности затеи пасти кошек. Там есть классификация «пород»: архитектор, лихач, волшебник, минималист, разгильдяй и ещё десяток. Штука цепляющая, но как инструмент нерабочая.
Разберу в трёх частях: почему не работает, что я собрал вместо, и что при этом отвалилось.
Итак, три дефекта.
Категории не взаимоисключающие. Черты всех пород находятся в одном человеке в разной пропорции. Классификация, под которую попадает каждый, не предсказывает ничего.
Нет процедуры измерения. Как отличить «художника» от «учёного», кроме вкуса наблюдателя, — не сказано.
Описание перемешано с оценкой. «Разгильдяй» — это не наблюдение, а раздражение, оформленное как термин. Такой ярлык говорит больше о процессе, чем о человеке: если я устойчиво вижу в человеке разгильдяя, это данные о том, что моя система не даёт ему сигнала о качестве.
По сути дефект один: наблюдения у Рейнуотера дименсиональные, а оформление категориальное. Психометрика этот переход прошла давно — от четырёх темпераментов и MBTI к чертам, где нет «экстраверта», есть степень выраженности.
Практическая разница не косметическая. С типами комплементарность команды — это подбор пар людей по интуиции. Со шкалами — арифметика профиля: смотришь не «кого с кем поставить», а какие шкалы в сумме провалены. А ещё можно оценивать от наблюдаемых фактов, а не ощущений.
Дальше — что получилось вместо пород.
#post #techlead
❤2
Forwarded from Научно-Технический Рэп
1992: С++ is gay
1997: Perl is gay
2002: PHP is gay
2007: Java is gay
2012: Java is still gay
2017: ok, Java is still gay, but python is the gayest
2022: ML is gay
2024: AI is gay
2026: HR is gay
*не является пропагандой нетрадиционных ценностей, хотя тут уже по-аглицки все и так читать разучились айти блять
1997: Perl is gay
2002: PHP is gay
2007: Java is gay
2012: Java is still gay
2017: ok, Java is still gay, but python is the gayest
2022: ML is gay
2024: AI is gay
2026: HR is gay
*не является пропагандой нетрадиционных ценностей, хотя тут уже по-аглицки все и так читать разучились айти блять
Про «породы котов»: что вместо них (2/3)
В первой части — почему классификация пород не работает. Теперь что я собрал взамен.
Главное: это измеряет не уровень. Оси мерят паттерн поведения — что человек делает по умолчанию и что должно произойти, чтобы он поступил иначе. Ни один полюс не лучше другого, у каждого своя цена, поэтому идеального профиля не существует — есть подходящий задаче.
Это принципиально. Сильный и слабый специалист могут иметь одинаковый профиль, а два сеньора одного грейда — противоположный. Джун, начинающий с абстракций, и сеньор, начинающий с данных, отличаются не паттерном, а тем, чем паттерн подпёрт. Поэтому к каждой оси прилагается вопрос-различитель. Например, для «скорость ↔ добротность»: он остановился, потому что решил, что хватит, или потому что не видит дефекта? Первое — паттерн, второе — квалификация. Это разные разговоры с человеком.
Лестница градаций. От −3 до +3, одна для всех осей. Знак — направление, величина — уровень доказательства, которого человек требует, чтобы уйти со своего полюса:
±1 — признак того, что противоположный полюс уместен (сигнал)
±2 — оценка, что свой полюс проигрывает (расчёт)
±3 — свой полюс уже не сработал (факт)
Каждая ось определяет только одно: что на ней значит «свой полюс проигрывает».
Четыре оси:
Конкретика ↔ абстракция. На каком уровне человек держит задачу: открывает данные и код или начинает со схемы и постановки.
Эксплуатация ↔ исследование. Тяготение к освоенному против незнакомого. Территория — подход, инструмент или предметная область. По сути exploration/exploitation как в RL: распределение ограниченного ресурса между использованием известного и проверкой неизвестного.
Скорость ↔ добротность. Личный порог «достаточно хорошо» для того, что сдаёшь.
Кооперация ↔ самостоятельность. Как человек по умолчанию организует работу. Важно: не про затык — кооперация начинается до него, поэтому ось не путается с квалификацией.
Плюс к каждой оси — что наблюдать в двух контекстах (разработка и DS), риски обоих полюсов и ориентир по типичному значению для роли.
В третьей части — восемь кандидатов было, четыре осталось. Почему отвалились остальные, и какие правила из этого вышли.
#post #techlead
В первой части — почему классификация пород не работает. Теперь что я собрал взамен.
Главное: это измеряет не уровень. Оси мерят паттерн поведения — что человек делает по умолчанию и что должно произойти, чтобы он поступил иначе. Ни один полюс не лучше другого, у каждого своя цена, поэтому идеального профиля не существует — есть подходящий задаче.
Это принципиально. Сильный и слабый специалист могут иметь одинаковый профиль, а два сеньора одного грейда — противоположный. Джун, начинающий с абстракций, и сеньор, начинающий с данных, отличаются не паттерном, а тем, чем паттерн подпёрт. Поэтому к каждой оси прилагается вопрос-различитель. Например, для «скорость ↔ добротность»: он остановился, потому что решил, что хватит, или потому что не видит дефекта? Первое — паттерн, второе — квалификация. Это разные разговоры с человеком.
Лестница градаций. От −3 до +3, одна для всех осей. Знак — направление, величина — уровень доказательства, которого человек требует, чтобы уйти со своего полюса:
±1 — признак того, что противоположный полюс уместен (сигнал)
±2 — оценка, что свой полюс проигрывает (расчёт)
±3 — свой полюс уже не сработал (факт)
Каждая ось определяет только одно: что на ней значит «свой полюс проигрывает».
Четыре оси:
Конкретика ↔ абстракция. На каком уровне человек держит задачу: открывает данные и код или начинает со схемы и постановки.
Эксплуатация ↔ исследование. Тяготение к освоенному против незнакомого. Территория — подход, инструмент или предметная область. По сути exploration/exploitation как в RL: распределение ограниченного ресурса между использованием известного и проверкой неизвестного.
Скорость ↔ добротность. Личный порог «достаточно хорошо» для того, что сдаёшь.
Кооперация ↔ самостоятельность. Как человек по умолчанию организует работу. Важно: не про затык — кооперация начинается до него, поэтому ось не путается с квалификацией.
Плюс к каждой оси — что наблюдать в двух контекстах (разработка и DS), риски обоих полюсов и ориентир по типичному значению для роли.
В третьей части — восемь кандидатов было, четыре осталось. Почему отвалились остальные, и какие правила из этого вышли.
#post #techlead
❤2
Про «породы котов»: чего в модели нет (3/3)
Кандидатов в оси было восемь, выжило четыре. Отстрел дал больше, чем придумывание: из причин отклонения вышли проверки, применимые к любой оси.
Ось живёт только там, где норма оставляет свободу. DoD задаёт две вещи: как делать — планка качества, стиль, объём проверки; что сдать — предмет результата. В первом отклонение это предпочтение, то есть черта. Во втором — несделанная задача, то есть дисфункция с причиной. На этом отвалился кандидат «артефакт ↔ понимание»: считать результатом работающую вещь или объяснённое явление — вопрос постановки, а не человека.
Ось не должна быть производной от других. Признак: один эпизод засчитывается дважды и в профиле выглядит как два независимых сигнала. Так ушёл «аппетит к риску» — это чтение комбинации других осей, а не самостоятельная величина. Симптом, по которому это ловится: ось расползается в соседние при каждой переформулировке.
Ось мерит процесс, а не его осадок. T-shape — глубина в одном плюс поверхностное владение соседним — складывается из сотни решений «идти ли в незнакомое» за годы. Это результат, а не механизм; целиком свернулся в ось «эксплуатация ↔ исследование».
У оси должно быть два настоящих полюса. «Пишет текст до кода» полюса не имеет: не думать нельзя, поэтому минус пришлось бы определять через отсутствие текста, а отсутствие — нуль, а не полюс.
Полезный побочный эффект: эти же проверки объясняют, почему не работают многие популярные классификации разработчиков. Обычно они мерят либо осадок, либо норму.
#post #techlead
Кандидатов в оси было восемь, выжило четыре. Отстрел дал больше, чем придумывание: из причин отклонения вышли проверки, применимые к любой оси.
Ось живёт только там, где норма оставляет свободу. DoD задаёт две вещи: как делать — планка качества, стиль, объём проверки; что сдать — предмет результата. В первом отклонение это предпочтение, то есть черта. Во втором — несделанная задача, то есть дисфункция с причиной. На этом отвалился кандидат «артефакт ↔ понимание»: считать результатом работающую вещь или объяснённое явление — вопрос постановки, а не человека.
Ось не должна быть производной от других. Признак: один эпизод засчитывается дважды и в профиле выглядит как два независимых сигнала. Так ушёл «аппетит к риску» — это чтение комбинации других осей, а не самостоятельная величина. Симптом, по которому это ловится: ось расползается в соседние при каждой переформулировке.
Ось мерит процесс, а не его осадок. T-shape — глубина в одном плюс поверхностное владение соседним — складывается из сотни решений «идти ли в незнакомое» за годы. Это результат, а не механизм; целиком свернулся в ось «эксплуатация ↔ исследование».
У оси должно быть два настоящих полюса. «Пишет текст до кода» полюса не имеет: не думать нельзя, поэтому минус пришлось бы определять через отсутствие текста, а отсутствие — нуль, а не полюс.
Полезный побочный эффект: эти же проверки объясняют, почему не работают многие популярные классификации разработчиков. Обычно они мерят либо осадок, либо норму.
#post #techlead
❤2
Forwarded from ИИ Песочница Sber AI Lab
Please open Telegram to view this post
VIEW IN TELEGRAM
Языковые модели в 2025-2026 бегло пишут по-русски, но с характерным акцентом. Канцелярит вместо глаголов («осуществление внедрения» вместо «внедрили»), кальки английского синтаксиса («стоит отметить, что»), ровная плотность текста без живых частиц «же/ведь/вот». У свежих моделей добавился новый слой: рубленые псевдофилософские фразы, эмодзи как декор, псевдотерапевтический тон.
Дело не в детекторах. GPTZero и подобные обучены на английском и на русском массово ошибаются в обе стороны: живой текст человека помечают как AI, а гладкий AI-текст пропускают. Даже лучшая специализированная модель (RuRoBERTa, AINL-Eval 2025) даёт около 86% точности. Гоняться за обходом детектора на русском бессмысленно: точка отсчёта постоянно едет. Дело в том, что текст реально звучит чужим: теряется голос, ритм, конкретика.
Английские humanizer'ы эту задачу для русского не решают: маркеры другие, физика языка другая.
Скилл для Claude humanizer-ru как раз про это: 54 паттерна AI-текста в 12 категориях, 20 конструкций под жёстким запретом, четырёхпроходный аудит и калибровка под голос автора по образцам вашего письма.
Ставится плагином в Claude Code/Cowork, через skills.sh или вручную в Claude.ai. Работает и с Codex, Cursor, Gemini CLI.
Репо: github.com/ilyautov/humanizer-ru
#opensource
Дело не в детекторах. GPTZero и подобные обучены на английском и на русском массово ошибаются в обе стороны: живой текст человека помечают как AI, а гладкий AI-текст пропускают. Даже лучшая специализированная модель (RuRoBERTa, AINL-Eval 2025) даёт около 86% точности. Гоняться за обходом детектора на русском бессмысленно: точка отсчёта постоянно едет. Дело в том, что текст реально звучит чужим: теряется голос, ритм, конкретика.
Английские humanizer'ы эту задачу для русского не решают: маркеры другие, физика языка другая.
Скилл для Claude humanizer-ru как раз про это: 54 паттерна AI-текста в 12 категориях, 20 конструкций под жёстким запретом, четырёхпроходный аудит и калибровка под голос автора по образцам вашего письма.
Ставится плагином в Claude Code/Cowork, через skills.sh или вручную в Claude.ai. Работает и с Codex, Cursor, Gemini CLI.
Репо: github.com/ilyautov/humanizer-ru
#opensource
GitHub
GitHub - ilyautov/humanizer-ru: Скилл для Claude. Убирает 54 признака нейросети в русском тексте: канцелярит, кальки, фингерпринты…
Скилл для Claude. Убирает 54 признака нейросети в русском тексте: канцелярит, кальки, фингерпринты ChatGPT и Claude. Метит в то, что меряют GPTZero, DivEye, RuBERT: поднимает perplexity и burstines...
👍3
Forwarded from Научно-Технический Рэп
Если вы хотите устранить течь, просто расскажите ей o java memory model
😁2
Вот ТГ сделали режим написания статей, а работает хреново. Как тестировали - непонятно. Хотел прикрепить к посту фотку своей книги. Пытался раз 10 разными способами, а в итоге нефига.
🤔2