Как стать автором
Обновить
-2
6

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

Отправить сообщение

Защита репозиториев на GitHub от вредоносных коммитов

Время на прочтение4 мин
Количество просмотров11K
Mozilla старается защитить свои репозитории на GitHub от вредоносных изменений. Как показал недавний инцидент с Gentoo, такие атаки реальны.


Первоначально Mozilla использовала GitHub как запасной хостинг. Подобно Gentoo, оригинальные репозитории хранились на собственной инфраструктуре. И хотя большая часть кода Firefox по-прежнему распространяется с собственной инфраструктуры, но многие проекты существуют только на GitHub. Некоторые — просто эксперименты, а другие используются в продакшне (например, Firefox Accounts). Такие «чувствительные» репозитории нужно защищать от вредоносных правок, при этом не усложняя коммиты для нормальных людей.
Всего голосов 20: ↑20 и ↓0+20
Комментарии1

Как заработать на распознавании эмоций

Время на прочтение5 мин
Количество просмотров4.4K

Расскажу о сабже на примере одного из проектов, которым занимался в 2019-м году, когда я ещё работал в одной известной онлайн-школе английского языка.


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


Заодно покажу, как устроен цикл разработки и внедрения моделей машинного обучения.

Читать дальше →
Всего голосов 7: ↑6 и ↓1+9
Комментарии20

Аналитика для Telegram-ботов, написанных на Python

Время на прочтение4 мин
Количество просмотров34K
На данный момент бум на создание телеграмм-ботов начал сходить, но тема их создания не теряет актуальности. Написано множество библиотек для облегчение взаимодействия с Telegram Bot API, но после создания бота я так и не нашёл скрипта(библиотеки) для получения статистики бота. Поэтому решил написать скрипт для всех ботов на Python. Статистику будем получать, логируя действия пользователей и обрабатывая логи в удобный вид.
Читать дальше →
Всего голосов 4: ↑3 и ↓1+6
Комментарии6

Строим Telegram-бот в Яндекс.Облаке

Время на прочтение7 мин
Количество просмотров48K
Создание телеграм-бота

Сегодня из подручных материалов мы соберём в Яндекс.Облаке Telegram-бот с использованием Yandex Cloud Functions (или Яндекс-функции — для краткости) и Yandex Object Storage (или Объектное хранилище — для ясности). Код будет на Node.js. Однако, имеется одно пикантное обстоятельство — некая организация под названием, скажем так, РоссКомЦензур (цензура запрещена статьёй 29 Конституции РФ), не позволяет интернет-провайдерам России передавать запросы в Telegram API по адресу: https://api.telegram.org/ (UPD: В РФ уже снята блокировка Telegram API). Ну мы и не будем — нет так нет. Ведь в нашем саквояже имеются т.н. вебхуки — с их помощью мы не делаем запросы на конкретный адрес, а всего лишь шлём свой запрос в качестве ответа на любой запрос к нам. То есть, как в Одессе — отвечаем вопросом на вопрос. Поэтому Telegram API в нашем коде фигурировать не будет.
Читать дальше →
Всего голосов 18: ↑15 и ↓3+15
Комментарии28

Intel Parallel Studio XE 2020: все лучшее — разработчикам

Время на прочтение3 мин
Количество просмотров6.9K


В самый канун Нового года увидела свет новая версия главного инструмента Intel для разработчиков — Intel Parallel Studio XE 2020. Давайте воспользуемся этим поводом и посмотрим, чем живет сейчас всем известная «студия» и в какую сторону развивается.
Читать дальше →
Всего голосов 6: ↑4 и ↓2+7
Комментарии0

Гиперкуб. Как мы обеспечили разработчиков тестовыми устройствами и не потеряли их

Время на прочтение11 мин
Количество просмотров35K

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


Меня зовут Алексей Лавренюк. Вы можете знать меня как одного из авторов Яндекс.Танка и докладчика на тему нагрузочного тестирования. Потом я измерял энергопотребление мобильных телефонов. Теперь я делаю Яндекс.Ровер в команде беспилотных автомобилей (и иногда подрабатываю Дедом Морозом). А между телефонами и Ровером был Гиперкуб.


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




Читать дальше →
Всего голосов 83: ↑81 и ↓2+105
Комментарии57

Пишем драйвер для ноутбука for fun and profit, или как закоммитить в ядро даже если ты дурак

Время на прочтение5 мин
Количество просмотров37K

