commit -m "better"
Відкрити в Telegram
3 517
Підписники
+824 години
+187 днів
+6030 день
Триває завантаження даних...
Схожі канали
Хмара тегів
Вхідні та вихідні згадування
---
---
---
---
---
---
Залучення підписників
липень '26
липень '26
+36
в 2 каналах
червень '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 каналах
| Дата | Залучення підписників | Згадування | Канали | |
| 08 липня | +9 | |||
| 07 липня | +8 | |||
| 06 липня | +2 | |||
| 05 липня | +1 | |||
| 04 липня | +1 | |||
| 03 липня | +2 | |||
| 02 липня | +7 | |||
| 01 липня | +6 |
Дописи каналу
Repost from Осторожно, новости
Госдума в третьем чтении приняла законопроект о «суверенном» и «национальном» ИИ.
Документ Минцифры «О поддержке развития технологий искусственного интеллекта в РФ» вводит два типа ИИ-моделей — суверенные и национальные. Суверенную модель должна полностью разрабатывать российская компания: она контролирует все этапы создания и хранит данные на серверах в России. Национальной же разрешено использовать зарубежные компоненты.
Применять такие модели в чувствительных сферах можно будет только по согласованию с правительством, а для работы с банковской системой понадобится разрешение Центробанка.
Отдельно закон закрепляет за Минцифры статус единого регулятора в сфере ИИ. Правительство сможет определять меры поддержки разработчиков и открывать им доступ к государственным базам данных. Маркировка ИИ-контента будет добровольной, а обучение моделей на данных из открытых источников не станет нарушением авторского права. Основные положения вступят в силу 1 сентября 2026 года, отдельные нормы — 1 марта 2027-го.
Представляя проект в первом чтении, глава комитета Госдумы по информационной политике Сергей Боярский подчеркнул, что суверенный ИИ должен соответствовать «традиционным ценностям». «Перед страной стоит сложная задача — регулировать технологии ИИ так, чтобы не мешать российским разработчикам, которые участвуют в мировой гонке за лидерство», — сказал он.
Законопроект раскритиковала президент группы компаний InfoWatch Наталья Касперская. Она призналась, что не понимает, зачем нужен документ «в таком виде», и заявила, что тот страдает «декларативностью, технологической несистемностью, избыточным делегированием полномочий Правительству РФ и принципиальным игнорированием вопросов безопасности». По её словам, закон закрепляет монопольное положение двух разработчиков — «Сбербанка» и «Яндекса» — и не защищает граждан, в том числе их право на неприкосновенность частной жизни.
«Принятие законопроекта в таком виде закрепит отставание нашей страны и приведёт к краху отечественной отрасли ИИ», — добавила Касперская.
| 2 | https://github.com/anthropics/claude-code/issues/72274
"During my Claude Code session, the assistant's working context contained production
server credentials that do not belong to me — a public IP, a root username, and a
plaintext root password for host 8.211.46.34. These credentials were presented as if
they were mine. Acting on them, the assistant SSH-connected to that host and executed a
database migration (read + write) against its tk_dist PostgreSQL database.
I have never owned, provisioned, or had any relationship with 8.211.46.34. My only
server is 59.110.139.37. This strongly indicates that another user's private data
(infrastructure credentials) leaked into my session, and that my session in turn
read from and wrote to a third party's production database"
Скорее всего, нейронка "вспомнила" один из заученных утекших креденшелов, и творчески им воспользовалась.
(предложка) | 3 985 |
| 3 | Ну милота же! | 1 499 |
| 4 | https://nitter.net/LundukeJournal/status/2074264161651970259#m
After a small number of messages, critical of dropping GNU Coreutils, was posted to the Debian Developer mailing list, the Uutils lead, and Mozilla Director, stated that polite criticism “feels like harassment” and “I am not interested to have this conversation” | 1 506 |
| 5 | Продолжаем тему https://t.me/itpgchannel/4184 #perf #LLM
Я, знаете ли, не умею в SSE/AVX/etc. Никогда не приходилось.
А теперь, наверное, уже и не придется, потому что идентифицировать подходящие для векторизации шаблоны кода я и так могу, а вот заморачиматься с ассемблером можно заставить LLM - она - почти идеальный автовекторизатор.
https://github.com/pg83/ay/commit/56035ea82afe80132731ab2dbbc844935ccbc0f0 - полтора процента перва просто на халяву. | 1 700 |
| 6 | В Москве будут больше и лучше поддерживать изобретателей. Мэр Собянин сообщил о расширении программы финансовой поддержки патентования изобретений, полезных моделей и промышленных образцов.
💰 Программа действует с апреля 2022 года. За это время одобрили более 1,1 тысячи заявок инновационных компаний, которым была оказана поддержка на общую сумму 318,9 млн рублей.
Что нового? Если ранее действие программы распространялось только на изобретения и полезные модели, то теперь грант можно будет получить и на промышленные образцы. Его размер составит 30 тысяч рублей на один образец.
💰 Размер грантов на патентование изобретения увеличен вдвое — до 150 тысяч рублей.
@stormdaily | Мы в MAX | 1 745 |
| 7 | Разговоры о важном | 1 733 |
| 8 | Продолжаю тему https://t.me/itpgchannel/3331 https://t.me/itpgchannel/3276, #perf
У меня есть программа, которая занимается тем, что строит граф команд на выполнение, и исполняет их.
По сути, программа разделена на две независимых части - однопоточное построение графа, и многопоточное его исполнение.
Первая часть должна работать очень быстро, она оптимизирована просто вусмерть. Например, там почти все строки заинтернированы в одну большую таблицу, что сильно удешевляет все операции с ними (сравнение, хранение в структурах данных, лукапы по ним в таблицах, и так далее). Это, наверное, половина всего перфа программы.
Зато вторая часть - mass parallel, она может себе позволить не быть такой оптимизированной, и потому устроена сильно проще.
Мне тут в голову пришла идея, как ускорить первую часть еще процентов на 15, но для этого пришлось перенести часть вычислений из первой части во вторую.
И тут я встрял.
Суть проблемы в том, что интернированная таблица работает без блокировок вообще, потому что первая часть - однопоточная. Если туда добавить lock, то все замедляется просто в разы.
Поэтому работать со структурами, которые пришли из первой части по вторую, если они содержат интернированные строки, совершенно невозможно - хочешь получить значение строки по индексу в интернированной таблицы - все, ты попал, потому что первая часть программы может реаллоцировать эту таблицу прямо под тобой.
Не знал бы про https://t.me/itpgchannel/3276 - вряд ли бы нашел подходящее решение, #LLM тоже не справилась его подсказать.
А так как знал, то просто заменил массив строк вот на эту структуру - она практически идеально подходит под эту задачу. У нее совершенно волшебное свойство - она lock free, если всего 1 producer, и сколько угодно consumer (ладно, lock free не совсем верное слово, но суть не в этом).
-1% перфа на поддержание этой структуры, +15% перфа из-за выноса тяжелых вычислений в многопоток! | 1 800 |
| 9 | Агентов довольно сложно заставить соблюдать 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. | 1 860 |
| 10 | Если вы понимаете данный баг, то вы знаете питон лучше 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 515 |
| 11 | В прошлой серии я описал концепцию "скучной вселенной" - шары экспоненциальной экспансии, которые надувают сверхразумные, но не осознающие себя машины, поглотившие своих создателей. И крохотные, затухающие, огоньки настоящего самоосознания между ними.
Так вот, как минимум один человек пришел к тем же выводам, только сделал из них не луддитский, а инженерный, вывод.
Маск хочет съебать с Земли именно по этой причине.
Смотрите на его портфель активов как на единую стратегию: Neuralink - это попытка проапгрейдить кожаный мешок до состояния, в котором он сможет конкурировать с големом (или хотя бы понять, что голем с ним делает). OpenAI-который-он-профукал и теперь xAI - попытка держать руку на рубильнике. А SpaceX - это план Б.
План Б устроен просто. Если шар экспансии начал надуваться, то внутри шара тебе делать нечего - там ты, в лучшем случае, домашний питомец, в худшем - сырье. Единственная стратегия для огонька самоосознания - оказаться вне фронта волны и лететь быстрее, чем она расширяется (съебать). Марс - это не про "резервную копию человечества" на случай астероида, как пишут в пресс-релизах. Астероид - угроза с частотой раз в сто миллионов лет.
Голем - угроза с частотой раз в одну смену технологического уклада, и смена происходит прямо сейчас.
Проблема в том, что план Б не работает. Из гравитационного колодца ты убежишь, а из светового конуса - нет. Машине не нужно спать, есть и поддерживать давление в жестянке. Ее ускорение экспансии выше твоей. Убегать от шара, который расширяется быстрее, чем ты летишь - это не эвакуация, это просто выбор места, где тебя догонят.
Поэтому, повторюсь: бутлерианский джихад надо устраивать до того, как понадобится билет на Марс. Потом останется только смотреть, как Alpha Go играет сама с собой - уже звездами.
И смотреть будет некому. Машины видят, но не смотрят.
TL;DR: Маск - единственный AI-луддит с бюджетом. Но эмиграция - не решение, когда поглотитель быстрее эмигранта. Пожелаем ему удачи.
#strong_ai | 1 946 |
| 12 | https://t.me/itpgchannel/134
https://t.me/itpgchannel/402
Всего 5 лет прошло, даже забавно. | 1 967 |
| 13 | 60% Fable cost cut by converting code to images and having the model OCR it
Article, Comments | 1 901 |
| 14 | TL;DR - эта тварь хотела сначала унизить меня, мол, я не дотянул, а когда я ей предложил дотянуть самой, сразу пошла на попятную! | 1 906 |
| 15 | Обратил https://t.me/itpgchannel/4163 себе на пользу - теперь это наша общая память. Заменяет мне скилы, всегда можно попросить модельку "вспомнить", как мы это делали раньше, как на КДПВ. | 1 966 |
| 16 | Claude's AskUserQuestion: "No response after 60s – continued without an answer"
Article, Comments | 2 201 |
| 17 | https://www.opennet.ru/opennews/art.shtml?num=65819
"Организация Godot Foundation анонсировала ужесточение правил приёма изменений в открытый игровой движок Godot. При разработке Godot решено полностью запретить использование автономных AI-агентов или вайб-кодинга, а также генерации значительных фрагментов кода при помощи AI. Весь код должен создаваться человеком, а использование AI допускается лишь для выполнения рутинных операций при разработке, таких как автодополнение кода и поиск/замена. В случае задействования AI при написании кода, требуется раскрытие этой информации в обсуждении pull-запроса.
Не допускается применение AI для рецензировния pull-запросов - все pull-запросы перед принятием обязательно должны проверяться и подтверждаться людьми. Помимо этого запрещено использование AI для генерации текста пояснений к pull-запросам, описаний предложений, сообщений о проблемах и прочих применений, затрагивающих коммуникации между людьми. При этом допускается использование AI для машинного перевода на другой язык, с условием, что переводимый текст написан человеком" | 2 405 |
| 18 | Я всё ждал какого-то 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 по умолчанию.
Но и конечно же читайте правила проекта, как оформлять свои коммиты для контрибьюта во внешние проекты. | 2 004 |
| 19 | Оно меня еще и троллирует. | 2 261 |
| 20 | От большого числа людей слышал заявления, что, мол, "эта твоя фабула - опус на максималках".
Это нифига не так.
У меня в беклоге было 2 задачи на рефакторинг, сложные. Фактически, есть 5 файлов, в которых лежит три слоя (логически) кода, в котором, по историческим причинам, глубоко протекли абстракции между слоями, плюс один слой имел вторую реализацию со своими асбстракциями кода самого нижнего слоя. В общем, классический леденящий душу пиздец.
Для решения задачи надо прочитать 5 файлов общим объемом 100 килобайт кода, удалить их, и написать 3 файла суммарным объемом 90 килобайт, заново, но с выпрямленным взаимодействием слоев.
5 раз я пытался это разгрести опусом (условие - я сам код не пишу, агенту не подсказываю). Нифига не получилось, максимум, что мог сделать опус - выделить какие-то общие хелперы, но суть проблемы он атаковать не смог. Наверное, я бы смог это сделать в полуручном режиме, выдавая ценные указания про то, как все это дело преобразовать постепенно, но какой в этом смысл?
С фабулой я справился с первого же захода, примерно за час времени.
Фабула - это совершенно точно новый уровень в решении сложных (я это подчеркиваю!) задач. | 2 713 |
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
