IT Insights
675 subscribers
755 photos
4 videos
3 files
1.06K links
Новости разработки, технологий, немножко науки и техники
Download Telegram
Приложение-калькулятор? Да каждый может написать такое

Возможно, в математических терминах есть неточность перевода, но от этого история не становится менее эпичной :)

Калькулятор должен показать вам результат введенного вами математического выражения. Это намного, намного сложнее, чем кажется.

То, что я вам сейчас расскажу - величайшая история разработки приложений для калькуляторов, которую когда-либо рассказывали. Изображение выше - это калькулятор в iOS. Заметили что-нибудь?

В нем ошибка.

(10^100) + 1 - (10^100) - это 1, а не 0.

В Android все правильно. И история о том, как это так, совершенно безумна.

Компания Google наняла Ханса-Я. Боэма, известного по «сборщику мусора Боэма».

Им нужен был элитный кодер, чтобы исправить ситуацию со сборкой мусора и параллельным программированием. Он возглавил работу по определению семантики общих переменных в C++.

Но потом перед ним поставили невыполнимую задачу: написать приложение для калькулятора.

Статья: https://apptractor.ru/info/articles/135833.html
Вакансии в области программной инженерии достигли пятилетнего минимума?

Все вы наверняка видели устрашающий график количества вакансий для разработчиков. Но почему это происходит на самом деле? Гергели Орош, известный разработчик с опытом работы в Uber, Skype и Skyscanner, пытается понять, что стоит за этими цифрами и что делать дальше. Точного ответа у него, традиционно нет, но основные идеи понятны - LLM и небольшие эффективные команды.
5 лет опыта ИЛИ 5 раз по 1 году?

Помню, как после собеседования кто-то сказал мне, что у кандидата, которого мы только что видели, не 5 лет опыта, а 5 раз по 1 году.

Это было очень хорошее замечание. Этот человек постоянно работал над небольшими, очень простыми проектами на одинаковых этапах. Из-за этого он никогда не развивал свои навыки, и большинство лет его опыта не имели значения по сравнению с другими кандидатами, которые сталкивались с более широким кругом проблем и задач.

Конечно, логично, что годы, проведенные в отрасли, не означают напрямую большего стажа, но, как ни странно, часто предполагается, что люди со временем становятся лучше. Фокус в том, что это не так, и существует предел того, чего можно достичь, если оставаться на одной и той же работе и не пытаться выйти из своей зоны комфорта.
Уродливый код и глупые вещи

Идеальный код не гарантирует успеха, если вы не решили реальную проблему для реальных людей. Стремление к элегантности в вакууме приводит к заброшенным побочным проектам или фреймворкам, которые никто не использует. В отличие от этого, неуклюжий, но функциональный код часто содержит только правильные компромиссы для быстрой итерации. А это, в свою очередь, означает, что большое количество запутанного кода способствует созданию продуктов, которые нравятся людям, что является гораздо более сложной задачей.
В защиту простых архитектур

Максимально упростив архитектуру приложений, мы можем тратить бюджет на сложность (и численность персонала) там, где сложность выгодна нашему бизнесу. Идея делать все как можно проще, если нет веских причин для усложнения, позволила нам построить довольно крупный бизнес с небольшим количеством инженеров.
Зумеры не просто слушают — они хотят, чтобы их слушали. Как баг изменил наш взгляд на продукт

Летом мы работали над улучшением нашего приложения. На первый взгляд, задача была простой: перенести кнопку технической поддержки из веб в мобильную версию. Но, как это часто бывает, нюансы сделали свое дело. Мы пропустили слово «техническая». И все завертелось.

Как одно слово чуть не поломало нам все процессы, заставило неделю работать в две смены и как мы развили новый инструмент для общения с аудиторией, я расскажу в этом материале. И заодно поделюсь своими выводами: что же действительно нужно сейчас подросткам и какой интерфейс для них является по-настоящему нативным.
«Давайте просто…»: системные идеи, которые звучат хорошо, но почти никогда не работают

Всегда ли я был категоричным «противником» по всем этим вопросам? Конечно, нет. Можете ли вы выбрать эти подходы, и они заработают? Да, конечно, можете. Всегда есть какой-то контекст, в котором они могут сработать, но чаще всего они просто не нужны, и есть лучший способ.

