Обновить

Все потоки

Сначала показывать
Порог рейтинга

2ГИС на Apple Watch

Год назад мы масштабно обновили приложение для 2ГИС на Apple Watch: начали показывать на часах местоположение близких в рамках функции «Друзья на карте» и поддерживать ведение по пешему маршруту. К очередной презентации Apple решили добавить ещё полезностей. 

Теперь часы умеют вести и по маршрутам общественного транспорта — с указанием номеров маршрутов транспорта и полезными подсказками в пути. Мы сами знаем, что это особенно удобно, когда руки заняты или вокруг суета. 

Об интересных моментах реализации рассказывает разработчик Иван Гнатюк.

Маленький экран — большие задачи

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

  • Во-первых, у нас уже было приложение на watchOS 10+, где работало пешее ведение и была настроена коммуникация телефон ← → часы.

  • Во-вторых, мы раньше делали отображение маршрута транспорта для Live Activity на телефоне, и смогли переиспользовать много вьюшек и бизнес-логики (а она бывает непростой).

Оставалось только собрать из уже имеющихся блоков новое отображение для часов, что мы и сделали довольно быстро. Потом мы подумали, а почему бы не сделать и новое LA для общественного транспорта на часах? Текущее отображение от Dynamic Island с телефона выглядело скучно.

Сложность в том, что мы ограничены размерами часов, причём размеры варьируются 40– 49 мм. Скролл мы здесь добавить не можем, поэтому нужно попытаться уместить весь маршрут со всеми его сегментами на маленьком экранчике, попытавшись сохранить максимум полезной информации (номер маршрута, номер выхода из метро).

На помощь пришел GeometryReader — он даёт ширину контейнера, и, зная количество и тип сегментов, мы рисуем маршрут. Если пересадок на маршруте шесть и больше, то оставляем те, что помещаются, а вместо последнего покажем «....». Но на бою нам не удалось построить такой маршрут. Если вам удастся — расскажите нам!

Разработка на настоящих часах — интересно, но непредсказуемо

Разрабатывать и собирать на настоящих часах всегда интереснее. Но с этим могут быть свои приключения. 

  • Например, часы могут «отваливаться». Xcode к ним не подключается и приходится постоянно проверять настройки часов и подключение к WiFi. 

  • Иногда таргет часов ни в какую не хочет устанавливаться на часы — помогает только их перезагрузка.

  • А в какой то момент на часах перестал отображаться и новый LA, и простая трансляция DI. Перезагружали и часы, и телефон — ничего не помогало. Оказалось, что в какой то момент телефон обновился, а часы нет. Вот так и сломалось.

Как работает для пользователя

Для того чтобы видеть основные этапы маршрута, нужно построить маршрут на общественном транспорте в приложении на смартфоне и нажать «В путь», а на часах открыть приложение 2ГИС. В пути достаточно посматривать на часы — приложение покажет ключевую информацию с помощью Live Activities: иконки транспорта с цветом ветки метро, номер выхода, время в пути и пересадки, если они предусмотрены. Чтобы просмотреть весь маршрут, достаточно тапнуть на Live Activities и прокрутить Digital Crown.

Всё будет работать на Apple Watch с watchOS 11, iPhone с iOS 18 и в приложении 2ГИС версии 7.11 или новее. На часы отдельно ничего ставить не нужно — всё подтянется из приложения на айфоне.

Теги:
Всего голосов 7: ↑6 и ↓1+5
Комментарии0

ImageSorcery 05 - автотесты; просто покажи ему пример

Это серия постов от идеи ImageSorcery до 100+ звёзд на гитхабе и 100+ ежедневных установок с PyPI.

ImageSorcery 01 - Как я свой open source вайбкодил
ImageSorcery 02 - Превращение ImageWizard в ImageSorcery
ImageSorcery 03 - шаг за шагом: PoC, Initial commit
ImageSorcery 04 - README.MD

В прошлой серии мы поговорили про важность README для вайбкодинга. В этой не менее важная тема - автотесты. 

Не поленюсь ещё раз всем напомнить что я джун в python, а это значит что даже с самым качественным README я не могу на 100% утверждать что понимаю как работает проект написанный целиком ИИ. Из-за чего я не могу полностью доверять ИИ, когда он его меняет. Это приводит нас к выводу о необходимости автотестов. Не только как к способу повысить качество, надёжность и прочие пафосные метрики. А как к единственно возможному способу реализовать, а в дальнейшем развивать проект через вайбкодинг.

