commit -m "better"
رفتن به کانال در Telegram
4 067
مشترکین
+1124 ساعت
+567 روز
+28330 روز
در حال بارگذاری دادهها
کانالهای مشابه
ابر برچسبها
اشارات ورودی و خروجی
---
---
---
---
---
---
جذب مشترکین
اکتبر '26اکتبر '26
اکتبر '26
+309
در 8 کانالها
سپتامبر '26
+124
در 4 کانالها
Get PRO
اوت '26
+162
در 5 کانالها
Get PRO
ژوئیه '26
+132
در 6 کانالها
Get PRO
ژوئن '26
+96
در 3 کانالها
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
در 7 کانالها
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 کانالها
| تاریخ | رشد مشترکین | اشارات | کانالها | |
| 28 اکتبر | +6 | |||
| 27 اکتبر | +12 | |||
| 26 اکتبر | +6 | |||
| 25 اکتبر | +8 | |||
| 24 اکتبر | +15 | |||
| 23 اکتبر | +13 | |||
| 22 اکتبر | +4 | |||
| 21 اکتبر | +4 | |||
| 20 اکتبر | +4 | |||
| 19 اکتبر | +6 | |||
| 18 اکتبر | +14 | |||
| 17 اکتبر | +8 | |||
| 16 اکتبر | +16 | |||
| 15 اکتبر | +4 | |||
| 14 اکتبر | +15 | |||
| 13 اکتبر | +14 | |||
| 12 اکتبر | +121 | |||
| 11 اکتبر | +2 | |||
| 10 اکتبر | +3 | |||
| 09 اکتبر | +3 | |||
| 08 اکتبر | +5 | |||
| 07 اکتبر | +4 | |||
| 06 اکتبر | +4 | |||
| 05 اکتبر | +6 | |||
| 04 اکتبر | +5 | |||
| 03 اکتبر | +4 | |||
| 02 اکتبر | +1 | |||
| 01 اکتبر | +2 |
پستهای کانال
Repost from C++: Хроники Дурки🚑
Ковырял тут вот эту библиотеку:
https://github.com/yandex/yaff/blob/c815bc0a2469201542c4734257628a98ed794c30/include/yaff/base.h#L146-L160
Это высокопроизводительный яндексовый сериализатор бинарного формата. Который берет протобафную схему, но конфигурирует совершенно другую сериализацию.
Нашел там вот такой код:
template <typename T>
inline constexpr T XorDef(T v, T d) noexcept {
return v ^ d;
}
template <>
inline constexpr float XorDef(float v, float d) noexcept {
return std::bit_cast<float>(std::bit_cast<uint32_t>(v) ^ std::bit_cast<uint32_t>(d));
}
template <>
inline constexpr double XorDef(double v, double d) noexcept {
return std::bit_cast<double>(std::bit_cast<uint64_t>(v) ^ std::bit_cast<uint64_t>(d));
}
И пытался понять, зачем он там.
Что выяснилось. Мы хотим в сообщении "дефолтное" значение записывать нулевыми байтами. При этом при чтении хотим получать из нулевых байтов дефолтное значение. Поэтому мы при чтении делаем вот так:
YAFF_PURE T ReadValueUnsafe(const FieldOffset offset, const T defaultVal) const noexcept {
return XorDef(yaff::ReadValue<T>(Message() + offset), defaultVal);
}
YAFF_PURE T ReadValueUnsafe(const FieldOffset offset, const T defaultVal) const noexcept {
return XorDef(yaff::ReadValue<T>(Fields() + offset), defaultVal);
}
А при записи вот так:
void AddField(FieldId id, T value, T def) {
WriteField<T>(id, XorDef(value, def));
}
Из приятного: если наше дефолтное значение - нули, то компилятор этот xor соптимизирует.
Это ли не блеск, это ли не шик, это ли не прелесть.| 2 | Взял короче третью подписку, kimi code, максимальную, на год.
Приятно, что без ебли с покупкой американских моделей, за рубли, и вроде как околофронтир качество.
Гонять пока собираюсь в pi, а может потом еще и харнес запилю. | 1 784 |
| 3 | بدون متن... | 2 094 |
| 4 | Уязвимости в Rust-библиотеках zip-rs и librsvg
https://www.opennet.ru/opennews/art.shtml?num=66555
В библиотеке zip-rs, написанной на языке Rust и насчитывающей около 10 млн загрузок в неделю, выявлена уязвимость (CVE-2026-115905), позволяющая создавать архивы, которые выглядят безобидными, но при распаковке из них извлекаются другие, изначально не показанные в списке, файлы. Файлы могут быть размещены в архиве вне структуры "Central Directory", из-за чего при просмотре списка файлов показывается одно содержимое, но при распаковке через API ZipStreamReader извлекаются другие файлы. Проблеме присвоен уровень опасности 10 из 10. Уязвимость исправлена в версии zip-rs 9.0.5.
Уязвимость вызвана использованием разных заголовков при произвольном доступе к архиву при помощи API ZipArchive и при извлечении данных в потоковом режиме при помощи API ZipStreamReader. Обработчик ZipArchive полагается на заголовок CDFH (Central Directory File Header), а ZipStreamReader при извлечении файлов считает более приоритетным заголовок LFH (Local File Header) без синхронизации дублирующихся метаданных.
Уязвимость может использоваться для обхода почтовых фильтров, антивирусных сканеров и прочих систем проверки безопасности. Атакующий может разместить в видимой части архива документ или изображение, а в скрытую поместить исполняемый файл с вредоносным кодом, который не будет замечен антивирусом, но будет сохранён на диск при распаковке пользователем. В качестве примеров приводятся атаки на микросервисы, SaaS-платформы и системы контейнерной изоляции, в ходе которых при распаковке в каталогах с рабочими проектами не представляющих опасности архивов, например, с наборами стилей, текстовых файлов или изображений, могут быть перезаписаны скрипты и исполняемые файлы.
> но при распаковке из них извлекаются другие, изначально не показанные в списке, файлы | 1 591 |
| 5 | В камнтах просили сравнить opus 5.5 vs sol 6.1.
Вот, сравнил - https://view.homelab.cam/view/f5cd61282cdff459974f957fb1e0836dec491176c0e6ea6b0c7090956466aa86/
Счет - 22 задачи закрыто опусом, 5 - солом, 2 - ревьюер слил два решения в одно.
Опус в полтора раза медленнее сола, 20 vs. 14 минут. | 2 528 |
| 6 | بدون متن... | 1 647 |
| 7 | بدون متن... | 2 003 |
| 8 | Microsoft предложила добровольно уволиться 60 тысячам сотрудников
Как сообщает Business Insider со ссылкой на внутреннее письмо руководства, компания предложила более чем четверти своего штата покинуть должности по собственному желанию. Взамен сотрудникам предлагают денежные компенсации и помощь в дальнейшем трудоустройстве.
По информации Reuters, программа добровольного ухода охватывает специалистов из подразделений по развитию искусственного интеллекта, Windows, Xbox, а также сотрудников финансовых и кадровых отделов. В компании не планируют обязательных увольнений всех получивших предложение сотрудников. | 1 946 |
| 9 | https://t.me/dvachannel/192116
Пишут, что Антропики стали как-то более жестко детектировать по окружению, где запущена клошадь, и банить российских пользователей.
Хер знает, распотрошил последний бинарь кодексом, и JS часть, и сам bun, позапукал под strace, ничего подозрительного не нашел.
Телеметрия там явно излишняя, пофингерпринтить пользователя точно можно, конкретной географии я там не вижу. | 2 620 |
| 10 | OpenAI и Anthropic без объявлений запретили использовать свои модели для очистки телевизоров от мусора и создания бесплатных клонов Photoshop
Claude отказывает в таких запросах, ссылаясь на безопасность. А за попытку заставить ChatGPT разобраться в устройстве приложения с помощью обратного инжиниринга можно получить бан.
Под запрет попала и популярная утилита REA, которая позволяла клонировать любые приложения.
Конторы сами знаете кого | 1 993 |
| 11 | Драма на Reddit случилась
Your tokens aren't valuable: No more AI.
https://www.reddit.com/r/opensource/comments/1xelcuf/your_tokens_arent_valuable_no_more_ai/
The long story short, if your project uses AI, is made by AI, or is intended for AI, it's not welcome on r/opensource. AI, as it exists today, is incongruent to this Open Source community.
We're going to be implementing a few new enforcement criteria to this end to discourage those projects:
- Projects advertised here must be all of: 1 year old (not just age, but actively maintained), have multiple contributors (subjectively 3+), not be a common capstone project (school projects, such as note-taking, PDF viewers, cli music players, etc), not be intended for AI (such as MCPs), and have an existing community. No, we can no longer field requests asking for maintainers or people to contribute. Of course it still needs an OSI license as it's always been.
- Though not "new", 1 year account age minimum, with significant Reddit contributions. You should not be creating a Reddit account to come here; we're a community of existing redditors. If you send us a message in modmail about this after having attempted to post, you will be permanently banned and muted. If this seems harsh, know that I estimate 20 messages a day from people expecting their slop projects and burner accounts to get an exception.
- If it's obvious you're using AI in your project, we don't want it. Tokens are cheap, and we don't care how many you spent to make your amazing project.
- If you don't speak English, you need to find a different community. We cannot distinguish between AI-written and AI-translated. Since you don't speak English, you can't even verify yourself if it translated correctly.
- Temporary bans are only for community members that made temporary lapses in judgement, such as when getting agitated. If you post (or comment) things we don't want, such as the result of your LLM output tokens, you will never be welcome back.
If you want to be a part of the cleanup crew, be sure to reach out. If you don't like keeping this community for the humans, let me know so I can make sure you see your way out; maybe go try r/opensourceeai (sic).
...
/Edit: shout out to u/esk6plays for starting r/TrueOpenSource. Let's cheer them on! Hopefully it will be an great refuge for those affected by this policy.
Получается теперь ядро Linux это не настоящий open source 🌝 | 1 803 |
| 12 | https://github.com/systemd/systemd/commit/021112961bd64aec54a1f1e6a6c8fda8b732b705
"rust: support programs written in Rust"
Появился еще один повод похейтить systemd! | 2 448 |
| 13 | بدون متن... | 3 100 |
| 14 | Будни #full_stack
Захотел себе поднять пару dev виртуалок.
Очевидное решение - девелопить на хостах своей лабы as is - меня не устроило, потому что мусор, и иногда проще пересоздать dev окружение с 0.
Поэтому я поднял себе 3 qemu kvm виртуалки, по одной на каждом хосте.
Далее - некоторые мои изящные #изящно технические решения!
Store.
В качестве store у меня, конечно, nbd над моим #s3.
Я напомню, что в моей лабе нет ssd/nvme, потому что мне интересно жить без них, а еще так сильно дешевле (цикл про #minio, #s3). Ну а поднять qemu над разделом над hdd - это пиздец мазохизм, очень медленно и печально.
Поэтому я запили NBD слой над своим S3. NBD - простая штука, сетевой сервис, умеет по номеру блока отдать блок, записать блок, пофлашить данные, и так далее.
Интересное в моем NDB ровно одно - это модель данных.
Я отказался от очевидного мапинга в S3 вида //vm/{disk}/{block_num}, потому что нет снепшотов, и медленно работают TRIM, DISCARD операции.
Мапинг у меня такой:
//vm/{disk}/{block_num}.{generation}
//vm/{disk}/map.{map_generation}
Тут все очень просто - каждая запись одного блока порождает его новый generation, map - плоский файл, который хранит отображение {block_num} -> {current_generation}, на каждый flush в NBD пишем новое отображение map.{generation++}.
В целом, схема довольно прозрачная, плюсы и минусы ее понятны.
А вот что интереснее - так это FS, которая живет поверх этого блочного устройства, внутри qemu.
Схема выше, если взять размер блока в 4 мегабайта, создает x1000 амплификации числа записей, если водрузить туда произвольную fs, потому что они могут писать всяким говном по 4 килобайта в рандомные места блочного устройства.
Поэтому я взял nilfs (писал про нее в https://t.me/itpgchannel/4484). Это одна из немногих живых классических LFS, и она очень строго выдерживает свой инвариант - пишет блоками ровно в конец своего block device, блоками заданного размера. Я выбрал размер ее блока в 4 мегабайта, ровно столько, сколько в моем NBD. Я тут специально опускаю историю про flush от nilfs (когда она хочет таки записать в конец стора меньше размера блока), она не очень интересная, и сути рассказу не прибавляет.
Благодаря этому, churn у меня околонулевой - вертикально интегрированная система, с тщательно подобранными параметрами, позволяет превратить миллионы случайных записей в одну сплошную эффективную линейную запись блоками в конец стора.
Есть маленькая засада - произвольный Linux на такую FS не поставить, поэтому у меня возникло следующее элегантное решение - два раздела в qemu, первый - live iso от fedora + overlay fs в tmpfs для того, чтобы / был rw, и /home в nilfs. При старте live iso выполняет скрипт из /home, который ставит все нужные пакеты, поэтому для пользователя это все выглядит как обычная виртуалка со стейтом, хотя таковой, по сути, не является.
Сеть!
В качестве сети у меня, конечно, #mesh.
Тут особо нечего рассказывать, в qemu внутри запускается демон mesh, который дальше делает магию - пробивается через виртуальную сеть qemu до хостовой сети, а уже через хост он получает соединение со всеми остальными участниками моей сети.
Собственно, для этого я его и создавал, чтобы уметь объединять разные устройства за произвольными nat, лишь бы у них был хоть какой-то маршрут друг до друга.
Самое тут для меня главное - никакой ебли с сетевыми маршрутами, все происходит "само".
Еще стоит упомянуть, что qemu я запускаю через свой #wirez, и, тем самым, пропускаю всю сеть своих виртуалок через свою систему де-РКН-изации. Люблю, когда софт так хорошо стекается!
Control plane?
Его нет, все это описано через #ix, и декларативный язык описания моей #lab #home_lab. | 2 809 |
| 15 | Придумал себе самоназвание - я теперь "full stack разработчик".
Только не тот full stack, которого потом в дурку забрали, потому что он все на JS пилил, а тот, который сам себе строит весь стек, from ground truth - #gorn #molot #wirez #s3 #trustme #impulse #mesh #ix #lab #home_lab, и так далее.
Могу теперь разным там full stack говорить - "ты full stack, и я full stack, но есть один нюанс", хехе. | 2 552 |
| 16 | ❗️Люди, не знающие, что такое «гигиена мысли» и не подходящие к использованию ИИ критически, могут превратиться в «интеллектуальных дебилов» — митрополит Симферопольский и Крымский Тихон (Шевкунов) | 2 376 |
| 17 | بدون متن... | 3 856 |
| 18 | https://www.opennet.ru/opennews/art.shtml?num=66528
Вот я вам талдычу что боров чекер (а, следовательно, и almost blazingly fast) больше не нужен, а вы не верите, и клоунов ставите. Ну ОК.
"Компания Аnthropic представила результаты экспериментов по использованию AI-моделей для формальной верификации надёжности и безопасности уже существующих проектов. В ходе эксперимента при помощи AI-моделей для 123 открытых библиотек, протестированных в инфраструктуре OSS Fuzz, были сгенерированы математические доказательства отсутствия ошибок при работе с памятью" | 3 290 |
| 19 | بدون متن... | 2 780 |
| 20 | بدون متن... | 3 636 |
