Pull to refresh
26
0
Янчишин Руслан @r_ii

Разработчик

Send message

Загрузка NumPy-массивов с диска: сравнение memmap() и Zarr/HDF5

Reading time6 min
Views7K
Если ваш NumPy-массив слишком велик для того, чтобы полностью поместиться в оперативной памяти, его можно обработать, разбив на фрагменты. Сделать это можно либо в прозрачном режиме, либо явно, загружая эти фрагменты с диска по одному.



В такой ситуации можно прибегнуть к двум классам инструментов:

  • Метод NumPy memmap(), прозрачный механизм, который позволяет воспринимать файл, расположенный на диске, так, будто он весь находится в памяти. 
  • Похожие друг на друга форматы хранения данных Zarr и HDF5, которые позволяют, по необходимости, загружать с диска и сохранять на диск сжатые фрагменты массива.

У каждого из этих методов есть свои сильные и слабые стороны. 

Материал, перевод которого мы сегодня публикуем, посвящён разбору особенностей этих методов работы с данными, и рассказу о том, в каких ситуациях они могут пригодиться. В частности, особое внимание будет уделено форматам данных, которые оптимизированы для выполнения вычислений и необязательно рассчитаны на передачу этих данных другим программистам.
Читать дальше →

Встраиваем своё устройство «Умного дома» в экосистему SmartThings

Reading time14 min
Views48K
Платформы «Умного дома» позволяют интегрировать устройства и создавать новые сценарии их взаимодействия. Известен эффект платформ: пользователи скорее выберут ту, с которой уже совместимы имеющиеся у них устройства, нежели перейдут на какую-либо новую. Поэтому для разработчиков новых гениальных девайсов может оказаться выгоднее встраиваться в уже готовую платформу, сосредоточив внимание на «железном» продукте, нежели разрабатывать свои собственные «велосипеды» в виде еще одних облачных экосистем и личных кабинетов.

Рассмотрим, как встроить свое собственное устройство с платформой «Умного дома» Samsung SmartThings. Мы реализуем вариант прямого (Direct) подключения для управления устройством «Умного дома» на примере кнопки-выключателя и трехцветной лампочки. 


Читать дальше →

Сказ о том, как я автоматизировал квартиру с помощью Node-RED. Часть II

Reading time9 min
Views27K
Долгожданное продолжение поста про автоматизацию квартиры. В этой части я расскажу об освещении, мультимедиа-системе и датчиках безопасности.


Анализ крови на железо — как контролировать уровень, диагностирование причин, почему это важно

Reading time10 min
Views90K

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


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


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


Читать дальше →

Задержать COVID-19. Все про фильтрацию воздуха на случай пандемии

Reading time44 min
Views373K
По материалам из телеграм-канала LAB66 и присоединенного к нему чата.

Это время для фактов, а не для страха. Это время для науки, а не слухов. Это время солидарности, а не охоты на ведьм…
директор ВОЗ Tedros Adhanom Ghebreyesus про эпидемию COVID-19
Прошло немного времени с момента публикации моей статьи про респираторную защиту во время эпидемии. За это время, отчасти благодаря активному обсуждению в «приканальном» чате выработалась некоторая система, которой бы я хотел поделится и с читателями хабра. Вынудило меня написать эту статью то, что из-за коронавируса поднялся нездоровый хайп, на волне которого на поверхность начала всплывать совсем не та информация, которая всплывать должна была бы (равно как и внезапно подскочили до х40 раз цены на респираторы, притом все без разбора). Так что нужно расставить точки над i. Под катом читаем про подбор правильного респиратора, про сборку кастомных фильтров и стерилизацию зараженных средств защиты. Ответы на вопросы.

Грантовая поддержка исследования
Фактически, в роли «научного грантодателя» для этой статьи выступают мои «меценаты» с Patreon. Благодаря им все и пишется. Поэтому и ответ они могут получить раньше всех других, и черновики увидеть, и даже предложить свою тему статьи. Так что, если интересно то, о чем я пишу и/или есть что сказать — поспешите стать моим «патроном» (картинка кликабельна):



Статью же настоятельно рекомендую «в закладки». Буду рад любому посильному распространению статьи. Краткий итоговый FAQ — в конце статьи.


Собираем полумаску под себя!

Deadlock Empire — игра для разработчиков

Reading time2 min
Views15K

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

Встречайте: Deadlock Empire!

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

Подборка статей о машинном обучении: кейсы, гайды и исследования за январь 2020

Reading time5 min
Views9.8K
Исследовательская работа в области машинного обучения постепенно покидает пределы университетских лабораторий и из научной дисциплины становится прикладной. Тем не менее, все еще сложно находить актуальные статьи, которые написаны на понятном языке и без миллиарда сносок.