Вперёд вайбкодить автотесты!

Сказано - сделано. Cline + Gemini flash:

“Прочитай @README.MD для понимания проекта. Напиши автотест, который будут проверять наш единственный hello world tool.”

Тест на pytest готов ваншотом. Он passed 🎉! Казалось бы, пора открывать шампанское. Но как говорится: доверяй, но проверяй. На проверку это оказался юнит тест. Он конечно технически проверяет что функция написания в файле hello_world.py работает. Но он не проверяет, объявляет ли такой tool мой MCP сервер, возможно ли вызвать этот tool, вернёт ли он значение в ожидаемом MCP клиентом формате. 

Я совершил классическую для вайбкодера ошибку - поставил задачу не достаточно чётко.

Ок, откатываем все изменения (благо я с самого начала завёл git - обязательную вещь для вайбкодинга и обычной разработки) и промптим заново: 

“Прочитай @README.MD для понимания проекта. Напиши e2e автотест, который будут проверять наш единственный hello world tool подключаясь к этому MCP серверу как MCP клиент

Я знал что ImageSorcery в своём зачаточном виде работает через stdio - стандартный протокол для MCP серверов работающих локально. Это значит что его можно запустить как подпроцесс и, отправив в него нужные данные, получить ответ.

Правда это не звучит как простая типовая задача? Вот и я так подумал. Вот и Gemini Flash так подумал. И облажался. И Pro облажался. И o3-mini. И Sonnet.

Ну мне не привыкать к тому как ИИ лажают. Взял дело в свои руки. И тоже облажался 🤦. Целый день я потратил в тщетных попытках отправить по stdio хоть что-то и получить хоть какой-то ответ. А разгадка одна - безблагодатность нужно звать батю. Благо такой батя в виде коллеги python senior software developer у меня имелся. Я пришёл к нему в слезах со словами что в попытках покрыть автотестами MCP сервер работающий по stdio что только не испробовал и на этом мои полномочия всё, закончились. Он, взглянув одним глазом на проект и ситуацию в целом сказал: “Просто покажи своей ИИшке пример MCP сервера покрытого автотестами. Таких что ли нет на GitHub? У нас в python фиг найдёшь задачу, которую до тебя ещё не решили и не обернули в удобную либу.”

Просто возьми пример с Github - И покажи его ИИ
Просто возьми пример с Github - И покажи его ИИ

А официальная документация тем временем имела ссылку на GitHub с официальными примерами. А в этих примерах используется либа FastMCP. Я скормил пример Cline - отличный результат ваншотом. Попросил переписать всю реализацию на FastMCP - так же ваншот, и тесты не упали. Попросил актуализировать в связи изменениями README. git commit.

Этот шаг готов ✅

Я уже точно не помню, но где-то в процессе (до или после тестов) добавил ещё и линтер ruff. Но это было так просто что я даже не запомнил где и как это случилось. Линтер нужен, чтобы держать код в едином стиле. Полезно для вайбкодинга и в целом.

Теперь я готов приступать к реализации MVP.

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

Но это уже в следующий серии.

Теги:
Всего голосов 2: ↑1 и ↓1+1
Комментарии0
Привет, я Юра, Project-менеджер с 10-летним стажем. Рассказываю о личном опыте в IT. тг: @projectmindset_pm
Привет, я Юра, Project-менеджер с 10-летним стажем. Рассказываю о личном опыте в IT. тг@projectmindset_pm

«О чем на самом деле думает проджект-менеджер во время митинга: перевод с корпоративного на русский»

На рабочих митингах мы все разговариваем на корпоративном языке, так уж заведено. Разработчики, которые умеют не только писать код, но и разговаривать на корпоративном языке, со временем становятся тимлидами и техническими директорами. Но что такое этот корпоративный язык? Покажу вам глазами проджект-менеджера.

Про оценку сроков

Каждому проджекту знакомо. Митинг с заказчиком и командой, вдруг, не согласовав оценку с менеджером, разработчик говорит: «Ну, это задача дня на четыре... Если ничего не помешает».
Тут же слышится от заказчика: «Фиксируем, через 4 рабочих дня будет готово».
Вспышка, шторм, помешательство. У проджекта в голове: «Ага, “Если ничего не помешает”, так вам ничего и не помешает, конечно. Сейчас начнется: мало ресурсов на сервере, срочный баг от другого клиента, а тестирование? В этой оценке указана только время разработки! Минимум неделя нужна. А обещать буду за 7 рабочих дней».
Проджект тут же говорит вслух на корпоративном: «Предлагаю заложить на задачу 7 рабочих дней с учетом возможных рисков и интеграции в основной процесс. Нужно обстоятельно убедиться, что функционал готов к релизу».
Заказчик недоверчиво фиксирует 7 рабочих дней на задачу — фух, пронесло 😓

