Search
Write a publication
Pull to refresh
40
0

Пользователь

Send message

Как построить свою систему поиска похожих изображений

Reading time10 min
Views31K

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

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

Читать далее

Новый язык программирования — Relax

Reading time3 min
Views14K

Всем привет, я являюсь автором языка программирования Relax. На данный момент я разрабатываю RVM (RelaxVirtualMachine) И Relasm (Relax Assembly). Первые попытки сделать свой язык начались в конце лета 2020, тогда я и не думал что делать язык - это так сложно. Сам же проект Relax начался 30 декабря 2020 года. Прошло полтора месяца, а на нем уже можно написать что-нибудь простенькое. RVM написана на С++ и Qt.

Читать далее

Моя первая Ардуинка: переключатель USB

Reading time15 min
Views30K

Пару лет назад я обзавёлся топовым смартфоном одной южнокорейской компании. Среди его особенностей оказалась поддержка DeX - возможности запуска на большом экране, подключаемом к док-станции через HDMI, отдельных приложений и даже Linux в контейнере (к сожалению, последнее было убрано в свежей версии Android). Кроме того, порадовала поддержка периферийных устройств - так, внешняя звуковая карточка Asus Xonar U7, с которой у меня пущен сигнал на ресивер с большими колонками, завелась без проблем. Отсюда возникло желание превратить телефон в мини-рабочее место, научив делить периферию с системником - например, чтобы вой кулеров не мешал слушать музыку или смотреть видео. По сути, требовалось KVM-решение, удовлетворяющее ряду хотелок. Так я познакомился с Arduino.

Читать далее

Администрирование Informatica PowerCenter в деталях, часть первая

Reading time11 min
Views21K

Посвящается моему коллеге и наставнику по Informatica Максиму Генцелю, который умер от COVID-19 21.01.2021

Привет! Меня зовут Баранов Владимир, и я уже несколько лет администрирую Informatica в «Альфа-Банк». В статье я поделюсь опытом работы с Informatica PowerCenter. IPC это платформа, которая занимается ETL (Extract, Transformation, Loading). Я сосредоточусь на описании конкретных кейсов и решений, расскажу о некоторых тонкостях и постараюсь дать пищу для ума.

В работе приходится часто сталкиваться с проблемами производительности и стабильности платформы, при этом глубоко во всё вникая, поэтому лично я при работе с Informatica получаю огромное удовольствие. Во-первых, потому, что даже IPC сам по себе не такой уж маленький, а у Informatica целое семейство продуктов. Во-вторых, ETL находится на стыке разных систем, надо знать всего понемногу – базы данных, коннекторы, линукс, скриптовые языки и системы визуализации и мониторинга. В-третьих, это общение с большим количеством разных людей и много интересных задач.

Запуск клиента информатики


Забавно, но даже тут можно наступить на некоторые грабли. Да, прямо на старте и с размахом.
Читать дальше →

Готовим Большую Фичу™ на Kotlin Multiplatform. Доклад Яндекса

Reading time15 min
Views6.4K
Предположим, вы решили внедрить Kotlin Multiplatform в свой проект, чтобы переиспользовать логику на iOS и Android. Рано или поздно вы захотите сделать Большую Фичу, которая будет включать в себя и сложную многопоточную логику, походы в сеть, кэширование. Каждый из этих этапов вы привыкли делать на своей платформе (ведь делали это тысячу раз). Но в мультиплатформе нет привычных библиотек и подходов, зато есть абсолютно новый стек и тысяча новых способов элегантно выстрелить себе в ногу. Яндекс.Карты и Дмитрий Яковлев yakdmt прошли тернистый путь реализации фичи в мультиплатформе.

— Для начала пару слов о себе. Меня зовут Дмитрий Яковлев. Я поработал в нескольких стартапах, в нескольких банках, а сейчас работаю в Яндексе над Android-приложением Карт. При этом еще немного пишу на Kotlin Multiplatform кроссплатформенную логику.
Читать дальше →

Умный дом с нуля своими руками или путешествие длиною в год

Reading time8 min
Views229K

