Как стать автором
Обновить
0
0.8

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

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

Учебно-развлекательный проект «Мобильная платформа». Управление жестами руки

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров1.3K

Учебно-развлекательный проект "Мобильная платформа", который использует управление жестами руки для управления роботом. В ней подробно рассматриваются технические аспекты сборки платформы, программирование Arduino и обработка жестов с помощью Python и библиотеки mediapipe.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии23

Главные отличия PCA от UMAP и t-SNE

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров4.9K

Здесь будет рассказано о главных отличиях самого старого и базового алгоритма снижения размерности - PCA от его популярных современных коллег - UMAP и t-SNE. Предполагается, что читатель уже предварительно что-то слышал про эти алгоритмы, поэтому подробного объяснения каждого из них в отдельности приведено не будет. Вместо этого будут объяснены самые важные для практики свойства этих алгоритмов и то, на какие связанные с ними подводные камни можно налететь при неосторожности. Все особенности будут описаны на примерах, с минимумом теории; те пытливые умы, что почувствуют в процессе чтения жажду математической строгости, смогут удовлетворить её в литературе, ссылки на которую будут даны по ходу дела и в конце статьи.

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

Читаем нажатия ИК-пульта под Linux

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров2.5K

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

Нажатия будем принимать с помощью YS-IRTM, это дешевая плата с ИК-приёмником и передатчиком, использует микроконтроллер на базе 8051, в котором прошивка для декодирования сигналов с пультов. Интерфейс подключения: UART 5V. Есть подробное описание в этом репозитории на GitHub.

Умеет принимать NEC протокол, который используется на большинстве дешевых пультов. Но есть недостаток, не принимает коды повторов, если клавиша удерживается. Существуют и другие ИК-протоколы, например у Sony есть свой, поэтому пульты Sony не поддерживаются.

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

Как правильно передавать секреты запускаемым программам?

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров6.5K

Эта статья о том, как правильно передавать секреты запускаемым программам.

Бывает встречаются Unix-системы, на которых некоторые администраторы передают процессам пароли в открытом виде, совершенно не заботясь о том, что их видят все пользователи данной системы.

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

$ ps -ef

и возможно и увидеть некоторые секреты, которых видеть не должны, например, у одного из процессов ниже открыт пароль basicAuth.password (пароль в тексте изменен).

$ strings /proc/1101/cmdline
/usr/local/bin/vmagent
--remoteWrite.url=http://vm-cluster.local:1234/api/v1/write
--remoteWrite.basicAuth.username=user-rw
--remoteWrite.basicAuth.password=123456
--promscrape.config=/usr/local/etc/vmagent-config.yml

Как же быть? Есть несколько способов этого избежать.

Читать далее
Всего голосов 18: ↑17 и ↓1+19
Комментарии10

Как физик-ядерщик делает алюминиевые палки и продает на 20 млн ₽ в год

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров135K

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

Читать далее
Всего голосов 133: ↑108 и ↓25+114
Комментарии226

NumPy для самых маленьких

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров16K

Математика везде в нашей жизни, но в программировании, а особенно ML ее два раза больше. Обычно Питон берут в пример самого "научного" языка программирования из-за математических фреймворков. Как не Питон может помочь оперировать математическими абстракциями, некоторые из сферы ресерча пользуются исключительно питоном для всяких научных изысканий — сегодня мы поговорим про библиотеку NumPy и работу с массивами. 

Самая новичковая "библиотека" с примочками в виде SciPy и Matplotlib предназначена для работы с многомерными массивами. NumPy – основа для многих других библиотек для машинного обучения, таких как SciPy, Pandas, Scikit-learn и TensorFlow. 

Pandas, например, строится поверх NumPy и позволяет работать со структурами данных высокого уровня по типу DataFrame и Series. При помощи NumPy можно проводить преобразование категориальных данных в числовой формат, например, с использованием кодирования one-hot.

Читать далее
Всего голосов 20: ↑17 и ↓3+18
Комментарии2

Дрон художник нарисовал самую большую картину и другие необычные применения Robot Operating System на ROS Meetup 2024

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров932

Репортаж с прошедшего мероприятия по Robot Operating System (ROS) - фреймворку, который предназначен для разработки программного обеспечения роботов. В него входит целый набор различных инструментов, библиотек и определённых правил, цель которых — создать единую и удобную среду разработки роботов. Выкладываем видеозаписи докладов с подробными описаниями.

Смотреть доклады
Всего голосов 6: ↑6 и ↓0+7
Комментарии4

Индуктивная статистика: доверительные интервалы, предельные ошибки, размер выборки и проверка гипотез

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров7.8K

