Программный Кодекс
64 subscribers
1.86K photos
169 videos
2 files
479 links
👋 Привет, добро пожаловать на мой канал. Пишу об ИТ и рядом: новости компаний, комментарии, личные истории и наблюдения.
Download Telegram
Forwarded from Java hub
null, который положил Google Cloud Platform 😱

Вокруг только и разговоров, что о post-mortem недавнего инцидента в Google Cloud 👩‍💻

12 июня Google Cloud прилёг. На несколько часов так прилёг. Упали App Engine, BigQuery, Cloud SQL, IAM, Cloud Run — и ещё с десяток ключевых сервисов.

А всё началось с Null Pointer Exception

29 мая в компонент GCP под названием Service Control добавили новую ветку логики для проверки квот. Код попал в прод, но не активировался — требовалась определённая конфигурация политики, которая на тот момент ещё не существовала.

12 июня эти политики всё-таки были задействованы. В Spanner (распределённая база данных от Google) записались данные с пустыми полями. Service Control начал использовать новую логику, где не было защиты от null. И началось: сервис стал падать в каждом регионе. Ошибки 503 прокатились по всем зависимым API. Глобальная катастрофа — за пару секунд.

Каковы корневые причины?

- Null Pointer Exception в новой логике квот.

- Отсутствие feature flag’а — код сразу пошёл "в бой", без фазового включения.

- Нет fallback-механизма (fail-open).

- Не было адекватного тестирования — критическая ветка не активировалась до продакшна.

- Мгновенная глобальная репликация метаданных — баг разлетелся по всему миру за секунды.


Кто бы мог подумать, что в 2025 году глобальный сервис положит банальный NPE.

Мы, Java-разработчики, к сожалению, не удивлены

null — это старая боль JVM.
Известный billion-dollar mistake, как его однажды окрестил Тони Хоар. За десятилетия было много попыток уменьшить ущерб от null:

- Kotlin с его строгой null safety.

- Optional в Java 8.

- Проект
JSpecify, который пытается ввести строгую спецификацию аннотаций nullability.

-
Черновик JEP'а про Nullable-типы на уровне JVM.

А ведь в Go (на нём пишут в Google), несмотря на переименование null в nil, проблемы всё те же, хе-хе 👩‍💻

Крах Google Cloud — это textbook fail в области feature toggle практик.

Если бы новая логика была обёрнута в фичефлаг с постепенным rollout — баг бы нашли до продакшна.

Если бы был fail-open — сервис бы хотя бы не падал.

Если бы была деградация, а не crash loop — миллионы клиентов не увидели бы 503.

Инфраструктурный код заслуживает не меньше внимания, чем продакт-фичи.

Любая система уязвима, если в ней нет культуры устойчивости к дефектам.
Please open Telegram to view this post
VIEW IN TELEGRAM
Педро Питон снимался бы в фильмах другого жанра. Про Педро Раста молчу )
Forwarded from Too Long, Did Read
Как подготовить попугая к удаленке

https://www.smithsonianmag.com/smart-news/scientists-taught-pet-parrots-to-video-call-each-other-and-the-birds-loved-it-180982041/

Прочитал невероятно милую и крутую статью про эксперимент, который провели ученые-орнитологи в нескольких университетах США: научили попугаев звонить друг другу в зуме и общаться.

Оказывается (в целом, не удивительно), в дикой природе попугаи живут большими стаями и много общаются между собой.
У домашних попугаев от одиночества (если не учитывать кожаных мешков) иногда развиваются расстройства по типу депрессии, которые даже доводят птичек до селф-харма (вырывания перьев).

Так вот, ученые отобрали 18 попугаев (хотя до конца эксперимента дошли только 15…) и научили их выбирать попугая, которому они хотят позвонить, и нажимать на его изображение на планшете - конечно, под контролем владельцев.

За 2 недели попугаи совершили 147 звонков друг другу, владельцы записали все это на видео, и ученые проанализировали поведение попугаев.

Вот самые интересные выводы:
- у попугаев был лимит по времени на звонок, и в абсолютном большинстве случаев они использовали все доступное им время
- чаще других, попугаи звонили своим самым общительным сородичам (тем, кто сам больше всех инициировал звонки)
- попугаи учили друг друга новых движениям, песням и словам
- некоторые общались между собой на английском, составляя вполне осмысленные (но простые, конечно) диалоги

Понятно, что такие звонки не заменяют попугаям реального общения, но это точно лучше, чем ничего, - тем более, что устраивать ирл встречи попугаям довольно трудно и даже опасно (из-за какого-то птичьего вируса).

Меня очень радуют и вдохновляют подобные исследования - про них хочется читать гораздо больше, чем про MCP и AI agents :)
Про ученых-попугаеведов и их работу остается сказать только одно - exceptional use of free will
Леголег - конструктор, а не человек
Будущее наступило
Сборная России завоевала 8 медалей из 8 возможных на Международной олимпиаде по кибербезопасности (International Cybersecurity Olympiad, ICO) среди старшеклассников в Сингапуре.