Данную статью пишу для думающих, стоит оно того или нет и начинающих построение своего умного дома, надеюсь она поможет сделать вам свой выбор. Для тех кто думает я не программист у меня ничего не получится, я тоже, хотя имею техническое (теплоэнергетик) образование, но никогда не работал в IT, не знаю не одного языка программирования. Дорогу осилит идущий. Начнем с рассуждений что такое умный дом, поверьте на слово он не решит все ваших бытовых и семейных проблем, но точно сделает жизнь немного комфортней. Что такое умный дом в моем представлении год назад: 1. Красивый планшет со схемой дома весящий на стане в прихожей с которого можно управлять всем в доме; 2. Управление всем чем можно голосом. Откровение через год планшет не нужен, так как бегать со второго этажа на первый что бы по управлять неудобно. Что бы хорошо работало голосовое управление, требуется установка умной колонки в каждую комнату, когда их две это одно. А когда значительно больше вопрос. Сейчас для меня умный дом это то, что работает само без моего участия, и не требует управления. Все о чем пойдет речь далее сделано мною лично, может можно сделать по другому, может проще и лучше. Но таков путь.

Читать далее

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

Reading time6 min
Views21K
Перевод учебника «Искусство схемотехники» пополнился Частью 3, в которой разбираются полевые транзисторы. Книга приобрела целостный, хотя всё ещё не окончательный, вид. На данный момент отсутствуют три части — 11 («Программируемая логика»), 14 («Компьютеры, контроллеры и шины данных»), 15 («Микроконтроллеры») — и таблицы. Таблицы отложены до завершения перевода (там почти одни цифры, с которыми можно ознакомиться и в оригинале), а остающиеся темы при всём уважении к авторам лучше изучать по другим источникам. В анонсе перевода среди жалоб на несовершенство мира была высказана мысль о необходимости грамотного руководства освоением нового материала. Здесь предлагается метод изучения, рационализирующий данный процесс и некоторые соображения о повышении КПД знаний, относящиеся к системе Цеттелкастен.
Читать дальше →

Тесты должна писать разработка (?)

Reading time4 min
Views14K
Привет! Есть старый холивар на тему, кто же должен писать тесты: разработчики или тестировщики. Вроде как если в команде есть тестировщики, то логично, что тесты пишут они, правда? С другой стороны, ребята из разработки (помимо самой разработки) точно знают, как работает их код и как будет вести себя в тех или иных ситуациях. Как минимум предполагают.


Дисклеймер: меня зовут Эрик Бурыгин, я давно работаю тестировщиком, веду студентов на курсе «Инженер по тестированию», поэтому может показаться, что тестировщик просто хочет перекинуть кусок работы на разработчиков. На самом деле у описываемого подхода есть как плюсы, так и минусы, поэтому статья носит в том числе и дискуссионный характер. Буду рад увидеть в комментах мнения как разработчиков, так и тестировщиков.

Если тесты пишет разработка, можно решить сразу несколько проблем, например:

  • Ощутимо ускорить релизный цикл.
  • Снять нагрузку с тестирования.

В большинстве команд процесс выглядит примерно так:

  1. Разработчик создаёт новые фичи и допиливает существующие.
  2. Тестировщик всё это тестирует и пишет различные тест-кейсы.
  3. Автоматизатор, оправдывая название должности, автоматизирует всё по написанным тест-кейсам из п.2.

Вроде бы всё выглядит просто.

Но в этой парадигме есть слабые места.
Читать дальше →

Agile не только в офисе

Reading time1 min
Views1.7K

Привет!

В среду, 24 февраля, мы проведем онлайн-митап для интересующихся практиками Agile.

Митап бесплатный, главное — зарегистрироваться заранее по ссылке. Всё действо займет пару часов (с 19.00 до 21.00).

Если вдруг захотите посмотреть, но по каким-то причинам не получится, то мы пришлем вам запись на почту, указанную при регистрации.

В программе 3 доклада от наших спикеров.

Программа митапа

Читать далее

Расписание электричек — промежуточный отчёт перед пользователями (вами)

Reading time6 min
Views11K


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

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

И вот они попросили повысить точность расписания. С их точки зрения «повысить точность» — это указывать время отправления с точностью до полуминут. Более того, похожие запросы были и от пассажиров. Дискретность расписания на железной дороге — не минута, а полминуты, то есть время отправления может быть не 14:30, а 14:30:30 или, как принято указывать в служебных расписаниях для машинистов, 14:30,5. Отправление поезда на 30 секунд раньше является грубым нарушением, локомотивную бригаду могут лишить премии. Выстаивать лишние 30 секунд, на всякий случай — вариант, обычно это не считается нарушением. Но есть шанс превысить допустимый порог опоздания по следующим станциям и тоже «попасть» на премию. В 2020 увеличилось число аналогичных просьб от пользователей. Во-вторых, отсутствие полуминут усложняло работу наших операторов при внесении специфических изменений в расписании, а их число также увеличилось. Мы доработали бэкенд и сделали в 2021 году расписание с ними.

