Виртуальный покупатель: Тестируем интернет-магазин на автопилоте | 2025-08-15T04:27:07

В рамках проекта TestMySearch.com я делаю систему «виртуальный покупатель», которая имитирует поведение реального пользователя в интернет-магазине: она начинает с абстрактной цели (например, «что-то яркое и сексуальное для спортзала»), превращает её в конкретный поисковый запрос, выполняет поиск на сайте и в зависимости от результата может либо продолжить просмотр, либо с определённой вероятностью переформулировать запрос, если найденное не соответствует исходной цели; далее система оценивает страницы по соответствию именно изначальной задумке, открывает карточки товаров, случайным образом меняет параметры вроде цвета или размера, принимает решение о добавлении в корзину и оформлении заказа, а также может покинуть сайт, что позволяет за одну ночь сгенерировать множество сессий, похожих на реальные, для тестирования поиска, фильтров и рекомендаций ещё до прихода живых пользователей.

Система полностью автоматическая. То есть, браузер на видео открывается сам, поле поиска там находится само (то есть, от сайта это не зависит), в него вбивается текст, который система придумывает сама на основе той самой изначальной цели, дальше выдаются фасеты и результаты поиска, которые тоже могут быть в совсем непредсказуемом для системы виде — но она все равно понимает где что, и принимает решение о том, перефразировать запрос, выбрать ли фасет или нажать на результат поиска. С какой-то вероятностью виртуальный пользователь покидает сайт. Если запрос перефразируется, например, то этот виртуальный пользователь не повторяет запросы, которые уже приводили к пустым или нерелеватным результатам, то есть, в пределах сессии есть «память».

Экономия топлива и скоростные лимиты: история изменений в США | 2025-08-13T01:32:14

Оказалось, что в США скорость 55 миль/ч была результатом Emergency Highway Energy Conservation Act, который был принят в ответ на нефтяное эмбарго ОПЕК, которое вызвало резкий рост цен и перебои в поставках нефти. И думали, что ограничением скорости снизят расход топлива. Получильсь, но прогнозировалось снижение на 2,2 %, однако фактическая экономия составила лишь около 0,5–1 %.

Если штат не подчинялся, он лишался федерального финансирования на ремонт и строительство дорог. В 1987–1988 годах Конгресс разрешил штатам повышать скорость до 65 миль/ч на некоторых сельских междугородних трассах, а в 1995 году федеральный «национальный максимум» вообще отменили и вернули полномочия штатам.

До введения общенационального ограничения скорости в Монтане не было установленного лимита скорости. Вместо этого закон гласил, что человек должен ехать «с безопасной и разумной скоростью», что фактически определял офицер полиции. Существует байка о гонщике NASCAR, которого остановили за езду примерно 120 миль в час на шоссе №2 и не выписали штраф, потому что для него 120 миль в час считались «безопасными и разумными».

После введения ограничения скорости в 55 миль в час Монтана воспротивилась, насколько могла. Лимит скорости был национальным законом, но последствия за его нарушение определяли штаты. Монтана снизила штраф за превышение скорости до 5 долларов и сделала так, что нарушение не заносилось в водительскую карточку. Стало обычным делом класть купюры по 5 долларов над солнцезащитным козырьком и ехать с любой скоростью, какая вам нравится.

Даже песня такая с тех времен есть, «I Can’t Drive 55» (Sammy Hagar).

Кстати, еще не совсем в тему. Моя Тесла MY обходится в части налогов (регистрация ежегодная) больше, чем бензиновая машина, потому что у нас есть специальный сбор, введённый в 2020 году, чтобы компенсировать недополученные государством средства от налога на топливо — мол, электромобили не заправляются бензином, и государство недополучает. Величина этой платы фиксирована и составляет 85 % эквивалента налога на топливо, который водитель бензинового авто заплатил бы при той же средней дистанции и расходе топлива. В результате владельцы электромобилей платят примерно $128.14 в год (данные по состоянию на 2024–2025 гг.). А владельцы бензиновых тачек платят в разы меньше. Правда, последний раз меня тормознула полиция в Вашингтоне за то, что у меня была просрочка на полтора года, и пришлось парковать машину и срочно организовывать оплату — там несколько десятков долларов было. Как оплатили, поехал дальше, но уже со штрафом, в пару сотен долл.

Стратегия ценообразования: иллюзия выбора | 2025-08-09T13:06:47

