Бесконечное ИТ
375 subscribers
292 photos
5 videos
5 files
550 links
Бесконечное ИТ - ИТ новости, интересные ссылки на статьи по разработке и менеджменту.

Вопросы, предложения, комментарии @tirex_kz
Download Telegram
До чего техника дошла. Атака через шрифты! Системы в которых шрифты загружаются через интерфейс и хранятся на сервере могут быть под риском.

"Fonts are complicated and safely handling them is a difficult problem to solve. You should treat fonts like any other untrusted input."

https://www.canva.dev/blog/engineering/fonts-are-still-a-helvetica-of-a-problem/
👏3👍2❤‍🔥1
Сервис уведомления о землетрясениях (Android Earthquake Alerts) уже дважды пригождался мне. Решил посмотреть какая у него история и как он устроен.

На официальной странице мы можем узнать общие детали. Сервис работает в партнерстве с (ShakeAlert® - сервис раннего предупреждения землетрясние геологической службы США). Но также они используют комбинированный подход. У большинства современных смартфонов есть акселерометры. Если вдруг в большинства смартфонов в одном сейсморегионе появились признаки землетрясения, устройство может связаться со службой определения землетресений в этом регионе для уточнения. Это поможет системе принять финальное решение.

https://crisisresponse.google/android-alerts/

Первые упоминания о системе можно найти в Августе 2020 г. Тогда ее впервые стали пробовать в Калифорнии (тоже кстати очень сейсмо опасный регион).
https://blog.google/products/android/earthquake-detection-and-alerts/

2021 год, внедрение за пределами США

https://blog.google/products/android/introducing-android-earthquake-alerts-outside-us
https://blog.google/products/android/new-features-summer-2021/

2021 - ее разместили для стран Азии.
"Today, we’re introducing the Android Earthquake Alerts System in Turkey, the Philippines, Kazakhstan, Kyrgyz Republic, Tajikistan, Turkmenistan and Uzbekistan."

В сентябре 2023, ее внедрили в Индии. В индии Google запартнерился c национальными центрами мониторинга.
https://blog.google/intl/en-in/products/platforms/introducing-android-earthquake-alerts-in-india/

К сожалению технических фактов или докладов о системе нет. Как это работает в общих чертах? Когда происходит землетрясение впереди него образуются волны. P-Wave (5-7 км/ч быстрые но менее разрушительные) и S-Wave ( 3-4 км/ч медленные но более мощные) Именно благодаря этой особенности системы раннего предупреждения могут работать. Т.е. если говорить о времени то в зависимости от эпицентра это могут быть несколько секунд и больше.

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

Интересно что первые упоминания об аналогичной системе от Xiaomi появились немного раньше чем от Google. Начало 2020 года. (минимум на полгода раньше)
https://www.youtube.com/watch?v=7Pk3nFJAHNU
👍32
This media is not supported in your browser
VIEW IN TELEGRAM
Компания Cognition представила "AI разработчика". В демке нет чего-то, чего вы скорее всего не видели раньше (генерация кода и браузинг через LLM модели), но все собранно в одном месте и так удобно, что это реально прям впечатляет.

Это тригернуло новый виток дискуссий. Мнения разделились. Первые предрекают скорое исчезнование профессии software engineer и предлагают адаптироваться к новому миру. Вторые относятся к этому всему как к хайпу, и удобному способу словить денег VC, они сейчас вкладываются во все где есть AI.

"Today we're excited to introduce Devin, the first AI software engineer.

Devin is an autonomous agent that solves engineering tasks through the use of its own shell, code editor, and web browser."

В блоге еще куча примеров использования.

https://www.cognition-labs.com/blog
🔥3
Локализация на мой взгляд самая редко освещаемая тема в инжиниринг блогах компаний. Сегодня делюсь с вами историей процесса локализации от Canva. У них в компании выстроен пайплайн локализации с многими участниками и системами.

https://www.canva.dev/blog/engineering/how-to-design-in-every-language-at-once/

На картинке - описание фактора длины слов в разных языках, неочевидная штука которую надо учитывать при дизайне интерфейсов.
👍3
Отличная возможность внести вклад в open source и получить опыт.

☀️📝 Google Summer of Code Contributor applications are OPEN!

If you are a Student or a beginner in open source software development and 18+ years old, we hope you will apply, and celebrate our 20th anniversary with us.

Apply by April 2 👉 goo.gle/3Pqr22Z
Интересный пост, как AI может еще помочь разработчикам. Рисование диаграмм/схем и обновление документации. И ведь правда, с помощью AST получайте доступ к коду. добавьте немного контекста и вот, готов ваш рисовальщик диаграмм. Ждем готовых продуктов которые можно применять локально на своих проектах, не переживая за утечки.

https://dzone.com/articles/ai-is-transforming-how-we-use-software-diagrams
👍1
Хм) неожиданно, выглядит как эксперимент)

Introducing Chrome Enterprise Premium: The future of endpoint security

https://cloud.google.com/blog/products/identity-security/introducing-chrome-enterprise-premium
👍1
Очень детальный разбор бэкдора XZ Utils. Смотрится как хороший детектив.

https://www.youtube.com/watch?v=Q6ovtLdSbEA
🔥2
Кто-то решил ответить раз и навсегда про деплои)