Вопрос очистки визуала от номеров поездов и «лишних» секунд решился тоже просто: можно просто выключить это в настройках и вернуться к классическому виду расписания.
Читать дальше →

Человеку надо мало: чтоб искал и находил

Reading time7 min
Views9.6K


Нет, это не очередная реклама одного известного автомобильного бренда. И даже не попытка литературного разбора стихотворения Рождественского. Речь пойдет о картах. Мы в Mail.ru Group продолжаем развивать собственные геосервисы как для нужд внутренних проектов, так и для запуска новых продуктов для широкого круга пользователей. Ядром географических данных для наших сервисов выступают данные картографического проекта OpenStreetMap. Но мы не хотим быть просто ленивыми потребителями, которые, получая обратную связь от пользователей, хранят исправления в локальной базе данных и не делятся ими с общественностью. Мы активно вносим свой вклад в проект OpenStreetMap. В цикле статей мы решили рассказать, как корректно вносить правки о наиболее насущных для нас объектах географической действительности.
Читать дальше →

Науч-поп: как это делали на заре Нового времени

Reading time4 min
Views6K


Продолжаю серию постов по истории популяризации науки. В этот раз речь пойдет про Англию.

Точнее, про Оксфорд. В 1650-х годах там сформировался кружок из полутора десятка относительно молодых и образованных людей, который они сами называли просто The Company или «невидимый колледж».
Читать дальше →

Байесовская модель для принятия очень прикладного решения в американском футболе

Reading time9 min
Views2.9K

В американском футболе атакующей команде дается 4 попытки, чтобы пройти 10 ярдов и тогда команда имеет право продолжить атаковать (владеть мячом). И очень часто, перед розыгрышем 4-ой попытки, тренерам приходится решать - попытаться добрать оставшееся до минимальных 10 ярдов с риском не дойти и отдать сопернику мяч в текущей точке поля, либо сразу пробить ногой по мячу, запнув мяч подальше, обезопасив так себя в защите. Чтобы облегчить принятие этого решения и повысить его эффективность в этой статье мы построим байесовскую модель.

Читать далее

Cчетчик газа в Home Assistant без паяльника

Reading time4 min
Views34K

Не так давно мне пришел счёт за газ от которого стало не по себе, и я решил интегрировать обычный счетчик газа в свой умный дом на базе Raspberry Pi + Home Assistant, чтобы прогнозировать стоимость расходов и получать предупреждения сразу же как только расход начинает превышать ожидания.

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

Есть довольно интересная статья 2014 года об оптическом снятии показаний с любого счетчика с помощью смартфона, но в ней ни слова ни о Home Assistant вообще ни о его компоненте для оптического распознавания счетчиков в частности.

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

Читая эти и другие статьи (например статью 2018 года про Вотериус, или статью 2020 года Умная хрущёвка на максималках) я понял, что счетчики делятся не на два поколения (offline и online), а на три. Помимо 3-го поколения счетчиков, которое умеет отправлять показания счетчика куда надо, есть еще 2-е, которое само передавать данные по сети не умеет, но снабжено передатчиком импульсов (оптических или магнитных), позволяющим подключить к счетчику модуль, который эти импульсы считывает и передает дальше.

Погуглив свой счетчик газа (им оказался BK-G4) я с радостью обнаружил не только то, что генератор магнитных импульсов в него встроен (магнитик на барабане младшего разряда), но и даже то, что уже есть успешные примеры его интеграции в Home Assistant.

Однако перед тем как заказывать специализированный (герконовый) датчик импульсов IN-Z61 (1640р с доставкой, устанавливается в специально предусмотренную для него выемку в корпусе счётчика), плату esp8266 (788р с доставкой), паяльник, олово, канифоль, ждать пока все это приедет, а потом канифолиться с этим конструктором, я решил проверить гипотезу, нельзя ли решить задачу существенно проще и дешевле.

Удача улыбнулась мне, и вместо недели ожидания и нескольких тысяч расходов, я в тот же день интегрировал счетчик в Home Assistant обычным датчиком открытия двери Xiaomi (модель MCCGQ01LM), горсть которых когда-то приобрел на Авито по 600р за штуку.

Читать далее

ЭДО здорового человека и российское

