Posts of Типичный программист

newest first

#14987Photo
Views2,741−54%vs avg
Forwards25
Reactions14
Comments1
#14986Photo
Views3,679−38%vs avg
Forwards27
Reactions19
Comments2
#14985Video
Views4,737−21%vs avg
Forwards49
Reactions21
Comments4
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
4 h2,711
16 h3,464
27 h4,737
  1. After 6 hours2,711
  2. After 24 hours4,737
  3. Total to date4,737
#14984Photo
Views5,297−11%vs avg
Forwards30
Reactions26
Comments2
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
10 h4,081
33 h5,297
  1. Total to date5,297
#14983Photo
Views6,061+1%vs avg
Forwards101
Reactions46
Comments5
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
4 h3,044
16 h4,018
28 h5,353
51 h6,061
  1. After 24 hours5,353
  2. Total to date6,061
#14982Photo
Views6,279+5%vs avg
Forwards21
Reactions26
Comments3
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
9 h4,259
34 h5,687
57 h6,279
  1. Total to date6,279
#14981Text

Forwarded from Нейроканал

В ядре Linux закрыли критическую уязвимость CVE-2026-98432 (CVSS 9,8), обновите ядро на серверах и перезагрузитесь. Anthropic рассказала, что эксплойт для неё написал сам Claude: он удалённо получает выполнение команд от root без учётных данных примерно за 53 минуты попыток. Код не публиковали. Ошибка сидит в обработке TCP-рукопожатия по IPv4 с ядра 4.4 и срабатывает до того, как подключение дойдёт до приложения. Эксплойт бьёт через порты Multipath TCP: в Linux их по умолчанию открывают программы на Go с версии 1.24. Сама ошибка от MPTCP не зависит. Исправления уже есть у Debian, Amazon Linux, Oracle Linux и частично у SUSE, у Ubuntu и RHEL пока нет. До патча Red Hat советует правило nftables, которое отбрасывает TCP-пакеты с опциями IPv4: оно снижает риск, но полностью не защищает. Ненужный MPTCP можно выключить через sysctl net.mptcp.enabled=0 с перезапуском сервисов. Команды и статус по дистрибутивам собрали на сайте. @neuro_channel

Open in Telegram
Views6,559+10%vs avg
Forwards117
Reactions42
Comments4
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
1 h1,858
12 h3,463
36 h5,598
71 h6,559
  1. After 1 hour1,858
  2. Total to date6,559
#14980GIF
Views5,624−6%vs avg
Forwards36
Reactions27
Comments10
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
5 h3,219
15 h4,317
28 h5,624
  1. After 6 hours3,219
  2. After 24 hours5,624
  3. Total to date5,624
#14979Photo
Views6,265+5%vs avg
Forwards30
Reactions37
Comments2
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
11 h3,874
34 h5,532
70 h6,265
  1. Total to date6,265
#14978Photo
Views6,366+6%vs avg
Forwards30
Reactions29
Comments4
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
5 h2,458
17 h3,228
29 h4,775
76 h6,366
  1. After 6 hours2,458
  2. After 24 hours4,775
  3. Total to date6,366
#14977Photo
Views6,009+1%vs avg
Forwards46
Reactions27
Comments4
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
11 h3,567
70 h6,009
  1. Total to date6,009
#14976Photoad

Что нужно знать для старта в кибербезопасности? Сейчас разберемся 23 ноября Positive Education впервые запускает онлайн-интенсив «Основы практической кибербезопасности». За три месяца участники разберут четыре фундаментальные области ИБ и применят знания в более чем 40 практических кейсах Интенсив подойдет начинающим специалистам по ИБ, сотрудникам ИТ и тем, кто переходит в новое направление кибербезопасности Что внутри • UNIX- и Linux-системы: устройство ОС, процессы, права пользователей и базовая защита • Сети: настройка окружения, анализ трафика, типовые атаки и защита • Windows и Active Directory: компоненты ОС, домен, учетные записи и уязвимости конфигурации • Веб-приложения: архитектура, анализ уязвимостей и безопасная разработка Как пройдет интенсив Из 80 академических часов 60 отведены практике. Участники будут настраивать системы и сети, исследовать атаки, работать с Active Directory и искать уязвимости. Пошаговые кейсы помогут разобраться в новых темах, самостоятельные позволят проверить себя 📄 Кстати, Positive Education получил государственную лицензию на образовательную деятельность. Это значит, что все выпускники программ получат не только цельную техническую базу для развития в SOC, AppSec, пентесте и инфраструктурной безопасности, а также документы установленного образца, а при самостоятельной оплате можно оформить налоговый вычет. Когда 📅 Старт: 23 ноября 2026 ⏳ Длительность: 3 месяца 💻 Формат: онлайн 📚 Объем: 80 академических часов 👉 Подробности и регистрация