Интересный маркетинговый прием: за одну и ту же цену продаются три разных типа капсул для посудомойки: хорошие Complete, премиум, и премиум плюс. Одинаковые упаковки, одинаковая цена, но число капсул, конечно, разное. Например, platinum имеет 59 капсул, а версия плюс имеет 47. Видимо, такие и неровные числа с трудом лезут в мозг покупателю, но, кажется, ещё не каждый покупатель в принципе задумается, принципиально ли для него экономить. Но если сравнить крайние версии, версия platinum plus тупо в два раза дороже версии complete.

Второй интересный пример — подписка на LLM (Chatgpt, Gemini) за 200 долл в месяц. Казалось бы, какой идиот будет платить пару сотен за нечто, лишь казалось бы немногим лучше базовой за 20-30 долл. А это очень правильное решение, когда у тебя рынок в сотни миллионов пользователей: большая часть из них — организации. Для организации 200 в месяц не сильно т отличается от 20 в месяц, и то, и то незаметно для бюджета. Ну ок, даже умножив на сотни и тысячи подписок, находятся такие, кто таким образом помещает себя в чуть более премиум клиенты небольшой для них ценой.

Новые слова в орфографическом словаре РАН 2025 | 2025-08-08T18:46:21

В орфографический словарь РАН добавили 657 новых слов — например, «смузи», «тиктокер», «пауэрбанк» и «СВО». Я решил посмотреть их бщий список. Идем на сайт Академос, набираем в поиске «2025».

(Советник Путина написала, что про «СВО» — это правильно, а англицизмы не надо. С англицизмами на мой взгляд все просто прекрасно, но вот со всем остальным — они реально ломают русский язык. Зацените)

Благороднометалльный, бодричский и радимичский, византинизирующий, виноградопригодный, вочеловечивание, гололёдно-изморозевый, двухфонтурный, дреговичанка, жакаранда, дети-инофоны, «Де́во: Богоро́дице Де́во» (это запись в словаре), женобоязнь, заднеспинка, коин, литературоцентричность, мелочовочка (это характеристика женщины или монетки?), надвратница, нибелунговский, нониллион (наверное, для штрафов гуглу требуется), обезвоздушивание, Палеологи и Панталоне, пестроцветность, петросфера, предсуществовать, семьесбережение, сильносбежистый и среднесбежистый, скремблированный.

Еще интересно, что есть запись «твёрдо обе́щанный» вот так, с пробелом внутри.

А еще там есть Слобожанщина.

Там есть офлайн-мессенджер! и прокси-лист. И торрент-клиент.

В орфографический словарь включили в 2025 «Междунаро́дная федера́ция футбо́ла (ФИФА́)» и «Словарь современного русского литературного языка» (это запись в словаре). Есть отдельной строчкой «Судный день: самолёт Судного дня»

Есть тафофилия — это увлечение кладбищами.

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

В словарь добавлены западно-северо-западнее (видимо, это направление чуть западнее, чем северо-запад) и западно-юго-западнее.

Есть позднеразвивающийся и поздноразвивающийся.

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

Есть еще беспилотчик и пилот-забурник.

Зато среди новых слов 2025 есть «госпереворот».

Счастливый случай в премиальном веломагазине | 2025-08-07T02:41:19

Сегодня у меня была небольшая одиссея с поиском места для тюнинга моего велосипеда. Ему несколько лет, но он подустал, и требует внимания. Объехал три магазина, и везде мне говорили, что это займёт минимум неделю-две и будет стоить около 200 долларов. Мол, перед вами тридцать человек. В итоге просто на удачу заехал в последний магазин, который изначально считал слишком премиальным и дорогим, и не рассматривал вообще: там основной ассортимент составляют триатлонные Cervelo и Factor с местами пятизначными ценниками. Но сюрприз: они тут же взяли велосипед, сказали подождать звонка сегодня, и если что-то серьёзное — попросят у меня решения. Вечером позвонили и сказали, что всё готово, и обошлось… всего в 32 доллара! Очень рад, что не пришлось ни переплачивать, ни ждать неделями.

Это к вопросу, что чтобы добиться чего-то, иногда надо просто действовать супротив стандартным паттернам поведения.

Биометрия сердца: ключ к умной разблокировке часов | 2025-08-06T16:43:51

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

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

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

Навыки программиста для работы с AI в генерации кода | 2025-08-04T14:28:45