Одной из самых распространённых задач аналитики является формирование суждений о большой совокупности (например, о миллионах пользователей приложения), опираясь на данные лишь небольшой части этой совокупности - выборке. Можно ли сделать вывод о миллионной аудитории крупного мобильного приложения, собрав данные 100 пользователей? Или стоит собрать данные о 1000 пользователях? Какую вероятность ошибиться при анализе мы можем допустить: 5% или 1%? Относятся ли две выборки к одной совокупности, или между ними есть ощутимая значимая разница и они относятся к разным совокупностям? Точность прогноза и вероятность ошибки при ответе на эти и другие вопросы поддаются вполне конкретным расчётам и могут корректироваться в зависимости от потребностей продукта и бизнеса на этапе планирования и подготовки эксперимента. Рассмотрим подробнее, как параметры эксперимента и статистические критерии оказывают влияние на результаты анализа и выводы обо всей совокупности, а для этого смоделируем тысячу A/A, A/B и A/B/C/D тестов.

Читать далее
Всего голосов 22: ↑22 и ↓0+25
Комментарии13

Плавный вход в FPV. Или сборка первого учебного комплекта

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров8.3K

Лирическое отступление.

Внезапно мне очень захотелось летать! Просто до дрожи в ногах! Почему? По тому что одна из ног была не пригодна даже для хождения по квартире в виду последствий любви к спорту. И холодным осенним вечером я понял что до безумия хочу одеть FPV шлем и хотя бы полетать по квартире… Почувствовать свободу перемещения! Если описывать ощущения от полёта в FPV то это похоже на параллельную реальность. Я летал несколько лет назад, и смотрел во вторые очки когда летал проф пилот… Это незабываемые ощущения. И вот я не могу ходить временно но могу собрать дрон летающий или ездящий… И управлять им от первого лица, компенсируя физический недостаток! А главное я совсем немного инженер-электронщик, чутка программист и собрал до травмы пару железок так сказать:)

