Было популярное китайское расширение Dadda Translate (达达划词翻译): выделяешь слово, получаешь перевод, сохраняешь в словарик, и слово потом всплывает уведомлением, пока не запомнится. Оно перестало работать: API Sogou и Shanbay, на которых держался перевод, изменились или исчезли. К тому же оно было только для Chrome и только для пары английский → китайский.Я переписал его с нуля. Получился WordToast для Firefox, Chrome и Edge (GitHub). Он переводит на язык браузера, умеет работать полностью на уст…
Я учу английский по сериалам. Смотрю с английскими субтитрами, и каждое незнакомое слово — это пауза, alt‑tab, переводчик, обратно. К десятой паузе за серию хочется просто включить русские сабы и сдаться.Есть Language Reactor и похожие сервисы, но у них жёсткий список площадок: Netflix, YouTube — и всё. Каждый стриминг рисует субтитры своим способом, и под каждый нужен отдельный парсер. А я смотрю где придётся.Так что я сделал своё. Получилось расширение, которое работает почти на любом сайте с…
Бывает так: открываете менеджер cookies, удаляете всё для сайта, перезагружаете страницу — а сайт вас по-прежнему узнаёт. Одна из причин в том, что современные браузеры хранят часть cookies в отдельных «разделах», и старые расширения их просто не видят.Я разбирался с этим, когда переписывал Cookie Quick Manager — популярный менеджер cookies для Firefox (около 45 тысяч пользователей на AMO), который не обновлялся с 2019 года. Результат — CookieTin, открытое расширение для Firefox, Chrome и Edge …
Маленькая закладка вытягивает за собой целый бумажный архивНа миллионе синтетических записей сжатый индекс выполнял запросы из редкого и частого слова примерно в пять раз быстрее простого пересечения массивов. Хороший результат — до тех пор, пока перебор редких кандидатов не появился у несжатого индекса. Тогда обычный Uint32Array оказался ещё вдвое быстрее.Потом обнаружилась другая неприятность: секция индекса занимала около 9 МиБ, но держала в памяти файл на 137 МиБ. Для этого хватило одной ст…
YApi — платформа управления API от команды YMFE (Qunar): документация интерфейсов, мок‑сервер на Mock.js, тестовые наборы с проверками и отчётами, импорт Swagger и Postman. Её ставят на свои серверы, чтобы бэкенд, фронтенд и тестировщики работали с одним описанием API. У проекта 27,7 тысячи звёзд на GitHub, а неофициальный Docker‑образ скачали больше 600 тысяч раз. В Китае это стандартный инструмент — примерно как у нас связка Swagger и Postman.Последний релиз, 1.12, вышел в ноябре 2022 года. С…
Движок знает ответ, но говорит числами: -2.7 и стрелка. Модель говорит словами, но врет. Первый же комментарий, который я получил, звучал так: «сильнее было 14.Nf6, конь врывается в лагерь черных». Коня, который может пойти на f6, в той позиции на доске не было.Сразу дисклеймер: это мой первый веб-проект. Я играю в шахматы блиц на 1300 и хотел инструмент, который объясняет мои ошибки словами, а не оценками. Часть того, что ниже, фронтендеру покажется очевидной. Мне пришлось выяснять это руками.…
превьюПредставьте парк аттракционов, фуд-корт на фестивале, корпоративную столовую или сеть автомоек. Что их объединяет? Всем им нужна своя закрытая платёжная система или внутренняя программа лояльности (клубные карты).Обычно внедрение такой системы — это боль. Нужно покупать дорогие терминалы, нанимать интеграторов и пилить самописный софт. А что делать, если система нужна «на один раз» (для трёхдневного фестиваля) или у малого бизнеса просто нет бюджета?Меня зовут Никита, и я решил закрыть эт…
Мы делаем русскоязычный сервис с несколькими языковыми моделями в одном чате. Однажды партнёр прислал скриншот: модель начала отвечать списком из ста пунктов и оборвалась на середине слова. В админке лежал тот же обрывок. Ни ошибки, ни предупреждения.Почему ответ обрывается. У каждого запроса есть потолок max_tokens. У нас он был 1200 токенов. На английском это около 900 слов, а на русском кириллица съедает больше токенов, и 1200 токенов оказались примерно полутора тысячами знаков. Длинный спис…
Всем привет! Меня зовут Павел Барсуков, я frontend-разработчик в компании «Программный Продукт».Основной мой стек – Vue, Nuxt и все рядом лежащее. Angular до недавнего времени я видел в основном в курсах на Youtube, пару раз на фрилансе, где особо с ним не взаимодействовал, и в мемах про исключительность Angular разработчиков и очень частые обновления версий. Поэтому, когда мне прилетела задача миграции большого Angular-проекта, ощущения были примерно такие же, как если бы профессионального гит…