Здравствуйте, уважаемые хабровчане. Меня зовут Вадим Писаревский, я являлся лидером OpenCV (Open Source Computer Vision Library) на протяжении примерно 20 лет, и продолжаю участие в этом замечательном проекте. В этой статье я рад представить вашему вниманию результат другого своего проекта, над которым в фоне работаю уже много лет, а последние пару лет как-минимум половину своего рабочего времени.
Все потоки
- Новые
- Лучшие
- Все
- ≥0
- ≥10
- ≥25
- ≥50
- ≥100
Новости
Как сгенерировать L3 network map
Всем привет.
Многие из вас читали статью «Как создавать понятные логические (L3) схемы сети», после которой возникало непреодолимое желание задокументировать своё сетевое хозяйство. Два-три подхода, потом легко удавалось договориться с собой что изменения будут внесены в конце недели, месяца и т.д. По прошествии некоторого количества времени приходило понимание, что точечными изменениями уже не обойтись — надо так много двигать и компоновать, что проще всё сделать заново.
Как я через ioBroker шлагбаумы в поле шатал
Расскажу свой опыт работы с ioBroker для управления шлагбаумами на ферме и интеграции их в голосовые ассистенты Алису и Siri. А также, познакомлю с контроллером JetHome D1 и особенностями его использования для ioBroker.
Рассказывать буду не разжевывая, но указывая на методы решения, так что многие, кто увлекается автоматизацией, смогут повторить это у себя. Если интересны детали или не понимаете как реализован конкретный функционал - спрашивайте тут или ищите меня в Телеграме.
Как я снимал трейлер несуществующего фильма
Продолжаю снимать видео на фотоаппарат. Сегодня расскажу, как снимал трейлер несуществующего фильма про постапокалипсис. Опять снимаю практически без бюджета и почти все делаю сам.
Автоматизация контроля качества чатов в колл-центре
Кажется, что жалобы на колл-центр - это одна из самых популярных тем всех форумов, когда дело доходит до общения с клиентами. Почему? Все дело в том, что людям намного проще нахамить, нагрубить, проигнорировать, находясь по другую сторону экрана, чем сделать это при личной встрече.
Несмотря на то, что данный вид связи и передачи информации наиболее комфортный и быстрый, он также приводит и к нехватке контроля и, следовательно, к "распущенности" операторов. Однако первый личный контакт клиента с компанией, выходящий за рамки красиво оформленного сайта, происходит именно в чате. Именно поэтому от того, как быстро, вежливо и четко ответит оператор, зависит останется с вами клиент или уйдет к вашему конкуренту.
Реляционно-ретроспективная модель с историей изменения данных
В документе изложены рекомендации по проектированию UI и модели данных, которая будет достаточна и полноценна для построения ретроспективных отчетов. Ретроспективная модель позволяет обратиться к любому историческому периоду и воспроизвести актуальное состояние данных на этот период.
Если у вас вдруг возникла необходимость обеспечить ретроспективную доступность данных - не спешите сразу переходить к технической реализации. Как не странно, но здесь самое главное не техническое решение на уровне модели данных и API, а интерфейс пользователя. Ведь основная проблема в том, чтобы заставить оператора осознано различать логическую нагрузку близких по смыслу действий. Например, при обновлении данных важно уверенно различать исправление ошибки и актуализацию данных. Представьте, что изначально название улицы, фамилия или e-mail были введены неправильно и оператор хочет исправить ошибку - этот процесс не имеет никакого отношения к историчности. А вот если название улицы или статус члена группы изменились вследствие естественных процессов, то это уже предмет ретроспективной функциональности. Приблизительно такая же ситуация и с удалением, если участник выходит из группы, то в этом случае не нужно удалять запись состава группы, нужно проставить дату его выхода из группы. Условно, можно выделить два случая, явно влияющих на реализацию UI:
Безопасность ПЛК: 20) Ловите ложные срабатывания для критических предупреждений
Определите критические предупреждения и запрограммируйте ловушки для этих предупреждений. Установите ловушки так, чтобы отслеживать условия срабатывания и состояния оповещений.
Разбираем последние рекомендации по безопасному программированию ПЛК. Обсудим где, кому и зачем данные рекомендации нужны.
Всех неравнодушных прошу под кат.
Технологии производства электроэнергии с использованием ресурсов мирового океана
Мировой океан занимает почти 70% поверхности нашей планеты и представляет собой нечто по истине великое и могущественное. Одной из главных его черт является постоянное движение, которое выражается через волны, течения, приливы и отливы, зарождаемые ветрами, гравитационными силами Луны и Солнца, сейсмическими толчками и многими другими факторами. Благодаря этому океаническая масса изобилует энергией, объемы которой во много раз превышают величины, необходимые людям, по крайней мере, на текущий момент.
Немного истории: вода как источник энергии
Использование воды в качестве источника энергии во многом определило вектор человеческого развития. Вертикальное водяное колесо, изобретенное, возможно, за два века до рождества Христова, вошло в широкое использование в течение нескольких сотен лет. К концу римской эпохи водяные мельницы обеспечивали энергией помол зерна, производство ткани, выделку кожи, распиловку дерева и т.п.
Телеграм бот для создания быстрого UI
В рамках своих проектов я часто сталкиваюсь с потребностью в разработке интерфейса и, так как я работаю с python, в моём арсенале присутствует большое количество разных библиотек, позволяющих генерировать интерфейс, начиная от страницы сайта и заканчивая сложной структурой окна. Но в большинстве случаев возможности, например библиотеки qt5, излишни для моих проектов, либо наоборот, ограничены тем, что я не могу запустить свой интерфейс на мобильном устройстве.
Пишем чат-бот на Python + PostgreSQL и Telegram
Пошаговое руководство написания чат-бота на языке Python.
Установим Python и библиотеки на Debian, подключим PostgreSQL, получим вопросы и ответы, подключим морфологию и нормализуем слова, запустим чат-бота в Telegram.
Голая практика и полный листинг с комментариями.
«Если сильный — всплывет, если слабый — нам такие не нужны!»
«Вы все когда-то были в роли новичка в компании и, наверное, знаете, что когда приходит новый сотрудник, первым делом руководитель ему озвучивают план ближайшего сотрудничества. Это все случилось и со мной… встреча с руководителем произошла… через полтора месяца… случайно… в туалете… где руководитель спросила у меня, как мои успехи….
По своей неопытности и наивности (это была моя вторая работа) я не добивалась встречи с руководителем и не требовала ознакомить меня с ожиданиями и планом. Конечно, я не сидела совсем без работы, я понимала, какие функции должна выполнять — мне рассказал мой коллега, который занимал такую же позицию. Поэтому, проблему я не видела: сама училась, сама осваивала свои функции, сама приступила к работе.
Прошло еще полтора месяца и меня вызывает мой руководитель. „Ура“ — думаю я — »адаптация пройдена, и наконец-то мы поговорим про будущее и новые цели".
Но на встрече руководитель мне объявил, что я не прошла испытательный срок, так как мои показатели далеки от плановых. На мой вопрос, где я могла узнать о планах, руководитель ответила, что это описано в инструкции в личном кабинете учебного портала, и что, как оказалось, я должна была найти это сама. Вот такая история…"
__________________________
Когда в компанию выходит новый сотрудник, он не сразу приступает к выполнению своих обязанностей. Ибо не всегда получается найти сотрудника, у которого есть опыт в такой-же сфере, с таким-же продуктом и в такой-же роли. Поэтому, такому сотруднику дается «отсрочка», в течении которой он должен освоить недостающий объем знаний. Он обучается тому, как качественно выполнять функции, предусмотренные его позицией. В каждой компании этот период занимает свое время и зависит от сложности будущих функций и уровня знаний сотрудника (который есть на входе). Когда этот период «отсрочки» заканчивается, сотрудник должен начать выполнять эти функции в полном объеме. Это стандарт.
Swift. Сборка данных из разных запросов
Давайте представим себе типичную ситуацию. Нашему приложению необходимо выполнить подключение к серверу и получить различные данные. Для примера, пускай это будут: список категорий, список продуктов, стоимость продуктов. Значения это не имеет, просто некая абстрактная задача.
Эти данные мы не можем собрать по ряду определенных причин в рамках одного запроса, поэтому нашей задачей является выполнить несколько запросов и после того, как все они выполнятся (мы получим данные), произведем какие-либо действия. Выполнять действия до получения всех данных нельзя, порядок получения данных нам неизвестен т.к. это асинхронные операции и объем данных так же неизвестен, как и скорость сети и т.д. думаю, в пояснении не нуждается...
Спрос на скилы: какие тенденции диктует рынок труда
Эксперты из сферы онлайн-образования, которые работают как с кандидатами, так и с работодателями, рассказали о тенденциях рынка труда в России. В статье выделили пять важных компетенций IT-специалиста без привязки к предметной области. И добавили четыре способа, как определить навыки для своего развития.
Wi-Fi обследование AP on a stick сети ритейла. Мой опыт
Решение написания этой статьи пришло спонтанно, написал её за пару часов, оперативно, потому что долго откладывал это дело и забывалось в потоке дел. Так что сейчас или никогда.
Делюсь опытом и рассказываю про радио обследования сети ритейла. Надеюсь, что-то вы возьмёте себе на вооружение, например те, кто делает крупный проект обследования впервые. Если хотя бы один человек посчитает эту статью полезной и применит в работе мои заметки, цель статьи считаю выполненной.
Android Vitals — Сколько времени?
Вчера у меня возникла идея:
Кому-нибудь интересна серия статей, посвященная мониторингу производительности Android в эксплуатационной среде?
Не что-то типа "настраиваем Firebase Performance Monitoring" (что меня не особо воодушевляет), а скорее "как работает Android".
“Я написал код, который определяет, когда происходит первый onDraw в приложении, но он не работает на API 25. Мне понадобилось какое-то время, чтобы понять причину!”
Фальсифицируем выборы в Государственную Думу 2021 года, а потом отменяем фальсификации с помощью машинного обучения
Предыдущая статья на тему выборов в государственную думу: «Восстанавливаем результаты выборов 2021 с помощью машинного обучения» вызвала интерес. Вместе с тем к статье было много критических комментариев. В некоторых из этих комментариев были подняты спорные вопросы, которые требовали дополнительных исследований.
В данной работе производится симуляция выборных фальсификаций различного типа на реальных данных итогов голосования, которое прошло в сентябре 2021 года. Это позволяет оценить корректность результатов восстановления результатов голосования с помощью библиотеки scikit-learn и позволяет выявить некоторые особенности такого подхода.
7 декабря — анонс нового продукта HFLabs. Покажем «Центр управления согласиями»
Управление согласиями клиентов — сфера, где царит тотальный бардак. Люди не знают, где и какие согласия оставили. А бизнес не понимает, что ему разрешили: слишком много источников, слишком много версий одного согласия, слишком много хаоса.
7 декабря мы покажем продукт, который наведет порядок. Начало — в 18:00, уложимся в час.
Проверенные подходы к разработке в сфере машинного обучения
В следующем списке представлены проверенные подходы к разработке программных систем с компонентами машинного обучения (ML).Список составлен на основе консультаций с командами ML-разработчиков и анализа соответствующей научной и внеиздательской литературы. Мы непрерывно ведем глобальный опрос команд ML-разработчиков, чтобы оценивать степень внедрения этих подходов в реальные проекты. Собранные подходы сгруппированы по шести категориям, изображенным на схеме выше, и перечислены в списке ниже. Каждому подходу поставлены в соответствие сложность, эффекты от его внедрения и реализуемые с его помощью требования к достоверности моделей ML.
Измеряем релизный цикл мобильных приложений
А давайте перенесем релиз на завтра? Мне тут один баг осталось пофиксить.
Если у вас только что случились вьетнамские флешбеки, значит эта статья точно для вас. Именно так начинается самый страшный кошмар тестировщика. И тогда происходит всё, что только может произойти: долгое review, баги в тестировании, а сами тесты падают. И пока ты фиксишь одно, тебе приходит уже новая фича, которую хочется выпустить в релиз. Потом — пятница, а мы ничего не зарелизили.
В этой статье я расскажу, как мы пришли к эффективному способу измерения качества релиз-трейна, какие совершали ошибки по пути и с какими сложностями столкнулись в процессе.
Самые популярные языки программирования 2021 года. Свежий хабратоп
В прошлом декабре мы подбивали предварительные итоги и выкатили рейтинг популярности языков программирования. Пришло время для обновлений! В Хабратопе-2021 рассказываем, как менялись позиции ЯП в рейтингах TIOBE, PyPL и Stack Overflow. А если хочется увидеть выжимку, сразу переходите в раздел итогов. Поехали!