С чего всё началось


Начнём с постановки проблемы. Дано: один ноутбук. Новый ноутбук, геймерский. С RGB-подсветкой. Вот такой примерно ноутбук:

image
Картинка взята с lenovo.com

Есть ещё программа к этому ноутбуку. Программа как раз этой подсветкой и управляет.

Одна только проблема – программа под Windows, а хочется чтоб в любимом линуксе всё работало. И лампочки чтоб светились, и чтоб цвета красивые мелькали. Да вот только как это сделать, чтоб без реверс-инжиниринга и без написания своих драйверов? Простой ответ пришёл быстро – никак. Ну что ж, пошли писать драйвер.
Читать дальше →
Всего голосов 103: ↑102 и ↓1+131
Комментарии20

«Красная» корпоративная культура — главная проблема российского бизнеса (Часть 1)

Время на прочтение6 мин
Количество просмотров101K


«— Скажите, пожалуйста, куда мне отсюда идти? — А куда ты хочешь попасть? — ответил Кот. — Мне все равно… — сказала Алиса. — Тогда все равно, куда и идти, — заметил Кот.» (С) «Алиса в стране чудес»

Низкая производительность труда в России


Думаю, что те из вас, кто был в Греции, ни за что не согласятся, что греки работают лучше россиян. Тем не менее, по исследованиям Организации экономического сотрудничества и развития (ОСЭР) Россия со своим показателем производительности труда на уровне $26,5 в час уступает всем странам ОЭСР (по сути все развитые страны), включая Грецию, кроме Мексики, где он составляет $21,6. Средний для ОЭСР показатель — $54,8, а у лидеров — Ирландии и Люксембурга — на уровне $99 в час.
Читать дальше →
Всего голосов 119: ↑102 и ↓17+108
Комментарии524

Чтобы пацанам было не стыдно показать

Время на прочтение3 мин
Количество просмотров107K
Я стар и уже глуп, а у вас всё впереди, уважаемый программист. Но позвольте дать вам один совет, который наверняка поможет в вашей карьере – если, конечно, вы планируете остаться программистом.

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

Вот это главное качество: пытливый ум.
Читать дальше →
Всего голосов 251: ↑227 и ↓24+267
Комментарии172

Слёрм DevOps — лучше работающая синица за 3 дня, чем прекрасный журавль в далеком будущем

Время на прочтение4 мин
Количество просмотров4.2K

Я люблю проект длиной в неделю, и меня пугают проекты длиной в год. В аджайле мне очень понравилась концепция MVP и инкремента, это прям мое: сделать работоспособный кусок, внедрить его и двинуться дальше.


При этом DevOps-трансформация в том виде, в котором ее обсуждают в книгах и на конференциях, это как раз проект длиной в год. Или в годы.


Мы строили свой курс по DevOps в парадигме «MVP DevOps за один спринт» и «готовность к инкрементам». А если по-человечески, то «чтобы участник по возвращении мог немедленно что-то внедрить у себя и получить пользу».


MVP DevOps: в курсе есть инструменты для основных DevOps-процессов. Мы не ставили себе задачу рассмотреть и сравнить все системы CI/CD или раскрыть глубины подхода Infrastructure as Code. Мы даем один понятный стек: Gitlab CI/CD, Ansible, Terraform и Packer, Molecule, Prometheus, EFK. Можно прийти с курсов, собрать из учебных материалов инфраструктуру для пилотного проекта и поработать в ней.


Читать дальше →
Всего голосов 18: ↑14 и ↓4+13
Комментарии2

Николай Прохоров: «В Финляндии был огромный отдел Внешторга, который поставлял наши машины в капстраны»

Время на прочтение15 мин
Количество просмотров15K


Профессор Николай Прохоров больше 20 лет возглавлял Институт электронных управляющих машин, с 1984 года был генеральным конструктором СМ ЭВМ. В первой части интервью музейному проекту DataArt Николай Леонидович вспоминает учебу в МЭИ, работу в ИПУ РАН и ИНЭУМ, машины, способные управлять АЭС или универмагом, встречи с Норбертом Винером, Исааком Бруком, Баширом Рамеевым.

Начало


— Я родился в 1936 году, учился в железнодорожной школе под Москвой, занимался в кружке при детской железной дороге, был стрелочником, начальником смены и машинистом. У меня есть права машиниста паровоза на узкоколейных дорогах. В 1953-м поступил в Московский энергетический институт, тогда — имени Молотова. Считаю, что мне очень повезло — по составу преподавателей вуз был выдающимся. Кроме того, в МЭИ кипела спортивная и общественная жизнь.