• Давайте просто сделаем возможность подключения
• Давайте просто добавим API
• Давайте абстрагируем это еще раз
• Давайте сделаем это асинхронным
• Давайте просто добавим средства контроля доступа позже
• Давайте просто синхронизируем данные
• Давайте сделаем это кроссплатформенным
• Давайте просто сбежим в нативный код
Please open Telegram to view this post
VIEW IN TELEGRAM
Это весело и забавно... пока ваш босс не узнает про вайб-кодинг

Но ущерб уже нанесен. Ящик Пандоры открыт, и джинна ИИ обратно не засунуть.

Все, на что мы можем надеяться, молиться, это то, что отрасль в конечном итоге вновь откроет для себя ценность ручной работы и человеческого прикосновения — веб-сайтов от настоящих профессионалов и нормально сделанных приложений — цифрового эквивалента мелкосерийных изделий из кожи или великолепного хлеба с фермерского рынка. Несовершенные человеческие продукты, а не выкованные роботом или кем-то, кто вчера ввел в Google «как сделать веб-сайт».
"ИИ-агенты для начинающих" - бесплатный курс Microsoft

У Microsoft появился еще один бесплатный курс по ИИ для самостоятельного обучения, предназначенный для новичков. Этот курс состоит из 10 уроков, которые охватывают основы создания ИИ-агентов.
whitepaper_emebddings_vectorstores_v2.pdf
9.2 MB
Embeddings & Vector Stores от Google

Данный технический документ всесторонне рассматривает эмбеддинги и векторные хранилища, ключевые технологии в современной обработке данных и машинном обучении. Он объясняет, как эмбеддинги преобразуют различные типы данных в унифицированные векторные представления, что позволяет эффективно обрабатывать и сравнивать информацию. В документе подробно описаны различные типы эмбеддингов, включая текстовые, графические, а также эмбеддинги структурированных и мультимодальных данных, наряду с методами их обучения и оценки качества. Особое внимание уделяется векторному поиску и алгоритмам приблизительного поиска ближайших соседей (ANN), необходимым для быстрого извлечения релевантной информации из больших объемов данных. Наконец, в документе обсуждаются векторные базы данных, их операционные аспекты и многочисленные приложения эмбеддингов и векторных хранилищ, включая поисковые системы и генерацию ответов на вопросы с использованием извлеченных данных (RAG).
Почему компании не исправляют ошибки

Несколько лет назад один программист под ником t0st совершил нечто выдающееся: он исправил 8-летнюю ошибку в GTA Online, которая сводила с ума игроков. Ошибка? Ужасно долгая загрузка, иногда до 20 минут. В то время как однопользовательский режим загружался за считанные секунды. Его решение было элегантным: 13-строчный твик кода, который сократил время загрузки на 70%. Студия Rockstar Games, стоящая за GTA, вознаградила его 10,000 долларов и выпустила патч для игры. Проблема решена, да?

Не совсем.

Интернет взорвался критикой. Как могла компания стоимостью в миллиард долларов упустить такую ​​очевидную вещь? Были ли их разработчики некомпетентны? Как человек, работающий в сфере технологий, я могу сказать, что ответ не так прост. На самом деле проблема здесь не в ленивых разработчиках или технической некомпетентности. Речь идет о том, как даже самые простые решения теряются в лабиринте корпоративных приоритетов.
Конец продуктовой разработки в том виде, в котором мы ее знаем

Забудьте о руководствах IKEA. Вы же не хотите застрять в ситуации, когда вы следуете каждому шагу, винтик за винтиком, только для того, чтобы на полпути понять, что на самом деле вам нужна была лестница.

Будущее разработки продуктов выглядит следующим образом.
Prompt Engineering

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

Когда вы общаетесь с чат-ботом Gemini, вы, по сути, пишете подсказки, и в этом документе речь идет о написании промптов для модели Gemini в Vertex AI или с помощью API, поскольку, обращаясь к модели напрямую, вы получаете доступ к ее конфигурации, такой как температура и т.д. Мы рассмотрим различные методы создания промптов , которые помогут вам начать работу, а также поделимся советами и лучшими практиками, которые помогут вам стать экспертом в области создания промптов. Мы также обсудим некоторые проблемы, с которыми вы можете столкнуться при создании подсказок.
Взлом устройств умного дома

