habrahabr
Вас к тефифону! История удивительного и необычного аудио-проигрывателя

В мире аудиоэлектроники существовало великое множество необычных девайсов: радио в виде пепельницы, магнитофоны на магнитных дисках и даже музыкальный инструмент Loophonium в форме унитаза (серьёзно, посмотрите в интернете). Но сегодня мы поговорим о другом устройстве, которое можно назвать настоящим Франкенштейном среди аудиотехники. Речь идёт о порождении сумрачного германского технического гения под названием Tefifon. Причём к телефонии этот аппарат не имеет ни малейшего отношения… Хотя нет…

  • четверг, 5 июня 2025 г. в 00:00:20
habrahabr
Правит картинки силой слов: редактор изображений от Сбера с попиксельной точностью

Пример работы нашей модели. Только текстовые запросы — никаких масок!Эпоха умного редактирования изображений наступила: ChatGPT, Gemini и Grok — крупнейшие игроки мировой AI-арены — один за другим представили инструментарий «умного фотошопа». Достаточно прикрепить картинку, попросить что-нибудь на ней изменить — и желание будет исполнено! Или не будет? Проблема в том, что не каждый редактор изображений способен сохранять детали оригинала: изменяются люди, искажаются уникальные объекты, композиц…

  • четверг, 5 июня 2025 г. в 00:00:20
habrahabr
TI-99/4A — популярный компьютер, который принёс одни убытки

Среди компьютеров, которые есть в Яндекс Музее, особенно заметен TI-99/4A американской компании Texas Instruments. Он выделяется стильным чёрно‑серебристым корпусом, странным пустым пространством справа от клавиатуры, необычной горизонтальной «загрузкой» картриджей и, конечно же, своей уникальной историей.Мало про какой компьютер можно сказать: «Он здорово продавался, но с треском провалился» — как правило, верно либо первое, либо второе утверждение. Но TI-99/4A — случай уникальный. Его история…

  • четверг, 5 июня 2025 г. в 00:00:17
habrahabr
5 смертельных проблем первого метро, и как их решили

Привет, на связи Андрей Шведов, руководитель проектов ГРАН Груп.Мы производим печатные платы — основу для сложной электроники метрополитена. На базе изготовленных нами плат работают системы управления, контроллеры для стрелок и переводов, датчики безопасности и телемеханика.Вот и я сегодня добирался до работы на метро.Турникет на входе мгновенно считал проездной с моего смартфона. На табло высветилось точное время прибытия следующего поезда — 1 минута 40 секунд. Прибывающий состав плавно заторм…

  • четверг, 5 июня 2025 г. в 00:00:11
habrahabr
Как мы встроили 32-битный Internet Explorer в 64-битный Яндекс Браузер для организаций

Многие организации с богатой историей всё ещё завязаны на устаревшие внутренние системы, которые работают исключительно в Internet Explorer (IE). Проблема касается не только внешнего вида, но и самой логики работы: раньше вычисления и ключевые процессы часто реализовывались через отдельный бинарный модуль (чаще всего ActiveX), написанный на компилируемом языке. Этот модуль загружался с сайта на компьютер пользователя и выполнялся внутри процесса браузера.Шли годы, технологии развивались, компан…

  • четверг, 5 июня 2025 г. в 00:00:10
golang
Балансировка gRPC в Kubernetes

Привет! Я Михаил Абраш — старший Go-разработчик, работаю в команде Evolution AI Factory в Cloud.ru. Недавно мы начали активно внедрять новые сервисы, переходя с Python на Go, и заметили, что нагрузка между репликами распределяется неравномерно. У нас в команде не было единого подхода к тому, как правильно делать балансировку, поэтому решили провести небольшое R&D-исследование. Что из этого вышло, к чему мы в итоге пришли и как работает балансировка gRPC в целом, рассказал в статье. Почему н…

  • четверг, 5 июня 2025 г. в 00:00:09
golang
Об (отсутствии) синтаксической поддержки обработки ошибок в Go

Программисты на Go уже давно и долго жалуются на слишком многословную обработку ошибок. Все мы близко (а иногда и болезненно) знакомы со следующим шаблоном кода:x, err := call() if err != nil { // обработка err }Проверка if err != nil встречается настолько часто, что может становиться объёмнее остального кода. Обычно это происходит в программах, выполняющих много вызовов API, в которых обработка ошибок рудиментарна и они просто возвращаются. Некоторые программы в итоге выглядят примерно…

  • четверг, 5 июня 2025 г. в 00:00:07
golang
Структурированные логи + локальный стек вызовов: эволюция обработки ошибок в Go

Каждый Go-разработчик знаком с этим паттерном — создание обёрток для ошибок с дублированием метаданных: func (*SomeObject).SomeMethod(val any) error { if err := otherMethod(val); err != nil { return fmt.Errorf("otherMethod %w with val %v", err, val) } return nil } Проблемы такого подхода: Дублирование названий методов в сообщениях об ошибках Ручное добавление метаданных (аргументы, переменные) в каждое место Сложность отслеживания места возникновения ошибки при нескольких то…

  • четверг, 5 июня 2025 г. в 00:00:06
golang
Десктопное кросс-платформенное приложение на Wails (Golang + Vue.js). Как мы делали Tuna Desktop

Что такое Wails?Wails - это легковесный фреймворк, предназначенный для создания кросс-платформенных GUI приложений рабочего стола на golang и стандартных веб технологиях (Svelte, React, Preact, Vue, Lit, Vanilla JS). Ближайшие аналоги это естественно Electron (JS), Tauri (Rust), хочется добавить Qt (С++), но это уже другой уровень. Сразу скажу, что Wails не идеален, имеет множество ограничений и в целом не подойдёт для чего-то крупного, Tauri к примеру более зрелый проект, больше функций, быстр…

  • четверг, 5 июня 2025 г. в 00:00:05