Детская железная дорога в Подмосковье была заложена в 1936 году. Еще раньше похожие проекты запустили в Тифлисе, Днепропетровске и Гомеле

Получив специальность инженера-электрика, я распределился в Институт автоматики и телемеханики Академии наук — теперь он называется Институтом проблем управления РАН.
Читать дальше →
Всего голосов 28: ↑25 и ↓3+33
Комментарии136

Как мы антифрод систему в четыре руки и три головы писали

Время на прочтение5 мин
Количество просмотров8.5K

Статья про создание inhouse-решения для обнаружения и предотвращения мошеннических операций проводимых в интернет-банкинге одного маленького, но очень гордого банка в Татарстане. Из статьи узнаете о том зачем и кому нужен антифрод, почему внутренняя разработка оказалась дешевле покупки готового решения и к чему приводят пара строчек кода перед новым годом.

Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии9

Умный дом на колес… Алисах

Время на прочтение6 мин
Количество просмотров38K
Привет. В настоящее время я смог реализовать одну из возможностей умного дома, а именно полноценное голосовое управление светом через яндекс-сервис Алисы, в частности через Умную колонку Яндекс-станцию и Алису на телефоне. Но все также будет работать на любом устройстве, на котором она установлена. Световая инсталляция основана на 4-х RGBWW контроллерах MiLight FUT039 и WiFi контроллере MiLight ibox2 (который тянет 4 зоны управления), пульты MiLight (3 шт) настроены параллельно и работают как резервное управление при отсутствии интернета, но к голосовому управлению почти не имеют отношения, поэтому их учитывать не будем.

В чем отличие этой реализации? Схема управления проста в исполнении, не требует никаких навыков программирования и по затратам обойдется в примерно в стоимость умной колонки и микрокомпьютера Распберри 3, софт под микрокомпьютер совсем бесплатный. И не нужно подключать устройства, которыми управляешь, к серверам производителей. Интернет нужен для Алисы и сервисов Яндекса, да и распбери нужно выплюнуть наружу по порту 443.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии20

О сколько нам открытий чудных готовит Office Microsoft

Время на прочтение5 мин
Количество просмотров115K


По сообщениям в комментариях к статье про блокнот, во всех версиях Microsoft Excel, начиная по крайней мере с '97 и до самых новых, в имени листа не всегда можно ввести большую букву Ж. Данная проблема обсуждается в сети уже давно, например на этом форуме забавно наблюдать, как некоторые утверждают, что у них проблемы нет, а у других есть, но не всегда, и никто не понимает, почему так. На первый взгляд можно подумать, что это просто недоработка программистов: они хотели не дать пользователю ввести символ ':', и просто не подумали о том, что Ж находится на той же кнопке.

На деле оказалось всё гораздо хуже. Описать нормальными словами то, что происходит в excel, когда вы просто нажимаете кнопку 'Ж', практически невозможно. Поэтому я попытаюсь обрисовать в целом процесс исследования, сократив его где возможно, и не слишком перегружая статью ассемблерным кодом. В итоге мы узнаем, почему получается так, что не любые символы можно ввести, и как это можно исправить.
Читать дальше →
Всего голосов 235: ↑230 и ↓5+225
Комментарии89

Проклятие второго месяца

Время на прочтение3 мин
Количество просмотров14K
У организационных изменений две ключевые проблемы – начать и не бросить. Причем, как ни странно, не бросить – сложнее, чем начать.

Начать сложно, если изменения запланированы большие. Решается эта проблема просто – надо начать понемногу, кусками. Для знатоков напомню – это называется agile, а еще – fail fast, fail cheap. Сделал шажок, оценил, либо выкинул, либо оставил, и делаешь следующий. Людям с более серьезным образованием скажу, что это – банальный цикл Деминга, а не модная хипстерская выдумка.

Но потом изменения затухают. Энтузиазм пропадает, новые шажочки не делаются, и даже не придумываются. Постепенно откатываются и те изменения, которые были сделаны. И всё возвращается на круги своя.

По моим наблюдениям, «бросание» почти всегда случается на второй месяц.
Читать дальше →
Всего голосов 34: ↑29 и ↓5+33
Комментарии8

Бот для сборов. Собираемся на футбол с новыми технологиями

