Сегодня хочу поделиться интересным кейсом для тех, кто работает с интернет-рекламой: что делать, если по действующему договору меняется одна из сторон и как запускать новые рекламные кампании после таких изменений?
Разберу ситуацию на конкретном примере и покажу, как в этом случае корректно передавать данные по новым рекламным кампаниям.
Читать далееИли: как embedded-разработчик случайно написал визуализатор временных рядов
Это моя первая статья и сразу на тему в которой я разбираюсь примерно никак. Ее можно воспринимать как условный "дневник разработчика".
Статья написана не без помощи LLM, от нее по большей части редактура. Прошу камнями не кидаться
Приятного чтения!
С чего всё началось
В миру я позиционирую себя как Embedded-разработчик, а как принято во многих местах в России разработчик встраиваемых систем - это инженер-разнорабочий. Написать firmware, развести не сложную PCB, поколдовать над ядром Linux, провести исследования датчиков с китайского завода, напаять концевиков, собрать тестовый стенд, а если еще и осталось время - по возможности спроектировать корпус для устройства и произвести его прототип.
И в этот(и так немаленький список) периодически добавляется потребность в написании ПО под Пк, для работы с разрабатываемыми устройствами/датчиками и т.д. В основном, это несложные внутренние консольные утилиты, которые помогают общаться с устройством, логгировать данные, калибровать датчики и все в таком духе.
Но иногда появляется потребность в визуализации. Пока речь идет о низкочастотных датчиках и малом количестве данных - все довольно просто, но как только данных становится больше, а частоты выше - всплывает множество нюансов. При 70 кГц через 10 секунд работы датчика у меня уже 700 000 точек. Через минуту – 4.2 миллиона. А пользователь при этом хочет масштабировать/панорамировать оси, выделять области, нажимать кнопки – и всё это должно отзываться мгновенно. Стандартный подход «передать всё в библиотеку» ломается очень быстро.
Читать далееПервый обучаемый нейронный reasoner поверх Vector-Symbolic Architecture. 90% exact multi-hop QA в среднем (100% на 1-2 hop, 70% на 3-hop). 16 КБ тернарный резонатор. Всё на CPU, ни одного GPU.
Читать далееИстория о том, как я загнал главную страницу форума с 88 запросов до 15, выяснил, что половину работы делал впустую один невинный аддон, и в конце снял ещё четверть серверного времени строчкой в конфиге — не сломав при этом ничего из того, что работало. А заодно — полная документация на стек из четырёх своих расширений и preload, на которых форум сейчас и держится.
Читать далееСемь месяцев назад я каждый день наблюдал, как BTC летит вверх, ETH разворачивается, SOL вроде зажимается в боковике. На каждой паре — свои таймфреймы, разные ситуации, разная логика монет. Она сводила меня с ума. Я постоянно переключался между монетами и искал годную точку входа по монетам, а бывало такое: вошёл в позицию, и цена начинает движение против точки входа, начинаешь нервничать и выходить из позиции, или, наоборот, сидишь и держишь её, а потом ликвидация. Невозможно сидеть и смотреть, анализировать за десятью монетами, слишком сложно.
Подумал, а почему бы не сделать так, чтобы система сама мне говорила «смотри, какая монета, и обрати внимание на точки входа»? Но не торговала за меня, всё-таки недоверие было, не хотел полностью убирать себя из процесса, а просто уведомляла монеты, которые, по её расчётам, выглядят интересно.
Первая версия была базовая и простая. Просто скрипт, который считывал RSI и EMA на Python и раз в час слал мне в Telegram текст типа «RSI BTCUSDT–34 — вероятно перепродан». Скрипт был бесполезный, но я догадался, что направление верное и можно реализовать продукт помощнее, нужно было только изучить, как работает рынок, почитать литературу, статьи.
Затем я добавил MACD, Bollinger. ATR: понял, что надо разделять режимы волатильности. Начал изучать ML, меня порадовала находка, книга автора Marcos López de Prado «Финансовое машинное обучение», о методах, которые использовал описанных в ней, ниже статьи есть описание. Получился продукт, и он мне принёс пользу. Теперь объясню, как это устроено внутри.
Читать далееЧасто мы наблюдаем одну и ту же картину: экспертизы вокруг много, людей и проектов ещё больше, а вот знания по‑хорошему «не живут» — они прячутся в головах, локальных чатах и разрозненных базах знаний. В итоге наши подразделения наступают на те же грабли.
Чтобы выйти из этого режима «каждый сам за себя», мы развиваем экспертную сеть — горизонтальное сообщество экспертов, которое помогает бизнесу решать реальные задачи и развивать экспертизу внутри компании.
В этой статье мы расскажем и покажем, как устроена наша экспертная сеть, на чём она держится и какие задачи решает.
Читать далееПривет, Хабр! Jetpack Compose в 2026 году стал стандартом разработки UI на Android, но в проектах регулярно повторяется одна и та же история: на экране со списком в пару сотен элементов прокрутка идёт рывками, профайлер показывает скачки кадров до 200 миллисекунд, а команда чешет голову и предлагает откатиться обратно на RecyclerView.
Проблема почти всегда не в Compose, а в том, как написан UI: recomposition спроектирован как дешёвая операция, но эта дешевизна работает только при соблюдении ряда правил, которые в документации описаны рассыпанно и часто игнорируются.
Разберём пять ошибок, из-за которых производительность Compose-экранов проседает заметно для глаза, и покажем, как их находить и чинить.
Ускорить ComposeПриветики-пистолетики! Это Кирилл из Neuromed и сегодня я хотел бы затронуть вопрос деперсонализации. Да, этот тренд возможно уже уходящий, т к все кто хотел реализовать - уже имеют свой успех, но я понимаю- что использование локальных ИИ в качестве инструмента гибкой деперсонализации - это искусство не имеющее граней, поэтому как творческий человек, я решил объяснить на пальчиках для новичков все аспекты работы деперсонализатора, как удовлетворять законам и как получить качественный деперсонализатор в проде у каждого. Садимся, берем чай-кофе и поехали!
Читать далееСейчас у моего бренда WILDWINS оборот около 300 миллионов рублей в год, стабильные заказы для экипировки сборной России по гимнастике и собственный интернет-магазин. Но начиналось все гораздо скромнее: с 30 тысяч рублей и гипотезы, что на такую одежду есть спрос. Расскажу, как мы к этому пришли, и начну с истории про лосины и футболки, которые раскупили за пару минут.
Читать далееПредставим наш мир в виде бесконечной 3D сетки координат с ячейками ^планковской длины. А бегающие по ней фотоны (^Волновой пакет информации) это спрайты с альфа-каналом и размытыми краями, где в центре альфа вероятнее всего близка к 1.0.
Сетка это рабочая структура, по которой работает “рендер-движок” реальности. Скорость света в данном случае это радиус расширения взаимодействия с сеткой (^Световой конус), для которой движок ведет непрерывный расчет поиска пути, по типу алгоритмов A^, HPA, Dijkstra (^Принцип наименьшего действия, ^Интегралы по траекториям Фейнмана).
Каждая ячейка сетки имеет свой вес и скрытые параметры (^Амплитуда вероятности, ^ Виртуальное возбуждение поля) и по умолчанию содержит случайный фоновый шум (^Квантовые флуктуации).
Пока для фотона-спрайта происходят вычисления в сетке, пиксели прозрачны (виртуальны), их нельзя зафиксировать материально.
Этот подход не различает ^локальность и ^нелокальность, т.к. движок всегда глобален, а наблюдатель пребывает в сфере его взаимодействий.
Читать далееВсё началось с архитектурного тупика. Я занимался бэкенд-частью low-code платформы, на базе которой автоматизировались внутренние процессы крупных компаний. У нашей платформы была жесткая специфика — обязательный и хардкорный оффлайн-режим. Наши пользователи — это прорабы на удаленных строительных объектах и геологи в тайге, где связь пропадает не на пару минут, а на целые дни.
Приложение при этом должно полноценно жить локально: пользователь забивает данные, меняет статусы сущностей, генерирует документы, прикрепляет фото. А затем, когда появляется сеть, на бэкенд одновременно прилетает лавина накопленных синхронизаций.
Поскольку платформа мультитенантная, микросервисная и крутится в Kubernetes, мы быстро упёрлись в проблему неэффективного использования ресурсов. Тенант отдельной компании может «спать» часами или даже днями, не создавая вообще никакого трафика, а потом пачка юзеров одновременно выходит из оффлайна, и нагрузка на сервис взлетает по экспоненте. Держать под каждый тенант постоянно запущенные и простаивающие поды — безумно дорого.
Логичное решение — поднимать сервисы по требованию ближе к моменту реальной нагрузки (Scale-to-zero). Но тут мы упираемся в Cold Start. Пока сервис просыпается, нагрузка уже успевает накрыть инфраструктуру. Так время запуска из абстрактной технической метрики превратилось для нас в инструмент экономии бюджета.
Читать далееМы все с вами привыкли, что начиная с 2000 года, на рынке мобильных процессоров доминирует ARM. Сегодня устройства на базе данной архитектуры окружают нас везде: смартфоны, колонки, вейпы, часы и многие другие устройства. Однако раньше всё было не так и когда-то основным конкурентом ARM была легендарная компания Motorola...
В 90-х годах, Motorola m68k был знаковым процессором. Он использовался во десятках легендарных устройств: компьютерах Mac, телефонах StarTAC и КПК от компании Palm. И в 2002 году, Palm представила свой первый коммуникатор — i710, который сочетал в себе классический процессор из 90-х и современный радиомодуль. Сегодня мы с вами разберем это чудо инженерной мысли, изучим его схемотехнику и компонентную базу, и узнаем, на что был способен этот красавец на практике. Если любите настоящие технарские статьи — жду вас под катом :)
Читать далееЕсли вы работаете с маркетологами, то вам наверняка знакомы эти ситуации:
- Заявки холодные и нецелевые
- Реклама работает нестабильно: то густо, то пусто
- Окупаемость рекламы все хуже и хуже
- Порой, маркетинг кажется похожим на черный ящик
- Подрядчики кормят обещаниями, а планы не выполняются
- Специалисты выгорают и теряются
В итоге, вы вынуждены разбираться во всем самостоятельно, вместо того, чтобы заниматься своим бизнесом.
Читать далееContext7 — мой дефолтный источник свежих доков для агента уже полтора года. И всё устраивало, пока я не начал ловить устаревший код: старый z.string().email() вместо z.email(), поведение Next 15 вместо 16. Причина — упёрся в потолок free-тарифа: квота исчерпана, сервер молча отдаёт пусто, агент спокойно пишет по памяти. И замечаешь это не сразу — вот что бесит. Тут я и задумался: Context7 вообще всё ещё лучший вариант, или за полтора года появилось что-то лучше? Решил проверить системно. Не поверил цифрам с лендингов и прогнал 8 способов доставки доков в контекст на одном токенайзере: что реально влетает в окно, за сколько токенов, с какой точностью. Победил Ref — но он платный. А ещё дважды я чуть не записал инструмент в аутсайдеры, и оба раза виноват был мой собственный вызов, а не инструмент. В итоге собрал бесплатную связку: локальный @neuledge как основной слой + Context7 free как fallback. Локальный слой отвечает за миллисекунды вместо секунд, работает без сети и без лимитов запросов. Осталось проверить, переживёт ли связка квоту free-тарифа — замерил и это. Внутри: методология, таблицы, два разоблачённых near-miss и миграционный кит для агента в подарок.
Читать далееИз новостей: продажи Black Myth: Wukong превысили 30 миллионов копий, продажи Meccha Chameleon превысили 2 миллиона копий, Ninja Theory и Double Fin всё, UE 5.8, Unity 6.5, Godot 4.7, Bevy 0.19.
Из интересностей: почему так трудно делать уникальные игры, поведение толпы по-простому, почему Джонатану Блоу потребовалось 10 лет, Clair Obscur не заслужила награду.
Читать далееСтатья написана на основе интервью с В. Савиным, основателем мебельной мастерской в Парагвае.
Когда мы с женой уезжали из России, мы ехали на пенсию. В кавычках, конечно, но мы правда так думали. Нам было по 43, деньги вроде есть, доберёмся до тёплой страны, я буду неспешно делать мебель на заказ, и заживём. Никаким столяром я при этом не был, ни разу в жизни этим не занимался. Но руки у меня растут из правильного места, а по образованию я инженер-технолог. Подумаешь, мебель.
Прошло семь с лишним лет, и теперь у меня в Парагвае целое производство. Делаю развивающую мебель Монтессори, детские кровати, столы, комоды. И отдельно деревянный спортинвентарь, проще говоря шведские стенки, кубы для кроссфита, уличные городки, по которым дети лазят. Сорок девять наименований серий.
И знаете, при всём при этом всерьёз меня мучает, по сути, только одно. И совсем не то, о чём вы сейчас подумали.
Читать далееКак запустить рекламу только в Google Maps
Долгое время у рекламодателей не было нормального способа выделить Google Maps как отдельный плейсмент. Можно было получать показы в Картах через локальные сценарии, Performance Max, поисковые кампании с адресами и другие форматы, но изолировать именно Maps было сложно или невозможно.
Сейчас ситуация изменилась. Если нужно запустить рекламу именно в Google Maps, самый точный вариант — использовать Demand Gen и выбрать в настройках каналов только Maps.
Читать полностьюСмартфон на АА-батарейках: как я собрал автономный медиакомбайн, живущий в среднем 10 дней от одного заряда
Я всегда мечтал про умный гаджет, работающий от надежного источника питания АА. Но современный рынок, так и не смог мне ничего предложить...Поэтому сделал сам)
Хотел поделиться результатами, и узнать ваше мнение.
Читать далееВ апреле мой агент смог перешагнуть золотой порог на MLE-bench в агентских соревнованиях Berkeley RDI, а когда я решил показать «тот самый код, который взял золото» — понял, что не уверен, существует ли он вообще.
Хабр, привет! Меня зовут Георгий, и в своей первой статье на площадке я решил разобраться, что же происходило на самом деле. Цифровой детектив: с чем я преодолел планку, где этот результат теперь (спойлер: нигде) и сколько смысла в этом «золоте». Это история о том, как я расследовал собственную «победу»
Читать далееСегодня мы окунемся в историю странных технологий и гаджетов, которые люди когда-то носили (или могли бы носить) с не меньшей гордостью, чем мы носим смарт-часы сегодня.
Читать далее