Этот пост содержит список англоязычных материалов за январь, которые написаны без лишнего академизма. В них вы найдете примеры кода и ссылки на непустые репозитории. Упомянутые технологии лежат в открытом доступе и не требуют сверхмощного железа для тестирования.
Читать дальше →

ROS: Застрявшим в Gazebo посвящается… Платформа для робота за 28.000 руб

Reading time3 min
Views7.4K

Инструкция по сборке роботизированной платформы для изучения ROS с грузоподъемностью более 30 кг


ROS — это мета-операционная система (с открытым исходным кодом) для роботов. Это превратилось в стандарт отрасли. Имея готовый интерфейс обмена сообщениями между различными узлами Вашей системы и огромное количество готовых решений для различных компонентов очень легко построить своего робота.

Для ROS есть среда-симулятор Gazebo, т.е. можно программировать робота даже не имея его физически. Первое знакомство с ROS у большинства вызывает восторг, Вы публикуете и читаете топики, пробуете управлять turtlesim. А дальше может возникнуть проблема с переходом к полноценно действующим роботам, которые взаимодействуют с окружающей средой. Некоторая часть идет дальше и создает необходимого робота в симуляторе. Многие так и застревают в gazebo, им я посвящаю данный пост.


Google AIY: мейкерский набор для создания гаджетов с голосовым управлением

Reading time3 min
Views17K


Компания Google запустила инициативу AIY Projects, чтобы совместить AI с DYI, то есть совместить программные приложения ИИ с наборами для сборки гаджетов. В результате, считает Google, мейкеры смогут изготовлять полезные устройства, которые помогут «решать реальные проблемы» в жизни. Эти гаджеты будут по-настоящему взаимодействовать с человеком. Например, распознавать речь, отвечать на вопросы и выполнять голосовые команды.

Первым проектом стал Voice Kit — демонстрационная система распознавания речи с подключением к Google Assistant (или без подключения). Как сказано в описании, в дополнении ко всем обычным функциям Google Assistant, тут вы сможете ещё добавлять в гаджет собственные пары вопросов и ответов. Приборчик выполнен в виде маленького картонного кубика с Rasberry Pi 3 внутри. Сборка набора из 12 деталей займёт примерно 1,5 часа.
Читать дальше →

Пиши, не сокращай. Чего мне стало не хватать в публикациях Хабра

Reading time2 min
Views30K
Избегаем оценочных суждений! Дробим предложения. Выкидываем ненужное. Не льем воду.
Факты. Цифры. И без эмоций.

«Информационный» стиль, прилизанный и гладкий, накрыл технические порталы с головой.
Привет постмодерн, теперь наш автор мертв. Уже взаправду.


Читать дальше →

О неизменном: история 9 места Russian AI Cup 2019

Reading time14 min
Views10K

Меня зовут Андрей Рыбалка, я участвую в Russian AI Cup под ником lama и я снова расскажу вам, как не выиграть макбук. Благо, я в этом человек опытный — вот этими вот руками не выиграл уже целых 7 штук.


Итак, задачей этого года был платформер/2D-шутер, для которого нужно было написать бота. Выглядела игра вот так:



Бот выглядел так:



Если вам интересно, как картинка #2 играла в картинку #1, прошу под кат.

Разбираем лямбда-выражения в Java

Reading time14 min
Views40K

image


От переводчика: LambdaMetafactory, пожалуй, один из самых недооценённых механизмов Java 8. Мы открыли его для себя совсем недавно, но уже по достоинству оценили его возможности. В версии 7.0 фреймворка CUBA улучшена производительность за счет отказа от рефлективных вызовов в пользу генерации лямбда выражений. Одно из применений этого механизма в нашем фреймворке — привязка обработчиков событий приложения по аннотациям, часто встречающаяся задача, аналог EventListener из Spring. Мы считаем, что знание принципов работы LambdaFactory может быть полезно во многих Java приложениях, и спешим поделиться с вами этим переводом.


В этой статье мы покажем несколько малоизвестных хитростей при работе с лямбда-выражениями в Java 8 и ограничения этих выражений. Целевая аудитория статьи — senior Java разработчики, исследователи и разработчики инструментария. Будет использоваться только публичный Java API без com.sun.* и других внутренних классов, поэтому код переносим между разными реализациями JVM.

Читать дальше →

Нужно ли регистрировать свой бренд

Reading time3 min
Views10K
При запуске нового продукта, будь-то приложения, сервиса или начала производства товара, обычно сразу возникает вопрос популяризации его бренда.

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

Читать дальше →

Всё, что вы хотели знать о МАС адресе