Время на прочтение21 мин
Количество просмотров11K

Введение


Всем привет. В этой статье я опишу своего чат-бота для сервиса обмена сообщениями telegram и социальной сети VK с использованием NodeJS.


На этом месте у многих читателей должно вырваться что-то вроде: "Доколе!" или "Что, опять ?!".
Да, похожие публикации уже были и на хабре в том числе. Но, тем не менее я считаю, что статья будет полезна. Кратко о том что с технической стороны представляет реализация бота:


  1. В качестве каркаса для приложения используется набирающий популярность фреймворк NestJS.
  2. Библиотека telegraf для взаимодействия с API Telegram.
  3. Библиотека node-vk-bot-api для взаимодействия с API VK.
  4. Библиотека typeorm для организации слоя хранения данных.
  5. Тесты с использованием mocha и библиотеки ассертов chai .
  6. CI с использованием Travis CI для тестирования и GitHub Actions для деплоя докер-образов.

В качестве побочного задания попробуем подружить нашего бота с Viber делая его таким образом универсальным для использования в нескольких сервисах обмена сообщениями.


Тем кто хочет узнать что из этого получилось добро пожаловать под кат.

Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии14

Как сделать бота, который превращает фото в комикс. Часть вторая. Обучение модели

Время на прочтение5 мин
Количество просмотров11K
⇨ Первая часть
⇨ Третья часть

И снова здравствуйте!

Как вы могли заметить, праздники несколько подкосили график выхода статей.
Думаю, многие за это время успели если не полностью обучить свою модель, то хотя бы поэкспериментировать с различными наборами данных.
1. Ставим дистрибутив
2. Качаем фотки
3. ???
4. Profit!
Если же вам было не до этих наших нейросетей, или вы начинаете чтение с этой статьи, то, как говорится, нет времени объяснять, берем дистрибутив, качаем нужные фотки, и поехали!
Читать дальше →
Всего голосов 29: ↑29 и ↓0+29
Комментарии4

Автоопределение кодировки текста

Время на прочтение6 мин
Количество просмотров69K
image

Введение


Я очень люблю программировать, я любитель и первый и последний раз заработал на программировании в далёком 1996 году. Но для автоматизации повседневных задач иногда что-то пишу. Примерно год назад открыл для себя golang. В качестве инструмента создания утилит golang оказался очень удобным. Итак.


Возникла потребность обработать большое количество (больше тысячи, так и вижу улыбки профи) архивных файлов со специальной геофизической информацией. Формат файлов текстовый, простой. Если вдруг интересно то это LAS формат.
LAS файл содержит заголовок и данные.


Данные практически CSV, только разделитель табуляция или пробелы.


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


Файлы эти созданы в разное время и в разных программах, доходит до того, что в одном файле часть в кодировке CP1251, а часть в CP866. Файлы эти мне нужно обработать, а значит понять. Вот и потребовалось определять автоматически кодировку файла.


В итоге изобрёл велосипед на golang и соответственно родилась маленькая библиотечка с возможностью детектировать кодовую страницу.

Читать дальше →
Всего голосов 9: ↑8 и ↓1+12
Комментарии28

Камера с функцией слежения за объектом

Время на прочтение4 мин
Количество просмотров12K
Хочу сделать автономного дрона, который бы сам мог найти дорогу к цели и обратно, при этом обойти все препятствия ни кого не задев. Решил начать с нейросети и вебки. Так и получился этот проектimage
Всего голосов 10: ↑9 и ↓1+12
Комментарии12

opencv4arts: Нарисуй мой город, Винсент

Время на прочтение7 мин
Количество просмотров7.7K

OpenCV — библиотека с историей непрерывной разработки в 20 лет. Возраст, когда начинаешь копаться в себе, искать предназначение. Есть ли проекты на ее основе, которые сделали чью-то жизнь лучше, кого-то счастливее? А можешь ли ты сделать это сам? В поисках ответов и желании открыть для себя ранее неизвестные модули OpenCV, хочу собрать приложения, которые "делают красиво" — так, чтобы сначала было "вау" и только потом ты скажешь "о да, это компьютерное зрение".


Право первой статьи получил эксперимент с переносом стилей мировых художников на фотографии. Из статьи вы узнаете, что является сердцем процедуры и об относительно новом OpenCV.js — JavaScript версии библиотеки OpenCV.


Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии6

Информация

В рейтинге
829-й
Откуда
Жуковский, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность