19 июня Линус Торвальдс влил merge, который убрал из ядра Linux функцию strncpy — шесть лет работы, 362 коммита, семьдесят человек ради одной функции стандартной библиотеки C. Разбираю, почему «просто заменить небезопасную функцию» в C совсем не просто: strncpy только выглядит как «безопасный strcpy» из-за параметра n, а на деле это даже не строковая функция, а реликт fixed-width полей из AT&T Unix 1979 года. Главное в истории не сам выпил, а его цена: заменить нельзя автозаменой, потому что каждый из 362 вызовов требует понять намерение — нужна C-строка, padding или бинарное поле. Урок выходит за пределы ядра: в любой C/C++ базе на проде strncpy — это не баг, а код, который надо перечитать. Читать дальше →
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | Анатомия процесса загрузки Linux — от инициализации ядра до systemd | 0 | 5 | 24-06-2026 |
| 2 | [Перевод] Подробно об ABI для работы с C++ | 0 | 7 | 22-06-2026 |
| 3 | Аудит алгоритмов: как реализация Boyer-Moore с 190K звёзд на GitHub оказалась brute-force | 0 | 8 | 21-06-2026 |
| 4 | Ну и пригодились тебе твои синусы? | 0 | 5 | 20-06-2026 |
| 5 | [Перевод] Вынужден попрощаться: руководство Google окончательно утратило моральные принципы | -5 | 6 | 21-06-2026 |
| 6 | HyperLogLog: как найти уникальные значения в терабайте данных, не храня их | 0 | 7 | 24-06-2026 |
| 7 | Шабаш в баше. Учимся автоматизировать действия в командной строке и применять мощные утилиты | 5 | 7 | 23-07-2025 |
| 8 | Могли ли мы не заметить целый мир, существующий параллельно с нашим? | 5 | 7 | 20-06-2026 |
| 9 | USB без магии: устройство протокола | 0 | 7 | 23-06-2026 |
| 10 | Власти Астрахани объяснили, зачем в городе опиливают деревья | 0 | 3 | 26-06-2026 |