Open in Telegram
Views4,262−29%vs avg
Forwards37
Reactions22
Comments4
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
2 h1,625
8 h2,458
19 h3,289
28 h4,262
  1. After 6 hours2,458
  2. After 24 hours4,262
  3. Total to date4,262
#14975Photo
Views5,721−4%vs avg
Forwards29
Reactions33
Comments5
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
3 h2,485
8 h3,189
20 h3,818
29 h4,487
75 h5,721
  1. After 24 hours3,818
  2. Total to date5,721
#14974Photo

Дефицит ускорителей не отменяет простой В одном регионе свободен GPU, в другом нужен именно он. Или ускоритель есть, а CPU для подготовки данных уже занят. Поэтому «мощностей не хватает» и «часть железа простаивает» вполне могут быть правдой одновременно. Meta собирает временно свободные мощности для рекламных рекомендаций в общий пул. Если свободны и CPU, и ускорители, можно оценить больше кандидатов. Если в основном ускорители, часть запросов направляют более сильной модели без сопоставимого роста работы на CPU. Самая важная часть тут не раздача бонусов, а их быстрый отзыв. Базовую нагрузку защищают отдельно, дополнительную работу сбрасывают за миллисекунды, пока центральные регуляторы ещё догоняют ситуацию. Такая схема требует работы, которую можно безболезненно сократить. Произвольная LLM-задача этому условию не обязана соответствовать.

Open in Telegram
Views5,939−1%vs avg
Forwards25
Reactions27
Comments2
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
9 h3,935
26 h4,735
69 h5,939
  1. After 24 hours4,735
  2. Total to date5,939
#14973Link preview
Views5,593−6%vs avg
Forwards18
Reactions102
Comments21
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
10 h3,607
26 h5,208
44 h5,593
  1. After 24 hours5,208
  2. Total to date5,593
#14972Photo
Views5,648−6%vs avg
Forwards15
Reactions27
Comments4
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
10 h3,962
27 h5,254
44 h5,648
  1. After 24 hours5,254
  2. Total to date5,648
#14971Video
Views6,091+2%vs avg
Forwards30
Reactions36
Comments5
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
6 h2,950
16 h4,615
33 h5,483
50 h5,793
71 h6,091
  1. After 6 hours2,950
  2. After 24 hours4,615
  3. Total to date6,091
#14970GIF
Views5,9750%vs avg
Forwards37
Reactions28
Comments9
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
3 h2,506
9 h3,192
34 h5,234
68 h5,975
  1. Total to date5,975
#14969Photo
Views6,0060%vs avg
Forwards24
Reactions40
Comments6
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
7 h3,617
28 h4,901
68 h6,006
  1. After 6 hours3,617
  2. After 24 hours4,901
  3. Total to date6,006
#14968Photo
Views6,085+2%vs avg
Forwards34
Reactions42
Comments2
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
9 h4,185
30 h5,137
71 h6,085
  1. After 24 hours5,137
  2. Total to date6,085
#14967GIF
Views6,365+6%vs avg
Forwards83
Reactions43
Comments7
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
4 h2,636
5 h2,936
16 h3,618
28 h5,234
75 h6,365
  1. After 6 hours2,936
  2. After 24 hours5,234
  3. Total to date6,365
#14966Photo
Views6,090+2%vs avg
Forwards29
Reactions30
Comments2
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
10 h2,649
23 h4,436
34 h4,741
66 h6,090
  1. After 24 hours4,436
  2. Total to date6,090