Reading time9 min
Views248K

Всем известно, что это шесть байт, обычно отображаемых в шестнадцатеричном формате, присвоены сетевой карте на заводе, и на первый взгляд случайны. Некоторые знают, что первые три байта адреса – это идентификатор производителя, а остальные три байта им назначаются. Известно также, что можно поставить себе произвольный адрес. Многие слышали и про "рандомные адреса" в Wi-Fi.


Разберемся, что это такое.


МАС адрес (media access control address) – уникальный идентификатор, назначенный сетевому адаптеру, применяется в сетях стандартов IEEE 802, в основном Ethernet, Wi-Fi и Bluetooth. Официально он называется «идентификатором типа EUI-48». Из названия очевидно, что адрес имеет длину в 48 бит, т.е. 6 байт. Общепринятого стандарта на написание адреса нет (в противоположность IPv4 адресу, где октеты всегда разделяют точками).Обычно он записывается как шесть шестнадцатеричных чисел, разделенных двоеточием: 00:AB:CD:EF:11:22, хотя некоторые производители оборудования предпочитают запись вида 00-AB-CD-EF-11-22 и даже 00ab.cdef.1122.

Читать дальше →

Высокоскоростное машинное зрение в универсальном устройстве для сортировки деталей LEGO

Reading time6 min
Views13K
Последние несколько лет я занимался проектированием и изготовлением машины, которая сможет распознавать и сортировать детали LEGO. Важнейшая часть машины — это Capture Unit, небольшое, почти полностью закрытое отделение, в котором есть конвейерная лента, освещение и камера.


Освещение вы увидите чуть ниже.

Камера делает фотографии поступающих по конвейеру деталей LEGO, а затем передаёт изображения по беспроводному каналу на сервер, выполняющий алгоритм искусственного интеллекта для распознавания детали среди тысяч возможных элементов LEGO. Подробнее об ИИ-алгоритме я расскажу в будущих статьях, а эта статья будет посвящена обработке, которая выполняется между «сырым» выводом видео камеры и входом в нейросеть.

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

Партнерское соглашение или как не погубить бизнес на старте

Reading time9 min
Views40K

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


Если вообще не соблюдать правила гигиены, быть токсичным, не последовательным, корыстным, обманывать других, то до первых денег вообще не добраться. Представим, что все хорошо, вы все молодцы и не за горами время, когда пойдет первая серьезная прибыль. Тут рушатся воздушные замки, которые были так скрупулезно выстроены каждым членом команды. Первый думал, что он главный и он заберет 80% прибыли, так как именно он продал машину и на его деньги жила первое время вся команда. Второй думал, что два основателя получат по 50%, так как он программист и создал то самое приложение, на котором все сейчас зарабатывают. Третий и четвертый думали, что они получат долю в бизнесе, как только пойдут деньги, ведь они работали почти круглосуточно и получали значительно меньше, чем могли бы в том же банке.


В итоге бизнес под угрозой развала. А ведь всего бы этого можно было бы избежать, правильно договорившись на берегу. Как?

Читать дальше →

Как я чуть не выкинул 150к на ветер или история установки приточной вентиляции в квартире

Reading time19 min
Views707K

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


Читать дальше →

Короче, сделал столетний блокбастер цветным

Reading time22 min
Views44K

Синопсис

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


верни картинку взад
Читать дальше →

Витамин D. Краткий экскурс

Reading time8 min
Views119K
Приветствую всех Хаброжителей!

Это мой первый пост, так что, возможно он будет несколько сумбурным – прошу не очень строго судить, но конструктивным замечаниям буду рад. Картинок не будет.

Если мой пост что называется «зайдёт», я планирую осветить ещё некоторые интересные, на мой взгляд, темы, связанные с медициной, фармацией и здоровьем.

Пишу простым языком, с минимумом медицинской и фармацевтической терминологии.
Читать дальше →

Как начать заниматься Bug Bounty

Reading time6 min
Views26K
Друзья, в этом месяце Otus запускает набор на новый курс — «Безопасность приложений». В преддверии старта курса традиционно подготовили для вас перевод полезного материала.




Как начать заниматься Bug Bounty? Этот вопрос весьма распространенный, и я продолжаю получать его в сообщениях день ото дня. Я не могу ответить на каждое сообщение, поэтому решил написать статью и отправлять всех новичков читать ее.

Я занимаюсь Bug Bounty уже пять лет. Тем не менее, есть множество вещей, которых я не знаю, да и сам я не эксперт, поэтому прошу не считать эту статью советом от эксперта. Я просто поделюсь тем, чего достиг за последние 5 лет, совершенствуя свои навыки день ото дня.

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered
Activity