(не является рекомендацией)

https://deploy-calendar.ru/
👏4
Интересная статья как устроен процесс работы с инцидентами в небольшой технической компании. Как, что и кому нужно сделать. А самое главное тут задействованы три команды. Engineering, Product, Customer Success. Ведь если компания разрабатывает публичный продукт и произошел инцидент, критически важно давать правильную информацию клиентам. Понимаю, что в тех компаниях где работал, опытным путем пришли примерно к такой же схеме, разве что роли не были формализованы/описаны.

https://klaviyo.tech/klaviyo-incident-management-interview-with-laura-stone-28563ac9558b
👍2
Stackoverflow объявил о партнерстве с OpenAi. Мне кажется это какой-то новый этап, этап заката StackOverflow в том виде котором мы его знали. По ощущениям я стал гораздо реже заходить на SO по простым вопросам. Но по сложным все еще бывает ищу, проблема только в том что свежих ответов мало. Вытащил статистику, она конечно очень условная, но падение по трафику есть. Это открывает возможности для какие-то новых продуктов, что тоже интересно.

https://stackoverflow.co/company/press/archive/openai-partnership
У компании indeed есть портал с аналитикой по вакансиями. Данные говорят, что количество вакансий возвращается на уровни 2020/2021 года. Удаленный/гибридный режим пока не сдает позиции, хотя по шуму в новостях вокруг этого казалось что проседание было сильнее.

По данным similarweb, indeed ресурс #1 в категории Jobs and Employment в США.
На скриншотах выбран только сектор Software Development.

https://data.indeed.com/
Хороший пример того, как команда Uber меняла хранилище для внутренней системы аналитики.
Что понравилось в статье:
Хороший анализ того, почему решили менять систему хранения данных, как пришли к миграции на нее, какие вопросы решали в процессе. Но самое главное это было очень хорошая оптимизация, внутреняя команда получила более быстрый сервис, а компания сокращение расходов.
Немного информации о внутренней системе Uber для хранения крашей - Healtime. Судя по всему это такой самодельный Sentry, участвует в логировании и мобильных и бекенд крашей.
В конце были интересные и честные выводы что решение не удовлетворяло всем запросам, но для некоторых нашли варианты решения а другие пока оставили для дальнейшего анализа. Скорость, удобство и цена решения в итоге перевесили.

Первая картинка - внутреняя система Healthline
Вторая - выгода от переезда с Elasticsearch на Apache Pinot

https://www.uber.com/blog/real-time-analytics-for-mobile-app-crashes/
🔥21
Захожу сегодня на StackOverflow а там говорят что опять подумывают над открытим jobs раздела.

Напомню, раздел закрылся 31 марта 2022 года, почти сразу после продажи/покупки компании.

https://xn--r1a.website/neverendingit/436
Сегодня хочу с вами поделится ресурсом, где собраны ссылки на карьерные матрицы разных компаний. Тут есть примеры для разных ролей разработчики, дизайнеры, продакты. Можно использовать как вдохновение для составления матрицы грейдинга в вашей компании, плана развития для членов вашей команды, ну или как ориентир развития для себя.

https://progression.fyi/
🔥8
Бывают такие статьи который читаешь и прямо перед глазами пробегают ситуации из прошлых проектов. Сегодня статья о 8 ошибках при переписывании проектов/систем. Автор собрал замечательный список. Чаще всего здесь идет речь о переписывании системы в которых вы не принимали участия при проектировании/написании. Выбрал несколько которые особо понравились и откликнулись, остальные читайте в оригинале.

- Планировать миграцию только когда новая система будет "почти готова" - при позднем планировании миграции могут реализоваться риски по несовпадению форматов, стандартов, объема данных. Что-то чего вы не сможете учесть или увидеть при планировании. Что тогда? Возможно откат на пару шагов назад. Что делать? Помнить что есть например паттерны Strangler Fig, Parallel Run они помогут спланировать миграцию с меньшими рисками.

- Недооценивать усилия. Чаще свойственно middle или начинающим senior разработчикам, они уже могут брать на себя много ответственности но еще не попадали в капканы легаси 🥲. Это когда одна хитрая строчка может стоить пары дней нервных клеток. Что делать? Оценивайте функциональность и объем системы, планируйте по этапам. По поводу планирования связаны две следующие ошибки

- Не спрашивать о функциональности системы, пытаться копировать ее 1:1 и Пытаться заменить всю систему целиком. Спланируйте что вы меняете и почему, возможно у системы есть стабильное ядро и его можно не трогать, или возможно нарекания вызывает только системы которую вполне можно изолировать?

- Оверинжиниринг. Наша любимая программисткая ошибка. Иногда старая система так задалбывает своей отсталостью, что хочется вложить в новую версию все самое свежее и новое. Будьте очень осторожны. История разработки программного обеспечения уже знает такие истории. Легендарный Фредерик Брукс сформулировал Second-System Effect. На смену небольшим и компактным системам приходят неповортливые и раздутые монстры.

Что еще почитать на эту тему?
Patterns of Legacy Displacement (Effective modernization of legacy software systems)

Оригинальная статья "The 8 biggest mistakes when rewriting software systems (that I have seen so far)"
👍3