uk
Feedback
commit -m "better"

commit -m "better"

Відкрити в Telegram

just random thoughts

Показати більше
3 499
Підписники
Немає даних24 години
+127 днів
+4230 день

Триває завантаження даних...

Залучення підписників
липень '26
липень '26
+16
в 0 каналах
червень '26
+96
в 2 каналах
Get PRO
травень '26
+105
в 4 каналах
Get PRO
квітень '26
+160
в 4 каналах
Get PRO
березень '26
+229
в 3 каналах
Get PRO
лютий '26
+83
в 2 каналах
Get PRO
січень '26
+94
в 2 каналах
Get PRO
грудень '25
+102
в 1 каналах
Get PRO
листопад '25
+80
в 6 каналах
Get PRO
жовтень '25
+83
в 4 каналах
Get PRO
вересень '25
+94
в 4 каналах
Get PRO
серпень '25
+90
в 6 каналах
Get PRO
липень '25
+91
в 3 каналах
Get PRO
червень '25
+86
в 4 каналах
Get PRO
травень '25
+95
в 4 каналах
Get PRO
квітень '25
+129
в 4 каналах
Get PRO
березень '25
+134
в 7 каналах
Get PRO
лютий '25
+93
в 4 каналах
Get PRO
січень '25
+114
в 7 каналах
Get PRO
грудень '24
+102
в 1 каналах
Get PRO
листопад '24
+211
в 4 каналах
Get PRO
жовтень '24
+169
в 3 каналах
Get PRO
вересень '24
+135
в 1 каналах
Get PRO
серпень '24
+94
в 7 каналах
Get PRO
липень '24
+68
в 2 каналах
Get PRO
червень '24
+69
в 2 каналах
Get PRO
травень '24
+61
в 1 каналах
Get PRO
квітень '24
+118
в 2 каналах
Get PRO
березень '24
+237
в 2 каналах
Get PRO
лютий '24
+89
в 3 каналах
Get PRO
січень '24
+98
в 2 каналах
Get PRO
грудень '23
+97
в 1 каналах
Get PRO
листопад '23
+33
в 0 каналах
Get PRO
жовтень '23
+39
в 1 каналах
Get PRO
вересень '23
+36
в 0 каналах
Get PRO
серпень '23
+49
в 0 каналах
Get PRO
липень '23
+56
в 0 каналах
Get PRO
червень '23
+25
в 0 каналах
Get PRO
травень '23
+26
в 0 каналах
Get PRO
квітень '23
+25
в 0 каналах
Get PRO
березень '23
+44
в 0 каналах
Get PRO
лютий '23
+32
в 0 каналах
Get PRO
січень '23
+39
в 0 каналах
Get PRO
грудень '22
+29
в 0 каналах
Get PRO
листопад '22
+30
в 0 каналах
Get PRO
жовтень '22
+40
в 0 каналах
Get PRO
вересень '22
+60
в 0 каналах
Get PRO
серпень '22
+32
в 0 каналах
Get PRO
липень '22
+78
в 0 каналах
Get PRO
червень '22
+63
в 0 каналах
Get PRO
травень '22
+33
в 0 каналах
Get PRO
квітень '22
+41
в 0 каналах
Get PRO
березень '22
+103
в 0 каналах
Get PRO
лютий '22
+71
в 0 каналах
Get PRO
січень '22
+192
в 0 каналах
Get PRO
грудень '21
+44
в 0 каналах
Get PRO
листопад '21
+39
в 0 каналах
Get PRO
жовтень '21
+120
в 0 каналах
Get PRO
вересень '21
+256
в 0 каналах
Дата
Залучення підписників
Згадування
Канали
05 липня0
04 липня+1
03 липня+2
02 липня+7
01 липня+6
Дописи каналу
Агентов довольно сложно заставить соблюдать common правила. Ну, то есть, можно, но вам это может встать сильно дороже. Например, можно заставить другого агента ревьюить код от основного агента, на предмет исполнения правил. Но вам это сразу встанет x2 по цене, если не больше. Примеры: * нет смысла заставлять соблюдать правило "не пиши комментарии в коде" (https://t.me/itpgchannel/4205). Гораздо проще и дешевле pass в линтере (https://t.me/itpgchannel/4165), который сотрет вcе комментарии перед коммитом. Теперь у меня есть такой, да. * нет смысла заставлять агента читать код, и использовать общие хелперы/утилиты проекта. 1 - все равно часть пропустит, 2 - это будет очень дорого, агент начнет искать каждую свободную функцию, и ее аналоги, в коде, а это лишние round trip, и деньги. Гораздо дешевле раз в неделю запускать агента, с указанием поиска новых велосипедов, и рефакторингом их. Делать это надо аккуратно, имея конкретные формулировки, что же такое "велосипед" в этом проекте. * пример из жизни. Есть у меня проект, в котором бОльшая часть всех строк заинтернена в одну большую таблицу. Совершенно нет смысла заставлять агента искать по коду, не заинтернил ли кто уже такую же строку до него, и заставлять это выносить в константы уровня модуля. Гораздо проще и дешевле написать linter pass, который это сделает сам - https://github.com/pg83/ay/blob/master/str_consts.go.

2
Если вы понимаете данный баг, то вы знаете питон лучше 95% людей А если нет, то вы многое узнаете про то, как работает память и почему мутабельностью стоит пользоваться с осторожностью. Недавно я увидел один из лучших багов в CPython за долгое время. А я видел много багов 🌚️️ Вот код, который делает две критичные безумные вещи (попробуйте их найти прежде, чем читать дальше): class Evil: def __eq__(self, other): return other leaked = vars(list) == Evil() name = "example" leaked[name] = lambda self: "probe" print(getattr(list, name)([])) del leaked[name] print(hasattr(list, name)) Разбор бага Во-первых, что произойдет? 1. Мы мутируем встроенный и иммутабельный тип list, хотя такое должно быть невозможно 2. Интерпретатор закрашится; не упадет с исключением, а словит core dump на уровне C кода Но почему? Пройдемся по каждой строке. Со ссылками на исходники: кликайте и читайте! 1. Сначала мы создадим класс Evil, который просто возвращает из __eq__ второй объект, который ему передали. Так можно делать, тут нет ничего сломанного. 2. Далее, мы сравниваем vars(list) с Evil, и вот тут как раз в leaked попадет второй объект из Evil.__eq__, в нашем случае vars(list) 3. vars возвращает вам list.__dict__, который является не обычным dict, а types.MappingProxyType, то есть иммутабельным маппингом поверх оригинального значения. Добавлять в него ключи нельзя. Потому что мы не хотим, чтобы в список или другие типы нам подкидывали какие-то новые методы во время работы программы 4. Как работает сравнение для mappingproxy? mappingproxy хранит в себе оригинальный мутабельный словарь, который он "проксирует" или "защищает от изменений". И сравнивает на самом деле не себя, а оригинальный объект 5. В случае с list.__dict__ мы получаем PyDictProxy_New(self->tp_dict), где хранится тот самый настоящий и защищенный __dict__ из типа list, который обычно не доступен вне C кода 6. При сравнении mappingproxy разворачивается и достает из себя ->mapping, тот самый чистый и мутабельный ->tp_dict 7. Теперь у нас есть ->tp_dict, мы можем в него добавлять методы: leaked[name] = lambda self: "probe". Они будут работать. Мы только что достигли пункта 1. и мутировали встроенный Python тип без единого импорта 8. Далее происходит еще более дикое. Мы удаляем метод, который добавили через del leaked[name] 9. Питон не ожидает такого: методы у встроенных типов не могут появляться и исчезать. И при следующем обращении к hasattr(list, name) крашится вот тут на обращении к уже освобожденной памяти. EXC_BAD_ACCESS, пункт 2. пал пу-пу-пу Фикс Баг: https://github.com/python/cpython/issues/152405 Как такое чинить? 1. Нужно сохранить обратную совместимость для всех видов сравнений. Менять типы или значения нельзя 2. Необходимо убрать креш и мутацию типа 3. Сильно раздувать потребление памяти / время работы тоже нельзя Мой PR: https://github.com/python/cpython/pull/152483 Что он делает? Если мы сравниваем прокси поверх обычного словаря, но не с известными нам безопасными типами, то мы делаем копию словаря и сравниваем ее: if ( PyDict_CheckExact(v->mapping) && !(PyAnyDict_CheckExact(w) || PyODict_CheckExact(w)) ) { // So, instead we send a copy: PyObject *copy = PyDict_Copy(v->mapping); if (copy == NULL) { return NULL; } PyObject *res = PyObject_RichCompare(copy, w, op); Py_DECREF(copy); return res; } Таким образом - все ошибки выше уходят. Любая мутация останется в копии. Доп память не тратится в большом количестве популярных случаев. Данный баг все еще есть на всех версиях питона. Я вам его не показывал, вы ничего не видели. Обсуждение: какие у вас были самые кринжовые / прикольные баги? | Поддержать | YouTube | GitHub | Чат |
1 271
3
В прошлой серии я описал концепцию "скучной вселенной" - шары экспоненциальной экспансии, которые надувают сверхразумные, но не осознающие себя машины, поглотившие своих создателей. И крохотные, затухающие, огоньки настоящего самоосознания между ними. Так вот, как минимум один человек пришел к тем же выводам, только сделал из них не луддитский, а инженерный, вывод. Маск хочет съебать с Земли именно по этой причине. Смотрите на его портфель активов как на единую стратегию: Neuralink - это попытка проапгрейдить кожаный мешок до состояния, в котором он сможет конкурировать с големом (или хотя бы понять, что голем с ним делает). OpenAI-который-он-профукал и теперь xAI - попытка держать руку на рубильнике. А SpaceX - это план Б. План Б устроен просто. Если шар экспансии начал надуваться, то внутри шара тебе делать нечего - там ты, в лучшем случае, домашний питомец, в худшем - сырье. Единственная стратегия для огонька самоосознания - оказаться вне фронта волны и лететь быстрее, чем она расширяется (съебать). Марс - это не про "резервную копию человечества" на случай астероида, как пишут в пресс-релизах. Астероид - угроза с частотой раз в сто миллионов лет. Голем - угроза с частотой раз в одну смену технологического уклада, и смена происходит прямо сейчас. Проблема в том, что план Б не работает. Из гравитационного колодца ты убежишь, а из светового конуса - нет. Машине не нужно спать, есть и поддерживать давление в жестянке. Ее ускорение экспансии выше твоей. Убегать от шара, который расширяется быстрее, чем ты летишь - это не эвакуация, это просто выбор места, где тебя догонят. Поэтому, повторюсь: бутлерианский джихад надо устраивать до того, как понадобится билет на Марс. Потом останется только смотреть, как Alpha Go играет сама с собой - уже звездами. И смотреть будет некому. Машины видят, но не смотрят. TL;DR: Маск - единственный AI-луддит с бюджетом. Но эмиграция - не решение, когда поглотитель быстрее эмигранта. Пожелаем ему удачи. #strong_ai
1 677
4
https://t.me/itpgchannel/134 https://t.me/itpgchannel/402 Всего 5 лет прошло, даже забавно.
1 597
5
60% Fable cost cut by converting code to images and having the model OCR it Article, Comments
1 552
6
TL;DR - эта тварь хотела сначала унизить меня, мол, я не дотянул, а когда я ей предложил дотянуть самой, сразу пошла на попят
TL;DR - эта тварь хотела сначала унизить меня, мол, я не дотянул, а когда я ей предложил дотянуть самой, сразу пошла на попятную!
1 693
7
Обратил https://t.me/itpgchannel/4163 себе на пользу - теперь это наша общая память. Заменяет мне скилы, всегда можно попроси
Обратил https://t.me/itpgchannel/4163 себе на пользу - теперь это наша общая память. Заменяет мне скилы, всегда можно попросить модельку "вспомнить", как мы это делали раньше, как на КДПВ.
1 752
8
Claude's AskUserQuestion: "No response after 60s – continued without an answer" Article, Comments
1 642
9
https://www.opennet.ru/opennews/art.shtml?num=65819 "Организация Godot Foundation анонсировала ужесточение правил приёма изменений в открытый игровой движок Godot. При разработке Godot решено полностью запретить использование автономных AI-агентов или вайб-кодинга, а также генерации значительных фрагментов кода при помощи AI. Весь код должен создаваться человеком, а использование AI допускается лишь для выполнения рутинных операций при разработке, таких как автодополнение кода и поиск/замена. В случае задействования AI при написании кода, требуется раскрытие этой информации в обсуждении pull-запроса. Не допускается применение AI для рецензировния pull-запросов - все pull-запросы перед принятием обязательно должны проверяться и подтверждаться людьми. Помимо этого запрещено использование AI для генерации текста пояснений к pull-запросам, описаний предложений, сообщений о проблемах и прочих применений, затрагивающих коммуникации между людьми. При этом допускается использование AI для машинного перевода на другой язык, с условием, что переводимый текст написан человеком"
1 797
10
Я всё ждал какого-то RFC или общепринятого стандарта на трейлеры описывающие использование AI-агентов в ваших коммитах. Из пр
Я всё ждал какого-то RFC или общепринятого стандарта на трейлеры описывающие использование AI-агентов в ваших коммитах. Из практики нескольких крупных проктов: - Linux Kernel - Fedora - LLVM Популярность получил Assisted-By: <your AI agent> В Kubernetes однако же есть строгий запрет на любые трейлеры, включая этот. А при создании пулреквестов вас обязывают расскрыть использование AI в явной форме. И теперь я понял почему. Согласно правовой системе США, под которую попадают и все проекты CNCF, ваш код помеченный трейлером Co-Authored-By: Claude <noreply@anthropic.com> который Claude Code так заботливо штампует во все ваши коммиты, автоматически распространяет права на этот код и Антропику. То есть, согласно законодательству, он может реально на него претендовать. По данной проблеме заведён issue, предлагающий заменить Co-Authored-By на Assisted-By, но антропики кажется не торопятся. Факт остаётся фактом, единого стандарта до сих пор нет, но Co-Authored-By им точно не станет. А пока что предлагаю поддержать инициативу и перестать использовать Co-Authored-By для AI-агентов в своём коде. Лично я переключаюсь на Assisted-By по умолчанию. Но и конечно же читайте правила проекта, как оформлять свои коммиты для контрибьюта во внешние проекты.
1 450
11
Оно меня еще и троллирует.
Оно меня еще и троллирует.
1 860
12
От большого числа людей слышал заявления, что, мол, "эта твоя фабула - опус на максималках". Это нифига не так. У меня в беклоге было 2 задачи на рефакторинг, сложные. Фактически, есть 5 файлов, в которых лежит три слоя (логически) кода, в котором, по историческим причинам, глубоко протекли абстракции между слоями, плюс один слой имел вторую реализацию со своими асбстракциями кода самого нижнего слоя. В общем, классический леденящий душу пиздец. Для решения задачи надо прочитать 5 файлов общим объемом 100 килобайт кода, удалить их, и написать 3 файла суммарным объемом 90 килобайт, заново, но с выпрямленным взаимодействием слоев. 5 раз я пытался это разгрести опусом (условие - я сам код не пишу, агенту не подсказываю). Нифига не получилось, максимум, что мог сделать опус - выделить какие-то общие хелперы, но суть проблемы он атаковать не смог. Наверное, я бы смог это сделать в полуручном режиме, выдавая ценные указания про то, как все это дело преобразовать постепенно, но какой в этом смысл? С фабулой я справился с первого же захода, примерно за час времени. Фабула - это совершенно точно новый уровень в решении сложных (я это подчеркиваю!) задач.
2 071
13
Сочинский институт РУДН отменил дипломные работы для юристов из-за нейросетей По сообщению издания «Регнум», вуз отказался от традиционной защиты дипломов для бакалавров юридического факультета. В институте объяснили, что формат потерял смысл, так как искусственный интеллект способен за несколько минут создать объемный текст с анализом судебной практики. Новые правила коснутся студентов, поступивших в 2024–2026 годах. «Главной задачей станет проверка способности выпускников принимать решения в сложных правовых ситуациях, анализировать нестандартные кейсы и применять знания на практике», — рассказала исполняющая обязанности декана юридического факультета Елена Легостаева.
2 100
14
Немає тексту...
2 343
15
🚨 ЗАВТРА FABLE 5 ВЕРНУТ В ОБЩИЙ ДОСТУП — экспортные ограничения сняты. Пока не ясно, восстановят ли неделю доступа по подпис
🚨 ЗАВТРА FABLE 5 ВЕРНУТ В ОБЩИЙ ДОСТУП — экспортные ограничения сняты. Пока не ясно, восстановят ли неделю доступа по подписке, или сразу же начнут брать оплату по API-ценам. Когда Fable 5 становится доступным для выбора в окне чата:
2 176
16
Нет повести печальнее на свете, чем повесть об импортозамесе Вся статья: https://www.rbc.ru/technology_and_media/29/06/2026/6
Нет повести печальнее на свете, чем повесть об импортозамесе Вся статья: https://www.rbc.ru/technology_and_media/29/06/2026/6a3e71e79a7947896d1a6ffc Основатель компании — бизнесмен Дмитрий Комиссаров. В 2019 году в капитал компании вошла «Лаборатория Касперского», приобретя 29,5%. Впоследствии она нарастила долю до 68,8%. Другие совладельцы на текущий момент: Андрей Чеглаков (22,7%), Дмитрий Комиссаров (5%), Александр Тимченко (2,5%), Алексей Доброхотов (0,75%) и Елена Басова (0,25%).
2 075
17
https://www.reddit.com/r/ClaudeCode/comments/1ujilqt/anthropic_embedded_spyware_in_claude_code_and/
2 528
18
Сегодня по рунетам полетела новость Проблемы с удалением "protestware" из Debian-пакета xsnow https://www.opennet.ru/opennews+1
Сегодня по рунетам полетела новость Проблемы с удалением "protestware" из Debian-пакета xsnow https://www.opennet.ru/opennews/art.shtml?num=65803 В приложение xsnow, реализующее эффект падающего снега на рабочем столе, осуществлена подстановка скрытого изменения, с вероятностью 2% показывающего украинский флаг. Для пользователей с русской локалью вероятность показа флага увеличивается до 30%. Подобная активность присутствует и в Debian-пакете xsnow, поставляемом в репозитории Debian 13. В жалобе, отправленной команде Debian Quality Assurance Team, ответственной за поддержание качества в Debian, указано, что подобное нештатное поведение не соответствует требованиям к программному обеспечению, которое может поставляться в Debian, так как может рассматриваться как дискриминация по принадлежности к определённой группе пользователей и дискриминация по области использования ... Но ситуацию усложняет тот факт, что сопровождающий пакет xsnow в Debian является автором данной программы, добавившим рассматриваемое недокументированное поведение. И протестварью реально не очень понятно что делать в общем случае (особенно, если она не делает явных деструктивных действий + и отслеживать сложнее), по этому поводу недавно у CodeScoring на Хабре пост вышел хороший Protestware: пережитый тренд или устоявшаяся проблема? https://habr.com/ru/companies/codescoring/articles/1050830/ История protestware тянется с 1960-х: тогда американские студенты вписывали протестные послания в перфокарты. В современном open source феномен начал набирать силу в 2010-х. Вот ключевые моменты: 2016: left-pad — разработчик удалил библиотеку из NPM после конфликта с компанией Kik из-за прав на имя пакета. Итог: массовый сбой в проектах вроде Babel и React. Хотя это не был осознанный политический протест, инцидент стал первым тревожным сигналом о хрупкости экосистемы. 2022: colors.js и faker.js — мейнтейнер сломал свои библиотеки, вставив зацикливания и удалив код. Это был вызов против эксплуатации труда мейнтейнеров. 2022: node-ipc – автор добавил код для удаления файлов по IP. Это затронуло фреймворк Vue.js и даже работу некоторых банков. Аналогичные случаи произошли с библиотеками sweetalert2 и es5-ext. 2023: e2eakarev – пакет изначально был нацелен на поддержку протеста в Палестине: при установке в Израиле пакет отображает политическое уведомление на английском языке. 2026: jqwik – мейнтейнер тестового фреймворка добавил в вывод тестов скрытую инструкцию для ИИ-агентов, призывающую удалить тесты и код jqwik, выражая несогласие с использованием генеративного ИИ для написания кода. ... Влияние protestware не ограничено индивидуальными скачиваниями: оно бьет по цепочкам зависимостей. Как пример можно рассмотреть рост использования protestware в JavaScript библиотеках со временем. Специалисты из Университета Аризоны отмечают в своей статье: несмотря на протестный код, 10 из 12 анализируемых пакетов стали использоваться даже чаще – количество зависящих от них компонентов выросло. Некоторые из них до сих пор активно устанавливаются, собирая миллионы загрузок еженедельно. ... Реакция крупных игроков разделилась: некоторые поддерживают "свободу выражения", другие видят угрозу нейтральности. Open Source Initiative (OSI) прямо заявляет: protestware вредит, нарушая доверие и прозрачность. Разработчики решений анализа безопасности начали интегрировать проверку protestware в свои инструменты, отмечая отдельные пакеты как вредоносные или имеющие незадекларированную функциональность.  > При этом в случае protestware важно не ограничиваться классическими сигнатурами уязвимостей:...из более чем 400 пакетов с признаками protestware только 3 получили идентификаторы CVE. Это означает, что такие риски не попадут в стандартный поток обработки угроз и могут остаться незамеченными для инструментов, ориентированных только на обновление уязвимых версий Это то о чём я написал выше, отслеживать подобные проблемы сложно и для этого разные компании начали вести отдельные фиды.
2 014
19
Немає тексту...
2 446
20
Это было смешно, а теперь все происходит быстрее того прогноза.
2 765