#14965Text

Git умеет запоминать ваши решения конфликтов Долгоживущая ветка, очередной rebase и знакомый конфликт в том же участке файла. Кажется, это решение уже набирали. Git умеет его запомнить: механизм rerere сохраняет исходный конфликт и результат ручной правки, если включён rerere.enabled. При следующем подходящем конфликте он пытается применить прежнее решение через трёхстороннее слияние. Это полезно, когда ветку приходится несколько раз сверять с изменяющейся основной веткой. Записывать решение вручную отдельной командой при каждом шаге обычно не нужно: merge, commit и rebase сами вызывают rerere в нужных местах. Но память Git не заменяет проверку смысла. Старый ответ может чисто примениться к коду и всё равно оказаться неверным. В базовом режиме без autoupdate результат остаётся в рабочем дереве, а индекс не меняется. Перед git add остаются просмотр diff и тесты. Экономится повторное редактирование, а ответственность за решение остаётся у разработчика.

Open in Telegram
Views6,407+7%vs avg
Forwards29
Reactions27
Comments8
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
4 h2,838
16 h4,216
28 h5,022
29 h5,115
72 h6,407
  1. After 24 hours5,022
  2. Total to date6,407
#14964Text

SQLite может завершить коммит удалением файла Транзакция меняет несколько страниц базы, а питание может пропасть между двумя записями. Как после перезапуска получить «всё или ничего»? В разборе атомарного коммита SQLite важнейший момент выглядит буднично: удаляется файл журнала. Речь о rollback journal в режиме DELETE. Сначала SQLite сохраняет исходные страницы в журнал и сбрасывает его на устойчивый носитель. Затем записывает изменённые страницы базы и тоже синхронизирует их. Только после этого удаляет журнал. Пока он пригоден для восстановления, прерванные изменения можно откатить. После удаления транзакция считается завершённой. При открытии базы SQLite проверяет не просто наличие файла, а признаки «горячего» журнала, включая заголовок и блокировки. Всё это опирается на корректную работу синхронизации и хранилища. У WAL другой протокол. Здесь же эффект «всё или ничего» получается из строгого порядка действий и чёткой границы завершения.

Open in Telegram
Views6,489+9%vs avg
Forwards33
Reactions34
Comments5
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
10 h4,285
34 h5,630
35 h5,710
68 h6,489
  1. Total to date6,489
#14963Text
Views6,533+9%vs avg
Forwards33
Reactions37
Comments6
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
4 h2,078
15 h3,032
27 h5,108
53 h5,993
75 h6,533
  1. After 24 hours5,108
  2. Total to date6,533
#14962Text

Кто испортил это поле? В объекте уже лежит неправильное значение. Где его записали, неизвестно, а при следующем запуске ошибка может исчезнуть. Отладчик rr предлагает сначала поймать сбой под записью, а потом сколько угодно раз разбирать один и тот же запуск в gdb. В примере проекта у объекта Firefox неверная ширина. Разработчик ставит watch -l mRect.width и выполняет reverse-cont. Отладчик идёт назад и останавливается на присваивании, которое изменило поле. Адреса объектов и порядок событий при повторном воспроизведении сохраняются, поэтому найденные зацепки не теряются после перезапуска отладки. Это работа с сохранённым исполнением. Для rr нужны Linux и совместимый процессор, в виртуальной машине ещё и доступ к аппаратным счётчикам. Есть ощутимая цена для параллельного кода: rr эмулирует одноядерную машину. Зато пойманный редкий баг больше не приходится ловить заново.

Open in Telegram
Views6,213+4%vs avg
Forwards31
Reactions35
Comments5
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
10 h3,372
33 h5,397
59 h6,103
69 h6,213
  1. Total to date6,213
#14961Text

