Как нам удалось модернизировать приложение Booking.com изнутри и снаружи
В этой статье мы рассказываем об основных моментах и выводах из нашего путешествия по модернизации кодовой базы и дизайна приложения Booking.com. Статья посвящена механике запуска такой программы, поддержанию ее в рабочем состоянии и доказательству эффективности.
Статья: https://medium.com/booking-product/how-we-managed-to-modernize-the-booking-com-app-from-the-inside-and-out-ed24f0e6df0a
В этой статье мы рассказываем об основных моментах и выводах из нашего путешествия по модернизации кодовой базы и дизайна приложения Booking.com. Статья посвящена механике запуска такой программы, поддержанию ее в рабочем состоянии и доказательству эффективности.
Статья: https://medium.com/booking-product/how-we-managed-to-modernize-the-booking-com-app-from-the-inside-and-out-ed24f0e6df0a
Люди, которые используют Notion для планирования всей своей жизни
Привлекательность этого инструмента для рабочего места выходит далеко за рамки организации рабочих проектов. Многие пользователи находят его не менее полезным для управления своим свободным временем.
Статья: https://www.technologyreview.com/2023/04/25/1072148/meet-the-people-using-notion-to-plan-their-whole-lives/
Привлекательность этого инструмента для рабочего места выходит далеко за рамки организации рабочих проектов. Многие пользователи находят его не менее полезным для управления своим свободным временем.
Статья: https://www.technologyreview.com/2023/04/25/1072148/meet-the-people-using-notion-to-plan-their-whole-lives/
Сохраните монолит, но разделите рабочие нагрузки
Я большой поклонник монолитных архитектур. Писать код и так достаточно сложно без того, чтобы каждый вызов функции требовал сетевого запроса, и это еще не считая инвестиций в наблюдаемость, RPC-фреймворки и среду разработки, которые необходимы для продуктивной работы в микросервисной среде.
Но, проведя полдесятка лет за управлением Ruby-монолитом от 20 до 200 инженеров и наблюдая, как его скромная база данных Postgres объемом 10 ГБ разрастается до 5 ТБ, я могу с уверенностью сказать, что есть момент, когда боль перевешивает преимущества.
Этот пост посвящен технике - разделению рабочих нагрузок - которая может значительно уменьшить эту боль, стоит немного и может быть применена на ранней стадии. Она при хорошем исполнении позволит вам наслаждаться монолитностью еще долго.
Статья: https://incident.io/blog/monolith
Я большой поклонник монолитных архитектур. Писать код и так достаточно сложно без того, чтобы каждый вызов функции требовал сетевого запроса, и это еще не считая инвестиций в наблюдаемость, RPC-фреймворки и среду разработки, которые необходимы для продуктивной работы в микросервисной среде.
Но, проведя полдесятка лет за управлением Ruby-монолитом от 20 до 200 инженеров и наблюдая, как его скромная база данных Postgres объемом 10 ГБ разрастается до 5 ТБ, я могу с уверенностью сказать, что есть момент, когда боль перевешивает преимущества.
Этот пост посвящен технике - разделению рабочих нагрузок - которая может значительно уменьшить эту боль, стоит немного и может быть применена на ранней стадии. Она при хорошем исполнении позволит вам наслаждаться монолитностью еще долго.
Статья: https://incident.io/blog/monolith
Как создать чат-бота, который узнает все за вас, за 15 минут
Краткое руководство по созданию чатбота, принимающего внешние документы в качестве контекста. Я пытаюсь рассмотреть возможность создания такого помощника, который способен усваивать новые знания из различных ресурсов и предоставлять точные и полезные ответы на мои запросы в пределах приемлемой стоимости.
Статья (открывать анонимно): https://levelup.gitconnected.com/how-to-create-a-doc-chatbot-that-learns-everything-for-you-in-15-minutes-364fef481307
Краткое руководство по созданию чатбота, принимающего внешние документы в качестве контекста. Я пытаюсь рассмотреть возможность создания такого помощника, который способен усваивать новые знания из различных ресурсов и предоставлять точные и полезные ответы на мои запросы в пределах приемлемой стоимости.
Статья (открывать анонимно): https://levelup.gitconnected.com/how-to-create-a-doc-chatbot-that-learns-everything-for-you-in-15-minutes-364fef481307
Почему я никогда не стану Senior инженером-программистом в Amazon
Сегодня я собираюсь обсудить тему, которая может удивить некоторых из вас, - почему я откажусь от любого повышения на должность старшего инженера в Amazon, даже если папа Безос сам придет ко мне и предложит повышение до выдающегося инженера. (При общей зарплате на этой должности около $750 тыс. в год, я думаю).
Да, вы не ослышались.
Если это случится, я вежливо откажусь и скажу: "Папа Безос, нет! Как вы вообще попали в здание? Вы здесь больше не работаете!".
Статья: https://medium.com/@jamesryebread/why-i-will-never-be-a-senior-software-engineer-at-amazon-6613c66c2a6e
Сегодня я собираюсь обсудить тему, которая может удивить некоторых из вас, - почему я откажусь от любого повышения на должность старшего инженера в Amazon, даже если папа Безос сам придет ко мне и предложит повышение до выдающегося инженера. (При общей зарплате на этой должности около $750 тыс. в год, я думаю).
Да, вы не ослышались.
Если это случится, я вежливо откажусь и скажу: "Папа Безос, нет! Как вы вообще попали в здание? Вы здесь больше не работаете!".
Статья: https://medium.com/@jamesryebread/why-i-will-never-be-a-senior-software-engineer-at-amazon-6613c66c2a6e
IT Insights
Не ориентируйте свой код "на будущее" То, что, по вашему мнению, может произойти, не имеет значения. Разработчики любят строить планы на будущее. Они хотят быть уверенными в том, что предвидят будущие потребности и пишут соответствующий код. Плохая новость:…
Хабр
Не пытайтесь приспособить свой код к будущему
Не имеет значения, что, по вашему мнению, может случиться потом. Разработчики любят приспосабливать свои планы под будущее. Им хочется быть уверенными, что они действуют на опережение потребностей, и...
Почему увольняют самых опытных? Потому что они слишком умные. Тейлоризм 21-го века
Опытный и талантливый сотрудник — носитель знаний и опыта. На него полагаются коллеги, он выполняет в десять раз больше работы, чем джун. Казалось бы, руководство должно молиться на такого разработчика. Но нет, к нему не испытывают особой благодарности и зачастую рады от него избавиться. Почему так происходит?
Статья: https://habr.com/ru/companies/ruvds/articles/731162/
Опытный и талантливый сотрудник — носитель знаний и опыта. На него полагаются коллеги, он выполняет в десять раз больше работы, чем джун. Казалось бы, руководство должно молиться на такого разработчика. Но нет, к нему не испытывают особой благодарности и зачастую рады от него избавиться. Почему так происходит?
Статья: https://habr.com/ru/companies/ruvds/articles/731162/
Кстати про увольнения, вспомнил прекрасную серию из двух статей:
• Мы уволили нашего лучшего разработчика — и это стало нашим лучшим решением
• Вы уволили лучшего разработчика. Надеюсь, вы довольны?
• Мы уволили нашего лучшего разработчика — и это стало нашим лучшим решением
• Вы уволили лучшего разработчика. Надеюсь, вы довольны?
AppTractor
Мы уволили нашего лучшего разработчика — и это стало нашим лучшим решением
Сила вашей команды не зависит от талантов отдельных её членов. Она зависит от их сотрудничества, упорства и взаимного уважения. Создавайте команды, которые ценят друг друга и пытаются использовать лучшие качества каждого из участников.
Использование CockroachDB для сокращения расходов на Feature Store на 75%
Чтобы найти более эффективный способ обеспечить рост, в DoorDash решили исследовать возможность использования другой базы данных в дополнение к Redis в качестве бэкенда для онлайн Feature Store. В конечном итоге они остановились на использовании CockroachDB в качестве хранилища функций. После итераций с использованием новой платформы в компании смогли сократить расходы на облако в среднем на 75% на каждую хранимую ценность при минимальном увеличении задержки.
Статья: https://doordash.engineering/2023/03/21/using-cockroachdb-to-reduce-feature-store-costs-by-75/
Чтобы найти более эффективный способ обеспечить рост, в DoorDash решили исследовать возможность использования другой базы данных в дополнение к Redis в качестве бэкенда для онлайн Feature Store. В конечном итоге они остановились на использовании CockroachDB в качестве хранилища функций. После итераций с использованием новой платформы в компании смогли сократить расходы на облако в среднем на 75% на каждую хранимую ценность при минимальном увеличении задержки.
Статья: https://doordash.engineering/2023/03/21/using-cockroachdb-to-reduce-feature-store-costs-by-75/
DoorDash Engineering Blog
Using CockroachDB to Reduce Feature Store Costs by 75%
While building our ML feature store we learned that a mix of databases yields significant gains in efficiency and operational simplicity.
Масштабирование баз данных в Activision
Краткая история того, как мы начали использовать Vitess/Kubernetes для обеспечения работы некоторых из крупнейших развлекательных франшизы на планете
Презентация: https://static.sched.com/hosted_files/kccnceu2023/3d/KubeCon-2023-Scaling-Databases-Activision.pdf
Краткая история того, как мы начали использовать Vitess/Kubernetes для обеспечения работы некоторых из крупнейших развлекательных франшизы на планете
Презентация: https://static.sched.com/hosted_files/kccnceu2023/3d/KubeCon-2023-Scaling-Databases-Activision.pdf
Изучение WebGPU
WebGPU — это один из современных API, предназначенных для работы с компьютерной графикой. В этом учебнике рассказывается об использовании графического API WebGPU для создания собственных 3D-приложений на C++ с нуля для Windows, Linux и macOS.
Руководство: https://eliemichel.github.io/LearnWebGPU/
WebGPU — это один из современных API, предназначенных для работы с компьютерной графикой. В этом учебнике рассказывается об использовании графического API WebGPU для создания собственных 3D-приложений на C++ с нуля для Windows, Linux и macOS.
Руководство: https://eliemichel.github.io/LearnWebGPU/
Немецкие исследователи выяснили, как в Баварии появился лагер
Вот занимаются же ученые действительно важными вещами! Новая статья в журнале FEMS Yeast Research раскрывает возможную историю происхождения светлого пива. Используя исторические записи и современные исследования филогеномики, ученые показали, где, вероятно, впервые появился лагер - в придворной пивоварне (Hofbräuhaus) Максимилиана Великого, курфюрста Баварии, в Мюнхене в 1602 году.
Новость: https://phys.org/news/2023-04-german-figure-lager-bavaria.html
Ну и хорошего вам лагера в пятницу!
Вот занимаются же ученые действительно важными вещами! Новая статья в журнале FEMS Yeast Research раскрывает возможную историю происхождения светлого пива. Используя исторические записи и современные исследования филогеномики, ученые показали, где, вероятно, впервые появился лагер - в придворной пивоварне (Hofbräuhaus) Максимилиана Великого, курфюрста Баварии, в Мюнхене в 1602 году.
Новость: https://phys.org/news/2023-04-german-figure-lager-bavaria.html
Исследователи разработали крошечные гидравлические тактильные сенсоры для тачскринов
Группа Future Interfaces Group из Университета Карнеги-Меллон создала сенсорный дисплей с тактильной обратной связью. Электроосмотические насосы, используемые в экранах, могут быть размером от 2 мм до 10 мм. Каждый насос может управляться индивидуально с высокой скоростью обновления. Технология может позволить создавать динамические интерфейсы на устройствах с кнопками и сигналами, которые могут появляться там, где это необходимо. Она также может вернуть физичность клавиатуры в смартфоны.
Новость: https://techcrunch.com/2023/04/27/tactile-push-notifications/?utm_source=tldrnewsletter
Группа Future Interfaces Group из Университета Карнеги-Меллон создала сенсорный дисплей с тактильной обратной связью. Электроосмотические насосы, используемые в экранах, могут быть размером от 2 мм до 10 мм. Каждый насос может управляться индивидуально с высокой скоростью обновления. Технология может позволить создавать динамические интерфейсы на устройствах с кнопками и сигналами, которые могут появляться там, где это необходимо. Она также может вернуть физичность клавиатуры в смартфоны.
Новость: https://techcrunch.com/2023/04/27/tactile-push-notifications/?utm_source=tldrnewsletter
TechCrunch
Researchers develop tiny hydraulic haptics for touchscreen notifications you can physically feel
If you find smartphone notifications annoying enough already thanks to their skill at exploiting the full range of distraction options available, whether dropping a banner from above or sprinkling pox-like red balls over your homescreen icons so as to lodge…
👍1
Конец программирования, каким мы его знаем
Когда в ноябре на свет появился ChatGPT, большинство из нас восхитились его способностью писать тексты рэпа, сопроводительные письма и школьные сочинения по английскому языку. Но Адам Хьюз, разработчик программного обеспечения, был заинтригован столь разрекламированной способностью искусственного интеллекта к написанию кода. Поэтому он зарегистрировал аккаунт и попросил ChatGPT запрограммировать модифицированную игру "Крестики-нолики", задав ей несколько странных правил, чтобы бот не мог просто скопировать код, который уже написал другой человек. Затем он задал ему вопросы по кодированию, которые задают кандидатам на собеседовании.
Что бы он ни спрашивал, Хьюз обнаружил, что ChatGPT возвращается с тем, к чему он не был готов: очень хорошим кодом. Он не сразу понял, что это означает для карьеры, которую он любит - карьеры, которая до сих пор обеспечивала ему не только хороший заработок и гарантию занятости, но и чувство того, кем он является. "Я никогда не думал, что меня заменят на моей работе, никогда, до ChatGPT", - говорит он. "У меня был экзистенциальный кризис прямо тогда и там. Многие знания, которые я считал для себя особенными, на которые я потратил семь лет, просто устарели".
Статья: https://archive.ph/7XceZ#selection-1601.0-1601.539
Мой перевод: https://apptractor.ru/info/articles/konets-programmirovaniya-kakim-my-ego-znaem.html
Когда в ноябре на свет появился ChatGPT, большинство из нас восхитились его способностью писать тексты рэпа, сопроводительные письма и школьные сочинения по английскому языку. Но Адам Хьюз, разработчик программного обеспечения, был заинтригован столь разрекламированной способностью искусственного интеллекта к написанию кода. Поэтому он зарегистрировал аккаунт и попросил ChatGPT запрограммировать модифицированную игру "Крестики-нолики", задав ей несколько странных правил, чтобы бот не мог просто скопировать код, который уже написал другой человек. Затем он задал ему вопросы по кодированию, которые задают кандидатам на собеседовании.
Что бы он ни спрашивал, Хьюз обнаружил, что ChatGPT возвращается с тем, к чему он не был готов: очень хорошим кодом. Он не сразу понял, что это означает для карьеры, которую он любит - карьеры, которая до сих пор обеспечивала ему не только хороший заработок и гарантию занятости, но и чувство того, кем он является. "Я никогда не думал, что меня заменят на моей работе, никогда, до ChatGPT", - говорит он. "У меня был экзистенциальный кризис прямо тогда и там. Многие знания, которые я считал для себя особенными, на которые я потратил семь лет, просто устарели".
Статья: https://archive.ph/7XceZ#selection-1601.0-1601.539
Мой перевод: https://apptractor.ru/info/articles/konets-programmirovaniya-kakim-my-ego-znaem.html
💩5
Первый в мире деревянный транзистор
Совместными усилиями исследователей из Научного центра древесины имени Валленберга был создан первый в мире деревянный транзистор. Его размер составляет три сантиметра в поперечнике, а скорость переключения - менее одного герца. Транзистор работает за счет электрохимической модуляции проводимости в проводящих каналах внутри пор древесины с помощью проникающего электролита. Он может быть использован для специальных приложений, включая биоразлагаемые вычислительные системы и имплантацию в живой растительный материал.
Новость: https://spectrum.ieee.org/wood-transistor
Совместными усилиями исследователей из Научного центра древесины имени Валленберга был создан первый в мире деревянный транзистор. Его размер составляет три сантиметра в поперечнике, а скорость переключения - менее одного герца. Транзистор работает за счет электрохимической модуляции проводимости в проводящих каналах внутри пор древесины с помощью проникающего электролита. Он может быть использован для специальных приложений, включая биоразлагаемые вычислительные системы и имплантацию в живой растительный материал.
Новость: https://spectrum.ieee.org/wood-transistor
😁4🤡1
Наука наконец-то выяснила, как быстро и громко нужно говорить по Zoom
Вот занимаются же ученые действительно важными вещами! Часть 2
Zoom - это отстой, верно? Если вы провели хоть немного времени в этом приложении - или в любом другом приложении для видеочата, - вы наверняка это почувствовали. Независимо от того, насколько хорошо ваше интернет-соединение, личная связь редко возникает. Вы не знаете, когда начать говорить. Вы пересекаетесь и перебиваете собеседника, а он, кажется, не слушает. Все на месте, но никто не чувствует присутствия.
Дело не только в вас. В исследовании, проведенном в прошлом году, люди, общавшиеся лицом к лицу, отвечали на вопросы "да/нет" в среднем за 297 миллисекунд, в то время как в чатах Zoom на это уходило 976 миллисекунд. Повороты в разговоре - передача микрофона от одного собеседника к другому - демонстрировали аналогичные задержки. Исследователи выдвинули гипотезу, что что-то, связанное с мизерной 30-70-миллисекундной задержкой звука в Zoom, нарушает нейронные механизмы, которые мы используем для синхронизации друг с другом, то волшебство, которое создает настоящий диалог.
Новость: https://archive.ph/jJp3q#selection-1145.0-1145.73
Вот занимаются же ученые действительно важными вещами! Часть 2
Zoom - это отстой, верно? Если вы провели хоть немного времени в этом приложении - или в любом другом приложении для видеочата, - вы наверняка это почувствовали. Независимо от того, насколько хорошо ваше интернет-соединение, личная связь редко возникает. Вы не знаете, когда начать говорить. Вы пересекаетесь и перебиваете собеседника, а он, кажется, не слушает. Все на месте, но никто не чувствует присутствия.
Дело не только в вас. В исследовании, проведенном в прошлом году, люди, общавшиеся лицом к лицу, отвечали на вопросы "да/нет" в среднем за 297 миллисекунд, в то время как в чатах Zoom на это уходило 976 миллисекунд. Повороты в разговоре - передача микрофона от одного собеседника к другому - демонстрировали аналогичные задержки. Исследователи выдвинули гипотезу, что что-то, связанное с мизерной 30-70-миллисекундной задержкой звука в Zoom, нарушает нейронные механизмы, которые мы используем для синхронизации друг с другом, то волшебство, которое создает настоящий диалог.
Новость: https://archive.ph/jJp3q#selection-1145.0-1145.73
archive.ph
How to up Your Zoom Game, According to a Huge New Study
archived 1 May 2023 11:39:01 UTC
🤔1
Sudo и su переписываются в Rust
Два наиболее фундаментальных инструмента современной командной строки, sudo и su, переписываются на современном языке Rust в рамках более широких усилий по замене критически важных, но устаревающих элементов инфраструктуры на безопасные для памяти аналоги.
Новость: https://arstechnica.com/information-technology/2023/05/two-core-unix-like-utilities-sudo-and-su-are-getting-rewrites-in-rust/
Два наиболее фундаментальных инструмента современной командной строки, sudo и su, переписываются на современном языке Rust в рамках более широких усилий по замене критически важных, но устаревающих элементов инфраструктуры на безопасные для памяти аналоги.
Новость: https://arstechnica.com/information-technology/2023/05/two-core-unix-like-utilities-sudo-and-su-are-getting-rewrites-in-rust/
Ars Technica
Two core Unix-like utilities, sudo and su, are getting rewrites in Rust
AWS-backed group believes command is too central to the web to keep as-is.
Эстетическое юзабилити: как красота влияет на пользовательский опыт
Что такое дизайн? В двух словах, это способ решения проблем людей и удовлетворения их желаний с помощью логики и красоты. В этой статье мы предлагаем обсудить роль красоты в дизайне пользовательского опыта: давайте проверим, как она делает счастливыми и пользователей, и бизнес.
Статья: https://medium.muz.li/aesthetic-usability-how-beauty-influences-user-experience-ed1566d569
Что такое дизайн? В двух словах, это способ решения проблем людей и удовлетворения их желаний с помощью логики и красоты. В этой статье мы предлагаем обсудить роль красоты в дизайне пользовательского опыта: давайте проверим, как она делает счастливыми и пользователей, и бизнес.
Статья: https://medium.muz.li/aesthetic-usability-how-beauty-influences-user-experience-ed1566d569
Mojo 🔥 - новый язык программирования для ИИ-разработчиков
Mojo сочетает в себе удобство использования Python и производительность C, открывая беспрецедентное программирование для ИИ железа и расширяемость моделей ИИ.
Сайт: https://www.modular.com/mojo
Mojo сочетает в себе удобство использования Python и производительность C, открывая беспрецедентное программирование для ИИ железа и расширяемость моделей ИИ.
Сайт: https://www.modular.com/mojo
Modular
Mojo 🔥: Powerful CPU+GPU Programming
Mojo is a programming language that enables fast & portable CPU+GPU programs to execute via the MAX Platform
👍2💩1
Эмпирические правила для оценки времени разработки программного обеспечения
Сначала я планировал назвать эту статью "Овладение искусством оценки: определяющее руководство для разработчиков", но кто я такой, чтобы говорить вам, как оценивать проекты? Я могу лишь дать вам несколько советов и описать некоторые вещи, которые хорошо работали для меня на протяжении многих лет. Поэтому именно это я и сделаю - дам вам несколько эмпирических правил, чтобы облегчить вашу жизнь.
Оценка - бич многих разработчиков и бич менеджеров проектов. Постоянная борьба между "скажи мне, сколько это займет" и "сначала дай мне четкое описание задачи". Я здесь для того, чтобы привнести столь необходимую реальность в сложность реальной разработки. У меня была своя доля оценок по обе стороны. Я видел все это. И я здесь, чтобы рассказать вам суровую правду об оценке программного обеспечения, так что пристегнитесь.
А если вы начинающие разработчики - будьте внимательны. Этот материал станет разницей между успешной карьерой и пожизненным пропуском сроков и расстроенными коллегами.
Статья: https://vadimkravcenko.com/shorts/project-estimates/
Сначала я планировал назвать эту статью "Овладение искусством оценки: определяющее руководство для разработчиков", но кто я такой, чтобы говорить вам, как оценивать проекты? Я могу лишь дать вам несколько советов и описать некоторые вещи, которые хорошо работали для меня на протяжении многих лет. Поэтому именно это я и сделаю - дам вам несколько эмпирических правил, чтобы облегчить вашу жизнь.
Оценка - бич многих разработчиков и бич менеджеров проектов. Постоянная борьба между "скажи мне, сколько это займет" и "сначала дай мне четкое описание задачи". Я здесь для того, чтобы привнести столь необходимую реальность в сложность реальной разработки. У меня была своя доля оценок по обе стороны. Я видел все это. И я здесь, чтобы рассказать вам суровую правду об оценке программного обеспечения, так что пристегнитесь.
А если вы начинающие разработчики - будьте внимательны. Этот материал станет разницей между успешной карьерой и пожизненным пропуском сроков и расстроенными коллегами.
Статья: https://vadimkravcenko.com/shorts/project-estimates/
Без паники! Руководство по управлению любым производственным инцидентом
Знать, как действовать, когда что-то ломается, важнее, чем предотвратить поломку.
Статья: https://stackoverflow.blog/2023/05/03/dont-panic-a-playbook-for-managing-any-production-incident/
Знать, как действовать, когда что-то ломается, важнее, чем предотвратить поломку.
Статья: https://stackoverflow.blog/2023/05/03/dont-panic-a-playbook-for-managing-any-production-incident/