Reading time2 min
Views13K

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

Пользуюсь электронной почтой. За год отправляю, дай бог, 20 писем формата А5. Каждое обходится в среднем около 30 рублей. Письма отправляю обычные, не заказные. Если не дойдет, отправлю повторно, но такого еще не случалось. Мои расходы на почтовый документооборот, таким образом, составляют 20 * 30 = 600 рублей в год.

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

Т.к. я программист, то кое-что понимаю в криптографии. Суть электронной цифровой подписи (ЭЦП) в том, что у вас есть закрытый и открытый ключ. Любой документ можно подписать закрытым ключом и отправить клиенту подпись, где будет содержаться сама сигнатура подписи и открытый ключ, с помощью которого можно определить, что документ действительно подписан этим ключом. Ну а действительность ключа проверить в центрах сертификации, которые по цепочке сертификатов ведут к Министерству связи РФ.

По сути, то же самое, что печать. Купил печать и можешь ставить ее на документы.

Читать далее

NHTSA разрабатывает стандарты безопасности для беспилотных автомобилей

Reading time20 min
Views1.6K
image

Примечание: Национальное управление безопасностью движения на трассах (NHTSA) и Министерство транспорта опубликовали в ноябре прошлого года предварительное уведомление о проекте стандартизации безопасности движения беспилотных автомобилей. Мы попросили Эгиля Юлиуссена, опытного аналитика автомобильной промышленности и обозревателя EE Times рассказать нам об этом. В этом тексте он объяснит нам как NHTSA определяет беспилотные автомобили, что входит в «нормы безопасности» и какие вопросы управление ставит перед индустрией для улучшения своего законопроекта.

В документе, опубликованном NHTSA, отражены взгляды управления на будущее беспилотного транспорта. В таблице ниже приведена сводная информация о базовых принципах безопасности систем автоматизированной езды. В левом столбце представлено сжатое содержание документа, опубликованного NHTSA. Посередине приводится сводка основной информации, в правом столбце расписаны дополнения к этой сводке. В этой статье мне удалось сжать 60+ страниц до восьми.

Краткое изложение


В аннотации к документу приводится определение ADS (система автоматизации езды) как совокупности аппаратного и программного обеспечения, выполняющего все функции вождения. Управление подчеркивает, что разработка стандартов безопасности полностью отличается от разработки федеральных нормативов безопасности транспортных средств.

Основа стандартов безопасности ADS опирается на ожидания продвижения технологий беспилотной езды и появление различных инноваций. Управление хочет быть уверено в том, что не помешает потенциальному прогрессу внедрением преждевременного ограничительного регулирования.
Читать дальше →

Обновленный LibreOffice 7.1: корпоративный пакет — отдельно, редакция для комьюнити — отдельно

Reading time4 min
Views15K
Источник

Офисный пакет LibreOffice 7.1, поддерживаемый The Document Foundation, получил очередное обновление. ПО готово для установки для дистрибутивов Linux, Windows и MacOS. Обновление пакета — совместная работа курирующих проект компаний и членов комьюнити. Большую часть изменений (73%) внесли сотрудники Collabora, Red Hat и CIB, остальные — заслуга энтузиастов.

Что нового в LibreOffice 7.1, читайте под катом.

Тиражирование Fedora из-под Fedora

Reading time3 min
Views4.5K

Многие руководства по установке слишком переусложнены из-за использования специфических утилит типа anaconda, livecd-tools, Fedora Media Writer и других, или создания файла сценария kickstart. В системе Fedora уже имеются необходимые средства для настраиваемой установки. Эта статья покажет пример для установки на USB флешку и на жёсткий диск

Внимание! Всё, что вы делаете, вы делаете на свой страх и риск, т.к. операции из этого руководства могут привести к частичной или полной потере данных.

Примечание: Предположительно используется базовая система, установленная на /dev/sda, а целевой диск или флешка подключены к /dev/sdb. В вашем случае это может быть другой диск, к примеру SSD M.2 накопитель, распознанный системой как /dev/nvme0n1

Читать далее

Синхронизация продуктовых команд в Sportmaster Lab (часть 2)

Reading time12 min
Views3.4K

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

Метрики

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

Наша самая главная метрика — Lead Time: это характерное время, за которое задача доходит от одной из четырех контрольных точек (появление идеи, ТПР, Х и ТПО) до установки на продуктив.

Читать далее

Information

Rating
Does not participate
Registered
Activity