Один зашифрованный архив, несколько получателей и никакого общего пароля Нужно передать архив нескольким коллегам. Можно завести общий пароль и потом разбираться, кому его уже переслали. У утилиты age есть другой вариант: один файл шифруется на несколько публичных ключей, и каждый получатель открывает его своим секретным ключом. Список адресатов задаётся повторением -r или файлом с ключами через -R recipients.txt. Сами секретные ключи друг другу передавать не нужно. А благодаря обычным потокам Unix вывод tar можно сразу направить в age, без промежуточного незашифрованного архива на диске. Есть важная граница: шифрование само по себе не подтверждает личность отправителя. Принадлежность публичных ключей тоже нужно проверить отдельно. Удобство здесь вполне конкретное: несколько человек читают один архив, а передавать друг другу личные секретные ключи не приходится.

Open in Telegram
Views6,181+3%vs avg
Forwards59
Reactions39
Comments5
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
5 h2,157
17 h2,918
28 h4,386
75 h6,181
  1. After 6 hours2,157
  2. After 24 hours4,386
  3. Total to date6,181
#14960Text

Как поймать причину торможения, которое уже закончилось Запрос иногда зависает, но к моменту включения трассировки всё снова работает. Тут полезен flight recorder из Go 1.25: он заранее собирает недавние события runtime в буфер в памяти. Когда программа замечает проблему, из буфера можно сохранить предшествующий ей фрагмент. В примере команды Go снимок запускается после первого ответа дольше 100 мс. Трасса приводит к неожиданному виновнику: defer b.mu.Unlock() внутри цикла. Блокировки снимаются только при выходе из функции, а та ещё успевает отправить HTTP-запрос. Всё это время другие горутины ждут. Самописец здесь помогает сохранить именно момент ожидания, который иначе легко пропустить. Порог в 100 мс относится к примеру, а буфер и сбор событий расходуют ресурсы. Зато не нужно копить трассу за несколько дней работы сервера ради одного редкого сбоя.

Open in Telegram
Views6,051+1%vs avg
Forwards33
Reactions24
Comments10
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
11 h3,352
34 h4,835
69 h6,051
  1. Total to date6,051
#14959Photo

Сколько ключей придётся помнить ради дедупликации потока? Найти повторное событие по ключу легко, пока можно помнить все ключи за всё время. В непрерывном потоке такое состояние растёт без конца. В разборе дедупликации через Flink SQL автор сравнивает варианты с разными ограничениями. Срок хранения состояния, TTL, ограничивает память, но меняет поведение: после удаления ключа старый дубль снова может пройти как новое событие. Важен и результат запроса. Один вариант сразу выдаёт строку, а позже присылает её обновление. Другой ждёт, чтобы учесть запоздавшие события. Получатель должен уметь работать с выбранным режимом. Даже настройка TTL требует проверки: в рассмотренной версии подсказка STATE_TTL не применяется к оператору дедупликации. До запуска стоит прогнать поздний дубль, истечение срока хранения и обновление результата — именно на них короткий SQL начинает вести себя неожиданно.

Open in Telegram
Views6,030+1%vs avg
Forwards38
Reactions27
Comments2
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
4 h2,430
8 h2,950
22 h3,969
29 h4,549
75 h6,030
  1. After 24 hours3,969
  2. Total to date6,030
#14958Photo

Проверенный бот тоже может перегрузить сайт Известный поисковый робот может ходить только по разрешённым страницам и всё равно создавать слишком большую нагрузку. Проверка владельца бота сама по себе этого не предотвращает. Cloudflare описала подход к постоянной оценке проверенных ботов. Среди сигналов — соблюдение robots.txt и реакция на HTTP 429: снижает ли робот частоту запросов, учитывает ли указание подождать. Так доверие к боту должно зависеть от наблюдаемого поведения после проверки его личности. Владельцу сайта нужна возможность понять, за что робот получил определённую оценку. Публичные оценки в Cloudflare Radar пока заявлены как следующий шаг. Уже сейчас при разборе нагрузки полезно смотреть, что происходит после ответа «слишком много запросов»: клиент действительно отступает или немедленно приходит снова.

Open in Telegram
Views5,555−7%vs avg
Forwards18
Reactions27
Comments2
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
7 h3,279
25 h4,357
66 h5,555
  1. After 6 hours3,279
  2. After 24 hours4,357
  3. Total to date5,555