Про «немного поменять ТЗ»

Это из фонда золотых цитат заказчиков: «Мы тут подумали и хотим немного улучшить концепцию. Фактически, всё остается по-старому, просто логика немного меняется».
С этого начинается внутренний диалог проджекта: «„Улучшить концепцию“... Это значит пришить к штанам капюшон и выкинуть 3 недели работы. „Логика немного меняется“ — это сделаем из грузовика экскаватор, новый движок, новая база данных и отказ от всего, что уже сделано».
Проджект говорит вслух: «Понимаю ваше стремление к улучшению! Давайте проведем отдельную встречу вместе с аналитиком, где вы подробно расскажете о новой концепции. Мы проведем анализ, посчитаем новые сроки и бюджет и обсудим решение».
(редко кто меняет изначальную логику, увидев новые сроки и бюджет 😉)

Работа PM — это искусство баланса между желаемым, возможным и реализуемым. Главное — сохранять спокойствие и дальновидность.

Подписывайтесь здесь или в тг: @projectmindset_pm

Теги:
Всего голосов 2: ↑1 и ↓10
Комментарии0

Проект Kilo Code — это опенсорный ИИ‑агент с 400 нейросетями.

Особенности решения:

  • допускает мало ошибок — после написания кода ещё раз перепроверяет строчки кода;

  • генерирует код с любых запросов — поймёт даже самое базовое «сделай игру про лягушку и ящерицу»;

  • понимает команды для терминала;

  • встраивается в VS Code;

  • доступ к последним моделям от Claude, Gemini и OpenAI;

  • большой выбор моделей — всего 400 шт, даже самые редкие китайские.

Теги:
Всего голосов 2: ↑1 и ↓10
Комментарии2

Captions переименована в Mirage — платформу для генерации коротких видео с ИИ-актерами

Компания Captions, известная ИИ-приложением для создания видео, объявила о ребрендинге в Mirage. Новое позиционирование отражает расширение от инструментов для контент-мейкеров к исследовательской лаборатории мультимодальных моделей для коротких видео.

Технология и возможности

Mirage создает видеоконтент с нуля на основе аудиофайла, генерируя ИИ-фоны и кастомных аватаров. Пользователи могут загружать селфи для создания аватара по своему образу или использовать полностью синтетических персонажей.

Ключевые особенности платформы:

  • Генерация естественной речи, движений и мимики без липсинка

  • Создание сцен без использования стокового контента

  • Автоматическая синхронизация голоса с движениями губ

  • Оптимизация под вертикальные форматы TikTok, Reels, Shorts

Архитектура решения

Платформа объединяет два продукта: оригинальное приложение Captions для создателей контента и Mirage Studio для брендов и рекламного производства. Компания привлекла более $100 миллионов венчурных инвестиций при оценке $500 миллионов.

Технология отличается от конкурентов вроде D-ID, Synthesia и Hour One фокусом на короткие видео и мультимодальные фундаментальные модели, специально разработанные под требования социальных платформ.

Практическое применение

Mirage Studio ориентирована на бизнес-задачи:

  • Создание рекламных роликов без актеров и больших бюджетов

  • Быстрое тестирование креативных концепций

  • Масштабирование производства контента

  • Локализация видео на разные языки и регионы

Бизнес-план стоит $399 в месяц за 8000 кредитов с 50% скидкой для новых пользователей в первый месяц.

Технические характеристики

Платформа работает в режиме реального времени, генерируя видео с разрешением 768×432 пикселей при 20 кадрах в секунду с задержкой 100 миллисекунд на кадр. Это достаточно для создания контента TikTok-качества.

Оптимизация выполняется на низкоуровневом коде для максимизации производительности на оборудовании Nvidia, что обеспечивает стабильную работу генерации.

Этические вопросы и ограничения

Развитие технологии вызывает обеспокоенность влиянием на креативную индустрию. Недавний скандал с ИИ-моделью в рекламе Guess для Vogue показал негативную реакцию сообщества.

Меры безопасности Mirage включают:

  • Запрет на создание контента с чужим образом без разрешения

  • Модерацию для предотвращения злоупотреблений

  • Требование согласия для использования чьего-либо образа

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