Я сейчас ну очень много использую Gemini для генерации кода, и вижу скилл, который нужно иметь программистам, чтобы быть успешными на этом поприще. Это умение быстро читать и понимать чужой код, а также умение объяснить, почему генерацию AI нужно переделать и как. Для первого нужно просто очень хорошо знать язык и читать «с листа», потому что времени вдумываться будет мало. Для второго нужно хорошо знать паттерны и понимать, где они применимы, а где — нет. AI еще долго будет лажать с использованием паттернов не к месту.

Кроме этого, человеку все еще нужно будет понимать «как единое целое» на 90% код, который сгенерировал AI, и также успевать находить время на осознание каждой сгенерированной строки кода. Если расслабиться и упустить, то система может родить даже работающий, но очень плохо поддерживаемый код. Например, есть негласное правило, что отдельные файлы должны содержать не так много кода, и если он растет, то нужно делать рефакторинг, разбивая один большой на два или три. Иногда это требует переписывания логики, но это переписывание всегда направлено на одну задачу — упростить поддержку. А AI при переписывании еще и «улучшает» код заодно. И это довольно сложно запретить.

Кроме этого, сама концепция LLM предполагает ограниченность контекстного окна. Которое кодом забивается очень быстро. Чтобы была иллюзия у пользователя, что все работает даже при большом объеме кода, LLM умеют делать предварительную обработку, вытаскивая для процессинга только релевантные куски и откладывая в сторону нерелевантные, чтобы релевантные поместились в реальное контекстное окно. Но этот процесс очень ненадежный, и один раз он срабатывает, а во втором оказывается, что отложили в сторону важное, и в итоге система не увидела всю картину и сгенерировала код, в котором есть функция, очень похожая функции, отложенной в сторону, и вот у нас теперь есть две почти одинаковые.

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

Алюминий: от роскоши до ржавчины | 2025-08-03T01:09:14

США импортируют алюминий главным образом из Канады, потому что из Канады уезжает aluminum, и в США приезжает aluminum. А вот из Европы бы уезжал alumin𝒊um!

А ещё, сапфиры, и рубины — это по сути ржавый алюминий, причём в процессе новый материал становится сильно твёрже оригинала. При взаимодействии с кислородом получаются разновидности минерала корунд, который по своей химической сути является кристаллическим оксидом алюминия (формула Al₂O₃). А бронестекло — это тоже по сути прозрачный ржавый алюминий, оксид алюминия, но с нитридом алюминия.

А ещё алюминий был самым ценным металлом на Земле вплоть до XX века. Когда Наполеон III принимал гостей, они ели золотыми ложками, а он — алюминиевой. И «шапка» нашего Вашингтонского монумента из алюминия именно поэтому.

Маркировка без бренда: почему Alaska Airlines не упоминает Boeing на карточках безопасности | 2025-07-31T13:18:30

Когда летел в Сиэттл и обратно на Alaska Airlines обратил внимание, что на Safety Card в кресле нигде не написано, что самолет Boeing (левая картинка моя, вторая — из сети). Даже мелким шрифтом. Только модель написана — в моем случае, 737 MAX, как раз та, у которой у самолета Аляски отвалилась дверь в полете. То есть, изнутри самолета невозможно понять, Boeing это или Airbus или McDonnell Douglas, если ты не знаешь, что 737 есть только у Boeing.

Первая мысль — ну конечно, что может еще сделать Аляска для исправления репутации, кроме как убрать слово Boeing из всего, что можно.

Но оказалось, такое и раньше было. Один из бортпроводников Аляски комментирует, что так уже лет 8, не меньше. Другой бортпроводник подтверждает, что так со всеми самолетами.

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

Интерактивная игра на скорость реакции с беспроводными кнопками | 2025-07-28T22:26:20

Кто в электронике шарит? Рекомендуйте.

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

Как бы вы это сделали — глупые кнопки на чипе nRF24L01+ или умные кнопки на микроконтрлеере esp32?

В первом случае каждый такой модуль слушает радиоэфир: как только от центрального узла приходит команда с его ID, он включает свет. После нажатия кнопки — отправляет обратное сообщение «pressed». Таймер находится на стороне центрального узла. Каждая кнопка имеет Arduino Pro Mini + nRF24L01+, но будет еще центральный хаб тоже с nRF24L01+ и Arduino Uno, Mega или ESP32, который собирает данные и который связан с компом (Bluetooth или Wifi).

Во втором случае кнопки подключены по Bluetooth (BLE) или Wifi. Мозгами кнопки является ESP32, его надо программировать через программатор.

По деньгам получается оба подхода без стоимости аркадных кнопок и 3D-печати плюс-минус одинаково — где-то в районе $10-15 за кнопку.