Когда то давно лет 6ть назад я занимался сборкой квадрокоптера на 350той вроде раме. Его останки до сих пор покоятся у меня на полках стеллажей. Всё как обычно в юношеских начинаниях уперлось в деньги:( вернее в их отсутствие. Я собрал квадрик на Ardupilot выглядело это как то так.

Читать далее
Всего голосов 15: ↑15 и ↓0+16
Комментарии23

Все, что нужно знать перед сдачей ISTQB

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров6.6K

Всем привет!

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

Если вы читаете эту статью, то, вероятнее всего, вы уже знаете, что обозначают эти загадочные буквы «ISTQB», зачем вообще сдавать какой-то экзамен и почему к нему надо плотно готовиться. 

Тем не менее для тех, кто забрёл сюда случайно или вчера в первый раз мельком услышал что-то об ISTQB и решил погуглить, я объясню:

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

Тестируем PCIe в новом Raspberry Pi 5

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров29K

Если вы ещё не в курсе, то недавно было объявлено о выходе Raspberry Pi 5.

Я специально снял ролик, где разобрал всю аппаратную часть – что изменилось, что появилось и чего не стало. В этой статье я представлю вам спецификацию новой модели, расскажу о некоторых особенностях и о том, что выяснил в ходе тестирования её работы с десятком различных устройств PCIe.
Читать дальше →
Всего голосов 63: ↑62 и ↓1+91
Комментарии30

Обнаружение движущихся объектов с помощью OpenCV с использованием обнаружения контуров и вычитания фона

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

Обнаружение движущихся объектов широко используется в самых разных приложениях, от видеонаблюдения до мониторинга дорожного движения. Это важнейшая задача в постоянно развивающейся области компьютерного зрения. Библиотека OpenCV с открытым исходным кодом, известная своим полным набором инструментов для компьютерного зрения, предоставляет надежные решения для обнаружения движущихся объектов. В этой статье рассмотрим комбинацию обнаружения контуров и вычитания фона, которые можно использовать для обнаружения движущихся объектов с помощью OpenCV.

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

Лучшие бесплатные курсы и ресурсы для изучения машинного обучения

Уровень сложностиПростой
Время на прочтение21 мин
Количество просмотров20K

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

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

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

Читать
Всего голосов 22: ↑16 и ↓6+13
Комментарии7

Обучение нейронной сети обнаружению людей на аэроснимках

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров8.6K

Если вам понадобилось обучить нейронную сеть обнаруживать объекты на изображении или в видеопотоке, то для вас есть хорошие новости - уже существуют простые в использовании готовые инструменты. Наверняка кто-то из читателей такими пользуется. Например модель YOLOv8 хорошо тренируется на новых данных "из коробки". И, наверное, права была посетитель выставки, которая около стенда демонстрирующего обнаружение животных на видео c БПЛА сказала: "Что тут такого. Я за 10 строчек кода такое сделаю".
Но что, если сделал все по инструкции, а оно не работает так как хочется?

Читать далее
Всего голосов 6: ↑3 и ↓30
Комментарии11

Как развернуть виртуальную среду модели машинного обучения на любой машине?

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров8.9K

Иногда возникают проблемы с развертыванием среды разработки в облаке, ведь бесплатных сервисов с большими облачными вычислительными мощностями почти нет. Тот же Google Collab имеет свои лимиты по использованию GPU, после израсходования всей памяти необходимо ждать сутки. А цена платной версии порой не совсем оправдана... Если у вас есть своя неплохая видеокарта, всегда можно отказаться от облачной разработки и перейти к домашнему варианту.  

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

Итак, как же контейнизировать собственную виртуальную среду и развернуть ее с использованием своего GPU? 

Читать далее
Всего голосов 5: ↑4 и ↓1+4
Комментарии11

Range Extender на NRF24L01+PA+LNA: обмен текстовыми сообщениями между устройствами там, где нет сотовой связи

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров9.8K
Картинка Pressfoto, Freepik

Эта идея появилась у меня достаточно давно, и наконец-то дошли руки её частично реализовать. А именно: хотелось попробовать сделать средство общения с помощью известного радиопередатчика NRF24L01+PA+LNA.

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

Читать дальше →
Всего голосов 44: ↑42 и ↓2+56
Комментарии36

«Машинное чтение» цифровых и не только индикаторов без ИИ и нейронок на Python

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

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

Не будет машинного обучения, нейросетей, только стандартные библиотеки Python для работы с изображениями.

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

Простой Blender. Часть 1

Время на прочтение6 мин
Количество просмотров225K
image
КДПВ. По мотивам.

О чем пост


Пост написан по мотивам этого комментария . Особенно вдохновила картинка в ответах к этому комментарию. Изначально хотел здесь написать про UI и основы моделлинга в Blender, но выходит многовато (я словообилен). Поэтому, про моделлинг — позже (если публика захочет). А здесь — про UI Blender с точки зрения непрофессионала.
Тоже хочу танк нарисовать!
Всего голосов 55: ↑53 и ↓2+51
Комментарии38

Поисковый движок в 80 строках Python

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

В сентябре я устроился на должность поискового дата-саентиста и с тех пор часть моих обязанностей заключается в работе с Solr — опенсорсным поисковым движком на основе Lucene. Я знал основы работы поискового движка, но мне хотелось понять его ещё лучше. Поэтому я закатал рукава и решил создать его с нуля.

Давайте поговорим о целях. Слышали когда-нибудь о «кризисе сложности обнаружения маленьких веб-сайтов»? Проблема в том. что маленькие веб-сайты наподобие моего невозможно найти при помощи Google или любого другого поискового движка. Какова же моя миссия? Сделать эти крошечные веб-сайты снова великими. Я верю в возвращение славы этих малышей вдали от SEO-безумия Google.

В этом посте я подробно расскажу о процессе создания поискового движка с нуля на Python. Как обычно, весь написанный мной код можно найти в моём GitHub (репозиторий microsearch). Эта реализация не будет притворяться готовым к продакшену поисковым движком, это лишь полезный пример, демонстрирующий внутреннюю работу поискового движка.

Кроме того, мне стоит признаться, что в заголовке поста я слегка преувеличил. Да, поисковый движок действительно реализован примерно в 80 строках Python, но я ещё и писал вспомогательный код (краулер данных, API, HTML-шаблоны и так далее), из-за которого весь проект становится немного больше. Однако я считаю, что интересная часть проекта находится в поисковом движке, который состоит из менее чем 80 строк.

P.S. Написав этот пост и microsearch, я осознал, что пару лет назад нечто похожее написал Барт де Гёде. Моя реализация очень похожа на работу Барта, но я считаю что кое-что улучшил, в частности: (1) мой краулер асинхронный, что сильно ускоряет работу, (2) я реализовал пользовательский интерфейс, позволяющий взаимодействовать с поисковым движком.

Читать далее
Всего голосов 29: ↑29 и ↓0+29
Комментарии5

Реверс-инжиниринг лазерного датчика расстояния

Время на прочтение11 мин
Количество просмотров40K
image
Однажды ко мне попал нерабочий лазерный датчик расстояния Keyence LK-G407. Мало того, что он был нерабочий, так его еще и нельзя было использовать без специального управляющего блока. Но ведь у датчика такие интересные характеристики: измерение расстояния с точностью до единиц микрон, и скорость работы — 50 килоизмерений/с. Так что, чтобы запустить его, придется заметно поковыряться в самом датчике, заодно и ценный опыт получить.
Читать дальше →
Всего голосов 56: ↑55 и ↓1+54
Комментарии22

Информация

В рейтинге
1 469-й
Зарегистрирован
Активность