Конкуренция и рынок

На рынке ИИ-видео Mirage конкурирует с established-игроками, но позиционирует себя как специалиста именно по коротким форматам. Компания считает, что настоящая гонка за ИИ-видео еще не началась.

CEO Gaurav Misra заявляет, что новая идентичность отражает расширенное видение переопределения видеокатегории через пограничные ИИ-исследования и модели.

Перспективы развития

Переход от инструментов создания к исследовательской лаборатории сигнализирует о планах компании развивать собственные фундаментальные модели. Это может изменить ландшафт ИИ-видео, особенно для социальных медиа и рекламы.

Теги:
Рейтинг0
Комментарии0

Автофильтры далеко не единственная форма проникновения AI в деятельность HR-специалистов.

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

Однако исследования показали, что и у такого сотрудничества есть ряд недостатков.

Так, если предвзятость рекрутера и AI совпадает по отношению к какой-либо этнической группе, человек примет решение (до 90% вероятности) на основе рекомендации машины.

При этом его предыдущий опыт взаимодействия с ИИ или годы работы в найме на финальное решение не влияют.

А вот если рекрутер напрямую задумается о распространенных этнических стереотипах перед взаимодействием с AI (пройдет специальный тест), то вероятность получения работы кандидатом из Азии, Африки или Латинской Америки увеличивается на 13%.

Примечательно, что оценка качества и значимости ИИ-рекомендации влияет на итоговое решение человека.

No Thoughts Just AI: Biased LLM Recommendations Limit Human Agency in Resume Screening

Теги:
Рейтинг0
Комментарии1

iPhone 15 Pro пережил падение с высоты в 2000 метров. Смартфон выпал у пользователям во время прыжка с парашютом. Устройство приземлилось в кусты без повреждений. Смартфон нашёлся хозяином через «Локатор».

Теги:
Рейтинг0
Комментарии3

Типичные ошибки при сборе требований в условиях цейтнота:

  • Сразу прыгать в детали и терять суть проблемы.

  • Собирать «всё подряд» вместо приоритизации.

  • Не договариваться о критериях успеха с заказчиком.

  • Документировать так, что разработка всё равно задаёт десятки уточняющих вопросов.

    Знакомо?

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

  • разберём техники для экспресс-анализа,

  • поделимся инструментами быстрой фасилитации встреч,

  • научим фиксировать требования так, чтобы их можно было сразу отдавать в разработку.

  • Дата: 11 сентября

  • Время: 15:00–16:00 (Мск)

Будет полезно:

  • бизнес-аналитикам,

  • системным аналитикам,

  • техлидам.

👉 Регистрируйтесь и узнайте, как собирать требования под жёстким дедлайном без потери качества!

Теги:
Всего голосов 1: ↑0 и ↓1-1
Комментарии1

Как мы выиграли ProcessTech 2025 с проектом TechSupport 360

В начале сентября Блок ИТ Страхового Дома ВСК, получил награду «Лучший пилотный проект» на премии ProcessTech 2025.
Наш проект TechSupport 360 занял первое место в номинации — и мы хотим поделиться, как всего за 4,5 месяца удалось пройти путь от гипотез до результата, который оценили бизнес-заказчики, ИТ-команды и жюри конкурса.

С чего всё началось
В начале 2025 года мы поставили себе задачу: проверить, как технологии Process Mining и BI-аналитики могут изменить работу ИТ-поддержки и эксплуатации.
Так родился пилотный проект TechSupport 360.

Мы сформулировали три гипотезы:

Process Mining для SLA

  • Оцифровать карты ИТ-процессов (каталог — 1432 услуги).

  • Найти избыточные нормативы SLA.

  • Сократить время решения без потери качества.

  • Перезаключить SLA с бизнес-подразделениями на новых условиях.

BI-аналитика метрик

  • Автоматизировать подготовку отчетности по ИТ-поддержке и инфраструктуре.

  • Снять нагрузку с аналитиков.

  • Построить дашборды Proceset, позволяющие искать причины отклонений по принципу «от общего к частному».

Автоматизация KPI

  • Оцифровать и перевести в BI-формат 52 ключевых KPI Центра эксплуатации ИТ.

Как мы это делали
Пилот длился всего четыре с половиной месяца — с января по май 2025 года. За это время удалось пройти полный цикл: от выработки гипотез и технических интеграций до демонстрации результатов топ-менеджменту и бизнес-заказчикам.
В январе команда определила ключевые направления для проверки и закрепила три гипотезы: управление инцидентами, BI-аналитика ИТ-процессов и автоматизация KPI. Параллельно аналитики прошли самообучение работе с инструментами Proceset и настроили интеграции с системами — Jira Service Desk, Zabbix, vROps и внутренними утилитами.
В феврале мы собрали и подготовили массивы данных, разработали техническое задание и методологию для проверки гипотез. Именно на этом этапе началась активная работа с SQL и REST API для подготовки расчетов и моделей.
Март стал переломным месяцем: появились первые результаты по всем трем гипотезам. Карты процессов были построены и согласованы с владельцами, первые BI-дашборды прошли апробацию на рабочих группах, а KPI начали отображаться в автоматическом режиме.
В апреле мы вынесли итоги пилота на обсуждение с бизнес-заказчиками и топ-менеджментом: Proceset показал свою эффективность, а команды получили прозрачный инструмент для поиска узких мест и принятия решений.
Финальной точкой стал май: мы запустили переподписание SLA-соглашений с бизнес-блоками, включили результаты работы в PI-планирование по SAFe и подготовились к выступлению на ProcessTech.

Что получилось

Гипотеза 1. SLA и инциденты

  • Построены карты 1432 процессов.

  • Оптимизированы нормативы SLA в 356 процессах (дельта: от 12 до 2 часов).

  • 100% SLA-соглашений переподписаны с бизнес-блоками.

  • В Proceset разработан калькулятор прогнозных SLA для управления ожиданиями.

Гипотеза 2. BI-аналитика

  • Автоматизированы 105 метрик (75 по ИТ-поддержке, 30 по инфраструктуре).

  • Разработан 21 BI-дашборд.

  • Высвобождено 2048 чел.-часов в год (подготовка отчетности).

  • В 7 раз ускорено получение данных (с раз в неделю до ежедневного).

  • Review-сессии и рабочие группы теперь проходят без PowerPoint и Excel — сразу в BI.

Гипотеза 3. KPI

  • Автоматизированы 52 KPI Центра эксплуатации ИТ.

  • Высвобождено 315 чел.-часов в год на подготовку.

Почему проект оказался «лучшим пилотом»
Пилот показал, что можно изменить мышление внутри ИТ-команд. Если раньше аналитика процессов велась преимущественно в Excel, то теперь Proceset стал целевым инструментом для review-сессий и планерок. Это не только ускорило работу, но и дало общий язык для обсуждения метрик и показателей. В совокупности эти факторы и сделали TechSupport 360 «лучшим пилотом»!

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

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

К чему приводят перемены

Есть люди, на которых я гляжу как на марсиан. Они просыпаются бодрыми в 6 утра, стоят в планке, у них трое детей, которым они готовят маффины без глютена с голубикой, два международных бизнеса и блог-миллионник. Они бодры, позитивны и видят исключительно возможности, а не проблемы. Они — не я.

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

Факт 1. По первому образованию я бухгалтер. Но на бухучет я поступил не из любви к профессии, а потому что туда было проще поступить бесплатно. Бухгалтером я работать ни минуты не собирался, а лелеял честолюбивую мечту — написать великий роман и стать великим писателем. Увы, за 5 лет роман я не написал и пришлось идти работать бухгалтером.

Похоронил ли я писательские амбиции? Нет. В 2010 году я таки написал «Литературный роман», и роман вышел хороший, пусть и не великий, а я закрыл свой гештальт.

Факт 2. Я абсолютно не видел себя в бизнесе. С бизнесменами у меня ассоциировались или бандиты из 90-х, или крепкие хозяйственники, или торгаши с рынка. Представить, что я могу что-то продавать, организовывать, руководить людьми — я не мог.

И что же случилось? В 2007 году лесозаготовительная компания, где я работал главбухом, столкнулась с кризисом — объем лесозаготовок упал вдвое, большая бухгалтерия стала не нужна. Чтобы не увольнять бухгалтеров, я решил найти нам еще одного клиента. Так у меня появился первый бизнес и пошло-поехало. Теперь без бизнеса я чувствую себя неполноценным.

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

А теперь? А теперь я женат, нашему ребенку 5 лет, друзей, правда, сильно больше не стало, зато круг хороших знакомых кратно увеличился, а в телеграм канале про ментальные ловушки больше 11000 подписчиков. 

Несколько лет назад я написал статью, в которой рассказал, как избавлялся от одиночества и обрастал людьми. Посмотрите ее, если тема актуальна.

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

А какими фактами своей биографии гордитесь вы?

Теги:
Всего голосов 2: ↑1 и ↓10
Комментарии5

Столкнулся с проблемой отсутствия простых операций со строками, содержащими символы юникода (например, русские буквы), в стандартной библиотеке Zig.

Конкретно, требовалось привести строку в нижний регистр. И оказалось, впрочем ожидаемо, что методы модуля std.ascii не годятся для этого, прямо совсем. Ибо константа lowercase содержит только латинские символы.

А в модуле std.unicode в принципе нет методов, для реализации приведения к нижнему/верхнему регистру символов. В итоге пришлось городить небольшой костыль:

// Кастомное преобразование строки в нижний регистр, с поддержкой
// обработки русских символов, латиницы и акцентированных знаков.
fn toLowerCustom(allocator: Allocator, str: []const u8) ![]const u8 {
    var result = std.ArrayList(u8).init(allocator);
    var iter = std.unicode.Utf8Iterator{ .bytes = str, .i = 0 };

    while (iter.nextCodepoint()) |cp| {
        const lower = blk: {
            // Русские символы
            if (cp >= 'А' and cp <= 'Я') break :blk cp + ('а' - 'А');
            if (cp == 'Ё') break :blk 'ё';

            // Базовые латинские символы
            if (cp >= 'A' and cp <= 'Z') break :blk cp + 32;

            // Обработка акцентированных символов
            break :blk switch (cp) {
                0xC0...0xD6 => cp + 32, // À-Ö → à-ö
                0xD8...0xDE => cp + 32, // Ø-Þ → ø-þ
                0x100...0x17F => handleLatinExtended(cp),
                else => cp,
            };
        };

        var buf: [4]u8 = undefined;
        const len = std.unicode.utf8Encode(lower, &buf) catch unreachable;
        try result.appendSlice(buf[0..len]);
    }

    return result.toOwnedSlice();
}

Знаю про существование библиотек для работы со строками на Zig, но ни одна не завелась, да и ради одного метода, тащить всю библиотеку, ИМХО, избыточно. Возможно, что я что-то пропустил и есть проверенные готовые решения?

Теги:
Рейтинг0
Комментарии0

Будущее ИИ-гигантов.

Если смотреть на развитие ИИ по закону жанра, через 5–6 лет на рынке закрепятся всего 3–5 крупных игроков. Уже сейчас видно очертания: в генерации видео на флагманскую позицию выходит Gemini от Google, в программировании и код-ассистах сильнее всего смотрится Claude от Anthropic, а в области агентов и мультиагентных систем ключевая борьба развернётся между OpenAI и Anthropic. Grok и другие модули пока остаются в роли догоняющих и, скорее всего, либо займут нишевые сегменты, либо постепенно растворятся в истории.

Про Китай сказать не смогу. Они всегда в роли тёмной лошадки.

А как вы думаете?

Теги:
Всего голосов 2: ↑1 и ↓1+2
Комментарии2

Владельцев новых автомобилей Mercedes-Benz столкнулись с необходимостью платить подписку за самые базовые функции:

  • CarPlay — €360;

  • Подсветка — €9;

  • Пакет приложений — €345;

  • Обзор на 360 градусов — €18;

  • Дистроник — €15.

Осторожно, в видео ниже есть несколько фраз с нецензурной лексикой.

Теги:
Всего голосов 7: ↑6 и ↓1+10
Комментарии2

Ближайшие события

От хаоса к управляемым процессам: узнайте, как СТО ведущих компаний выходят из производственных кризисов

Собираем тимлидов, техлидов и СТО за круглым столом, чтобы поделиться реальными кейсами и рабочими инструментами для оптимизации производственных процессов. Эксперты из бигтех-компаний расскажут, как они выпускают ИТ-продукты без задержек, бесконечных багов и потери качества.

Что в программе:

  • Как сократить время поставки ценности клиентам и пользователям и не потерять в качестве.

  • Как измерять эффективность производства и какие метрики применять на разных этапах релизного цикла.

  • Какие методики отслеживания качества выбрать и на каком этапе производства их внедрять.

  • Какое место функциональные и нефункциональные требования занимают в производственном процессе.

Никаких скучных лекций и бесполезной теории. Участники познакомятся с коллегами, зададут вопросы и обменяются опытом в формате дискуссии. Среди спикеров — СТО ведущих компаний:

  • Алексей Тотмаков, CTO в VK Tech

  • Андрей Толмачев, head of developer experience в Х5 Tech

  • Александр Якунин, Lead Architect и TechGov в МТС

  • Анна Федина, CTO рисков в Альфа-Банке

  • Антон Тупиков, CTO в Авито SafeCom

Модератор сессии — Олег Капранов, руководитель проекта «Технологии» в издании «Российская газета», автор канала «Токсичная цифра».

Собираемся 11 сентября в офисе VK Tech и на площадке VK Видео. Начало в 10:30 по МСК.

Выбирайте удобный формат участия и регистрируйтесь.

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Только синие и серые блоки в "C4 model" - это заблуждение. Модная нотация, которую мы привыкли изображать в основном в оттенках синего ди и серого тоже, оказывается так не задумывалась. Об это Саймон Браун писал и раньше в разделе "Notation" на своем ресурсе:

"Although you may see many example diagrams and tools that make use of blue and grey boxes, this isn’t something that is dictated by the C4 model, and you are free to use whatever colours you like!"

Теперь об этом явно на главной странице https://c4model.com

С4 не диктует использование конкретных цветов
С4 не диктует использование конкретных цветов
Теги:
Всего голосов 9: ↑8 и ↓1+11
Комментарии0

«Скоро в школу»: скидка на все курсы

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

Как получить скидку (спойлер: очень легко)

  1. Выбрать курс в каталоге.

  2. Пройти первую бесплатную.

  3. И скидка автоматически применится при оплате.

→ Подробнее об условиях акции
→ В каталог направления анализа данных
→ В каталог направления программирования

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

EasyP – тулбокс для работы с ProtoBuf⁠⁠

easyp – пакетный менеджер, билд-система и линтер для .proto файлов.
Хоть easyp и написан на #go 😱, одна из его фишек в том – что вы можете использовать любые плагины для генерации финального кода: он может быть хоть на #python, хоть на #rust.

Если много используете ProtoBuf – обязательно для ознакомления!

Пример конфигурации:

# Секция для правил линтера:
lint:
  use:
    - DEFAULT

# Секция с зависимостями:
deps:
  - github.com/googleapis/googleapis
  - github.com/grpc-ecosystem/grpc-gateway@v2.20.0

# Секция для правил сборки и генерации итоговых файлов:
generate:
  plugins:
    - name: go
      out: .
      opts:
        paths: source_relative
    - name: go-grpc
      out: .
      opts:
        paths: source_relative
        require_unimplemented_servers: false

Прощайте огромные Makefile с кучей скриптов для сборки.

Проект: https://github.com/easyp-tech/easyp

Документация: https://easyp.tech

Теги:
Всего голосов 4: ↑4 и ↓0+6
Комментарии6

В ежемесячном дайджесте делимся новостями VK WorkSpace и материалами от экспертов продукта. В первом выпуске осени — приглашение на VK WorkSpace Conf, обновления платформы, анализ использования онлайн-досок и полезные статьи наших экспертов. 

VK WorkSpace Conf

Конференция по коммуникациям, продуктивности и эффективности команд любого размера

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

Ждем вас 24 октября 2025 года. Участие бесплатное, можно приехать лично или присоединиться онлайн. Обязательно зарегистрируйтесь, чтобы мы внесли вас в список гостей. 

Обновления платформы в контуре заказчика (On-Premise)

Почта

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

В письма сотрудников теперь можно добавлять дисклеймеры на уровне транспортных правил: информация будет автоматически включаться в каждое письмо, которое подпадает под заданные условия. Опция гарантирует отправку текста получателям. 

Календарь 

Добавили возможность бронирования переговорных комнат. При создании встречи можно посмотреть, какие комнаты свободны в нужное время в выбранном офисе, на сколько человек они рассчитаны, какое оборудование доступно. Также теперь Календарь поддерживает двустороннюю синхронизацию с Microsoft Exchange 2019 и метрики мониторинга подписки на уведомления веб-служб Exchange. 

Панель администратора

Добавили единый интерфейс управления групповыми политиками для всех инструментов платформы. Опция позволяет централизованно контролировать доступ и обеспечивает более высокий уровень защиты данных. Также реализован механизм массовой миграции адресных книг из Microsoft Exchange.

Новые роли ИБ

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

Deployer

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

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

Новости и исследования

Совместимость с РЕД АДМ

VK Tech и РЕД СОФТ объявили о совместимости Почты VK WorkSpace и системы централизованного управления ИТ-инфраструктурой РЕД АДМ. Теперь компании, которые используют Microsoft Exchange и службу каталогов Microsoft Active Directory, могут бесшовно перейти на отечественный почтовый сервер без потери функциональности, с любым количеством пользователей и объемами данных. 