Как я переделал устройство «умного дома» на базе ESP32, чтобы получить доступ к дистанционному управлению и интегрировать его с Home Assistant - огромное руководство по улучшению Интернета вещей.
Вайб кодинг — не оправдание для некачественной работы

Вайб кодинг и разработка программного обеспечения с помощью искусственного интеллекта в целом представляют собой захватывающий скачок вперед в развитии наших инструментов. Он уже здесь и останется, и дальше будет становиться только сложнее. Перспективные инженерные команды не должны игнорировать его — те, кто эффективно использует ИИ, скорее всего, опередят тех, кто этого не делает, точно так же, как команды, принявшие более ранние волны автоматизации и более совершенные фреймворки, опередили тех, кто писал все с нуля. Смысл этой статьи не в том, чтобы отвергать вайб кодинг, а в том, чтобы подходить к нему с открытыми глазами и с соблюдением инженерной дисциплины.
Как одна строчка кода может сломать ваш iPhone

Еще в середине 2024 года автор в iOS нашел уязвимость, которая может навсегда (до восстановления из бэкапа) брикнуть устройство.

Дело в том, что процессы в ОС могут обмениваться уведомлениями Darwin, это низкоуровневый механизм для простого обмена данными в операционных системах Apple. При этом они:

• Не требуют особых привилегий для получения
• Не требуют специальных привилегий для отправки
• Доступны как общедоступный API
• Не имеют механизма проверки отправителя

И именно такие сообщения использовались для работы ключевых системных процессов, вроде входа и выхода устройства из «режима потери» Find My или запуска режима «идет восстановление».
notify_post(«com.apple.MobileSync.BackupAgent.RestoreStarted»)


Последний и послужил отличным "отказом в обслуживании", поскольку операция неизбежно завершалась неудачей после тайм-аута, ведь устройство фактически не восстанавливалось, и единственным средством решения этой проблемы было нажатие кнопки «Restart», что приводило к перезагрузке устройства.

Дальше дело было только за тем, чтобы снова отправлять уведомление при новом старте устройства, но с этим прекрасно справилась подсистема виджетов, которая стартует еще до разблокировки устройства.

Итого - 9 месяцев на исправление в iOS 18.3 (теперь уведомления принимаются только от системных процессов) и $17,500 за найденную ошибку.
Массовые увольнения в российском IT: что на самом деле происходит в компаниях — взгляд CEO

На связи CEO Surf Владимир Макеев. Я в разработке с 2011 года, почти с самых истоков развития мобильных приложений в РФ. Сегодня поделюсь своим взглядом на то, как накопленный кризис управленческих иллюзий повлиял на IT-сферу и почему за последний год уволили так много специалистов. И как на ситуацию влияет развитие ИИ, который может заменить разработчиков.
Please open Telegram to view this post
VIEW IN TELEGRAM
Новая робототехническая модель Hugging Face может работать на MacBook

Создавать сложные робототехнические проекты в домашних условиях становится немного проще.

В начале этой недели платформа для разработки искусственного интеллекта Hugging Face выпустила открытую модель искусственного интеллекта для робототехники под названием SmolVLA. По утверждению Hugging Face, SmolVLA, обученная на «совместимых лицензионных» наборах данных, которыми делится сообщество, превосходит гораздо более крупные модели для робототехники как в виртуальной, так и в реальной среде.

SmolVLA является частью быстро расширяющихся усилий Hugging Face по созданию экосистемы недорогого оборудования и программного обеспечения для робототехники. В прошлом году компания запустила LeRobot, коллекцию моделей, наборов данных и инструментов, ориентированных на робототехнику. Совсем недавно Hugging Face приобрела Pollen Robotics, стартап в области робототехники, базирующийся во Франции, и представила несколько недорогих робототехнических систем, в том числе гуманоидов, для покупки.

Hugging Face утверждает, что SmolVLA достаточно мала, чтобы работать на одном графическом процессоре потребительского класса — или даже на MacBook — и может быть протестирована и развернута на «доступном» оборудовании, включая собственные робототехнические системы компании.