Как бизнес исследует онлайн-доски — тренды

Мы проанализировали, как сотрудники компаний пользуются онлайн-досками. Оказывается, самый активный день недели — понедельник, вовлеченность в инструменте растет даже летом, а визуальный контент постепенно вытесняет текстовые заметки.

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии1

Новый веб-интерфейс S3 в Рег.облаке: все основные операции теперь прямо в браузере

В Рег.облаке важное обновление для всех, кто работает с данными. Мы завершили большой этап по развитию интерфейса работы с объектами в нашем S3-совместимом хранилище. Теперь все основные операции с объектами доступны прямо через визуальный интерфейс личного кабинета — без необходимости использовать командную строку или сторонние файловые менеджеры.

Существенно расширили функциональность веб-интерфейса, добавив в него все ключевые фичи:

  • просмотр и сортировка объектов в бакете;

  • создание папок для организации данных;

  • прямая загрузка файлов до 1 ГБ прямо из браузера;

  • скачивание файлов;

  • генерация предварительно подписанных URL-ссылок для безопасного предоставления доступа к объектам на время;

  • копирование, перемещение и переименование объектов;

  • удаление отдельных объектов и папок, а также массовое удаление для очистки хранилища;

  • быстрый поиск по объектам в бакете.

Как это можно использовать на практике?

  • Обмен тестовыми данными с подрядчиком. Разработчик выгружает артефакты сборки в бакет и создает предварительно подписанную ссылку, а подрядчик скачивает файл по ссылке без регистрации в облаке и настройки сложных политик доступа. Это экономит время и упрощает взаимодействие.

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

  • Массовое удаление старых данных. Аналитики ежедневно загружают в бакет выгрузки объемом в десятки гигабайт. Когда отчеты или расчеты устаревают, их можно удалить одной операцией, а не по одному файлу. Это мгновенно освобождает место и упрощает управление.

  • Общекомандное хранилище. Команда может использовать бакет как единое пространство для тяжелых файлов: документов, образов, архивов логов. Больше не нужно пересылать гигабайты через почту или сторонние сервисы.

Подключить S3-хранилище можно в личном кабинете Рег.облака. Новый веб-интерфейс уже доступен всем пользователям.

Теги:
Всего голосов 4: ↑4 и ↓0+6
Комментарии1

Я лежал и размышлял о пустоте, наполнении, о неудовлетворенности и удовольствиях, и эти размышления превратились в исследование, а исследование проросло осознанием:

Я наполняюсь чем-то когда я не удовлетворен отсутствием чего-то. (не заполнен)

Я опустошаюсь от чего-то когда я удовлетворен присутствием чего-то. (переполнен)

И я и всё прочее - такова механика бытия.

Потому, быть неудовлетворенным - это нормально, и быть опустошенным - это нормально.

Достижение удовлетворения необратимо.
(Как необратимо переполнение чашки если лить в неё воду)

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

Соответственно, можно действовать наоборот :)

Не бороться с неудовлетворением, а использовать его по назначению.

Идём дальше:

Для наполнения я желаю: "Я хочу наполняться. Я хочу брать ...(чего-то там)"

Для опустошения я желаю: "Я хочу выплеснуть. Я хочу давать ...(чего-то там)"

Когда я беру что-то одно - я отдаю что-то другое.

Когда я даю что-то одно - я беру что-то другое.

Таким образом чего бы я ни желал я и беру и отдаю одновременно.

И нет смысла бояться что-то потерять, ибо всегда что-то обретаешь.

И нет смысла бояться что-то потерять, ибо всегда что-то теряешь.

Хочешь брать - бери. Хочешь давать - давай.

Это один и тот же путь.

Суть не в том чтобы брать или отдавать, суть в том чтобы идти дальше.

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

И в завершении:

Когда я переполнен - я неизбежно буду отдавать.

Когда я опустошен - я неизбежно буду брать.

Встретив препятствия на пути отдачи или обретения - я неизбежно буду их преодолевать.

А раз что-то неизбежно, то это уже не проблема, а возможность :)

P.S.

Я гулял, размышлял, и решил дополнить сказанное этим:

Тому кто переполнен, чтобы двигаться дальше следует опустошиться
(через отдачу, помощь другим тем что есть, через предложение, через творчество, труд, созидание продуктов)

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

Теги:
Всего голосов 3: ↑2 и ↓1+3
Комментарии0
12 ...
50