Pull to refresh
16
0
Сергей Филатов @Admin_Filatov

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

Send message

Создание камеры-ловушки с использованием Raspberry Pi, Python, OpenCV и TensorFlow

Reading time6 min
Views16K


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

Я начну рассказ о моём новом проекте с того, что раскрою причины, по которым решил попытаться создать камеру-ловушку на основе Raspberry Pi.

Я живу в Лондоне, мой сад часто посещают местные представители дикой природы. Случается это так часто, что я, заядлый садовник, мало-помалу начал расстраиваться. Разбитые горшки, выкопанные из земли растения, съеденные фрукты и овощи…

Я видел в своём саду маленьких лис (они — просто прелесть), больших лис, кошек (не моих), птиц. А однажды меня даже посетил ястреб-перепелятник.
Читать дальше →
Total votes 32: ↑24 and ↓8+26
Comments12

Зачем программистам психотерапия и как устроен алгоритм подбора идеального терапевта

Reading time19 min
Views11K
Четырнадцатого октября прошёл прямой эфир с главным евангелистом mental health в нашей IT-тусовке — создатель языка Kotlin и основатель стартапа Alter Андреем Бреславом.
Делимся с вами расшифровкой и записью интервью

Total votes 24: ↑20 and ↓4+27
Comments13

Заводим GNU/Linux на ARM-плате с нуля (на примере Kali и iMX.6)

Reading time5 min
Views20K
tl;dr: собираю образ Kali Linux для ARM-компьютера, в программе debootstrap, linux и u-boot.



Если вы покупали какой-нибудь не очень популярный одноплатник, то могли столкнуться с отсутствием для него образа любимого дистрибутива. Приблизительно то же самое случилось с планируемым Flipper One. Kali Linux под IMX6 просто нету (я готовлю), поэтому собирать приходится самостоятельно.
Читать дальше →
Total votes 23: ↑19 and ↓4+30
Comments15

Умное зеркало своими руками

Reading time6 min
Views74K
Кому нужно умное зеркало? Много кому. Я, когда такое увидел, тут же захотел выбросить наш календарь с маркерной доской. Майкл Тиув проделал потрясающую работу по созданию отличной расширяемой платформы для умных зеркал, которая позволяет всем желающим самостоятельно делать такие зеркала. Если вам эта тема интересна — загляните на сайт проекта MagicMirror.

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

Для тех, кто раньше с умными зеркалами не сталкивался, опишу в двух словах суть проекта. За зеркалом, прозрачным с одной стороны, размещают монитор. При идеальном освещении всё, что на экране выведется чёрным, будет выглядеть как зеркало. А всё белое (или имеющее другой высококонтрастный цвет) будет просвечивать сквозь зеркало. Мне хотелось сделать нечто вроде информационной панели для всей семьи, на которую выводились бы календари, списки покупок, сведения о погоде. Я подумывал и о том, чтобы встроить в это зеркало AlexaPi (подробнее об этом я расскажу позже). Я заинтересовал жену рассказом о том, как это зеркало улучшит нашу жизнь и поможет быстрее справляться с делами, и принялся за работу.


Умное зеркало
Total votes 48: ↑42 and ↓6+56
Comments32

Как сэкономить на покупке ноутбука: Docker Remote API via TLS

Reading time6 min
Views26K
Совсем недавно я решился на покупку личного ноутбука. Разработка open-source проекта (приложение для Flipper) и смена места работы вынудили меня больше не использовать рабочий ноутбук для личных целей. И тут уже жалко было отдавать стоимость поддержанной Hyndai Solaris за ноутбук (на работе у меня топовая конфигурация 16" MacBook).



Поэтому решено было поумерить свой пыл и взять нищебродский самый дешевый MacBook Air 13" за 80 тысяч рублей. Однако, на mac Docker сжирает непомерное количество ресурсов, поэтому после покупки пришлось думать как же решить эту проблему. Сразу же пришла идея вынести Docker Engine куда-нибудь в онлайн. Сказано — сделано.
Читать дальше →
Total votes 41: ↑34 and ↓7+45
Comments37

Реализация epoll, часть 1

Reading time6 min
Views15K
Сегодня мы публикуем перевод первой статьи из серии материалов, посвящённых реализации epoll в ядре Linux 3.16.1*. Автор исходит из предположения о том, что читатели знакомы с API и с использованием epoll. Он уделяет основное внимание реализации подсистемы epoll в ядре Linux, а не особенностям её применения. Если вы не знаете о том, как пользоваться epoll — автор рекомендует сначала почитать документацию. Это значительно облегчит понимание деталей реализации этого механизма.



* — Linux 3.16.1 достаточно старое ядро, но информация работы с epoll актуальна и сегодня (прим. переводчика).
Читать дальше →
Total votes 33: ↑32 and ↓1+50
Comments15

Заметки Дата Сатаниста: честность модели

Reading time4 min
Views8.3K
Один из ключевых фундаментальных принципов обработки данных, согласно GDPR, это право человека на объяснение принятого решения и честность этого решения.

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


Картинка взята отсюда

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

Задача: по данным пользователя выдать решения и вероятности того, что не произойдет дефолта кредита. Причем таким образом, чтобы наши модели машинного обучения не попали под раздачу со всеми законами о дискриминации.
Читать дальше →
Total votes 25: ↑22 and ↓3+34
Comments6

Кибердека ZBS

Reading time4 min
Views15K
После того, как я насмотрелся на посты про кибердеки на Hackaday, я решил переделать в кибердеку один из моих старых проектов похожей направленности, в котором использовалась плата Raspberry Pi. На тот момент разработка кибердеки должна была стать моим самым масштабным экспериментом в области 3D-моделирования. На 3D-печать компонентов этого проекта должно было уйти больше времени, чем уходило до этого на печать частей для других проектов. Расскажу о том, как это было.


Кибердека
Total votes 28: ↑26 and ↓2+39
Comments19

Анонс: все что вы хотели узнать про Devops, но боялись спросить

Reading time1 min
Views4.5K


СЕГОДНЯ, 19 октября, в 20:30 в наших соцсетях выступит Александр Чистяков, DevOps с 7-летним опытом и сооснователь Санкт-Петербургского сообщества DevOps-инженеров.

Саша один из топовых докладчиков в этой сфере, он выступал на главных сценах на Highload++, РИТ++, PiterPy, Стачка, всего сделав не менее 100 докладов.



Total votes 18: ↑15 and ↓3+21
Comments9

Системы защиты Linux

Reading time9 min
Views51K
Одна из причин грандиозного успеха Linux ОС на встроенных, мобильных устройствах и серверах состоит в достаточно высокой степени безопасности ядра, сопутствующих служб и приложений. Но если присмотреться внимательно к архитектуре ядра Linux, то нельзя в нем найти квадратик отвечающий за безопасность, как таковую. Где же прячется подсистема безопасности Linux и из чего она состоит?

Предыстория Linux Security Modules и SELinux


Security Enhanced Linux представляет собой набор правил и механизмов доступа, основанный на моделях мандатного и ролевого доступа, для защиты систем Linux от потенциальных угроз и исправления недостатков Discretionary Access Control (DAC) — традиционной системы безопасности Unix. Проект зародился в недрах Агентства Национальной Безопасности США, непосредственно разработкой занимались, в основном, подрядчики Secure Computing Corporation и MITRE, а также ряд исследовательских лабораторий.


Linux Security Modules
Читать дальше →
Total votes 35: ↑34 and ↓1+48
Comments8

Сборка недорогой домашней NAS-системы на Linux

Reading time7 min
Views91K


Я, как и многие другие пользователи MacBook Pro, столкнулся с проблемой недостачи внутренней памяти. Если говорить точнее, то используемый мной ежедневно rMBP был оснащен SSD объемом всего 256GB, чего, естественно, надолго не хватало.

А когда я плюс ко всему стал записывать видео во время своих полетов, ситуация только усугубилась. Объем заснятых материалов после таких полетов составлял 50+ GB, и мой несчастный SSD на 256GB очень скоро заполнился, вынудив меня приобрести внешний диск на 1TB. Тем не менее, спустя один год, и он перестал справляться с генерируемыми мной объемами данных, не говоря уже о том, что недостаток избыточности и резервного копирования делали его неподходящим для размещения важной информации.

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

Эту статью я написал в первую очередь как памятку о том, что именно и как я делал на случай, если мне потребуется сделать это снова. Надеюсь, что и для вас она окажется полезна, если вы соберетесь делать то же самое.
Читать дальше →
Total votes 52: ↑35 and ↓17+34
Comments175

Шнурок на шею для Raspberry Pi, по которому подаётся питание

Reading time3 min
Views11K
Есть одна проблема, которую я пытаюсь решить уже несколько лет. Как быть, если хочется носить Raspberry Pi на шее, на шнурке, но при этом не хотелось бы, тоже на шее, носить громоздкий аккумулятор? Сначала я подумал, что можно прикрепить USB-кабель питания к шнурку, но чтобы это сделать, потребовалось бы слишком много возни. Тогда у меня появилась идея: «А что если USB-кабель сам будет шнурком?». Сегодня я расскажу о том, что получилось из этой идеи.


USB-кабель в роли шнурка
Total votes 21: ↑18 and ↓3+22
Comments16

Готовим DRP — не забудьте учесть метеорит

Reading time6 min
Views29K

Даже во время катастрофы всегда есть время на чашку чая

DRP (disaster recovery plan) — это штука, которая в идеале никогда не понадобится. Но если вдруг мигрирующие в брачный период бобры перегрызут магистральное оптоволокно или джуниор-админ дропнет продуктивную базу, вы точно хотите быть уверены, что у вас будет заранее составленный план, что с этим всем безобразием делать.

Пока клиенты в панике начинают обрывать телефоны техподдержки, джуниор ищет цианиды, вы с мудрым видом вскрываете красный конверт и начинаете приводить все в порядок.

В этом посте я хочу поделиться рекомендациями, как надо писать DRP и что он должен содержать. А еще мы рассмотрим следующие штуки:

  1. Научимся думать как злодей.
  2. Разберем пользу чашки чая во время апокалипсиса.
  3. Продумаем удобную структуру DRP
  4. Посмотрим, как нужно его тестировать
Читать дальше →
Total votes 23: ↑22 and ↓1+33
Comments16

Visx — коллекция графических примитивов для React-приложений, созданная в Airbnb

Reading time10 min
Views8.9K
После 3 лет разработки и 2,5 лет использования в продакшн-проектах Airbnb, после переписывания кода на TypeScript, мы рады представить вам официальный релиз коллекции графических примитивов visx 1.0  (раньше она называлась vx). Вот — страница проекта на GitHub. Документацию и примеры можно найти на airbnb.io.



Мы поставили себе цель, которая заключалась в том, чтобы унифицировать стек технологий визуализации данных, применяемый во всех проектах Airbnb. В ходе движения к этой цели мы создали новый проект, в котором объединена мощь D3 и удобство React. Среди сильных сторон visx мы можем отметить следующие:

  • Использование коллекции способствует созданию бандлов приложений маленького размера. Дело в том, что visx разбита на множество пакетов. Поэтому при её использовании в некоем проекте можно взять из неё лишь то, что нужно.
  • Коллекция спроектирована так, чтобы не навязывать программистам некие предопределённые схемы работы. Используя visx, разработчик может использовать собственную систему управления состоянием приложения, свою библиотеку анимации или подходящее ему CSS-in-JS-решение. Высока вероятность того, что при создании вашего React-приложения уже приняты решения о том, как в нём выполняются анимации, о том, какой подход используется для работы с темами, о том, как стилизуются элементы. Visx, в этом плане, ничего нового в приложения не добавляет. Библиотека интегрируется со всем тем, что уже есть в проект.
  • Это — не коллекция элементов, «заточенная» под создание графиков. Если вы будете пользоваться визуализационными примитивами для создания графиков, то вы, в итоге, создадите собственную библиотеку, решающую эту задачу. Причём, это будет библиотека, оптимизированная под ваши нужды. Она будет находиться под вашим полным контролем.
Читать дальше →
Total votes 37: ↑37 and ↓0+37
Comments1

Появится ли Porsche у хакспейса? Интервью с Пашей Жовнером: богомолом и создателем Flipper Zero

Reading time15 min
Views11K

21 августа мы поговорили в прямом эфире с Павлом Жовнером. В прошлом месяце zhovner со своей командой запустил на кикстартере тамагочи для хакеров Flipper Zero.

Целью было $60 000, но меньше, чем за сутки, флиппер собрал миллион долларов, а к финалу собранные деньги приблизились к отметке $5 млн.

Как и многие хабровчане, я наблюдала за проектом уже почти год. Больше всего меня восхищало, как Паша набрал сильную команду под проект без финансирования и твердой рукой вел ее к готовому продукту и окупаемости: именно об этом мы и поговорили. А также о том, куда пойдут деньги, как мотивировать самого себя и как именно собралась команда флиппера.
Total votes 43: ↑30 and ↓13+30
Comments31

23 полезнейших Node.js-библиотеки, о которых стоит знать в 2020 году

Reading time3 min
Views28K
Профессиональному Node.js-разработчику нужно быть в курсе того, что происходит в сфере пакетов, предназначенных для этой платформы. Ему нужно знать о том, что вышло свежего, и о том, какие пакеты, используемые для решения различных задач, пользуются популярностью. Дело тут в том, что разработка ПО в наши дни зависит от библиотек. Знание хороших библиотек способствует повышению производительности труда программиста и помогает ему разрабатывать качественные приложения. Сегодня мы поговорим о 23 полезных пакетах для Node.js.


Читать дальше →
Total votes 40: ↑27 and ↓13+25
Comments32

7 расширений для VS Code, установив которые, вы не захотите выходить из редактора

Reading time4 min
Views50K
…Даже простейшие инструменты могут давать людям возможность делать великие дела.
Биз Стоун, «Решайся! Заряд на создание великого от основателя Twitter»

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



Многие программисты используют в наши дни Visual Studio Code. Этот редактор кода поддерживает установку расширений. Существует столько подобных расширений, что можно говорить о том, что возможности настройки VS Code практически безграничны.

Но на Visual Studio Marketplace, на площадке, где публикуются расширения для VS Code, опубликовано просто невероятное количество расширений. А это значит, что программистам сложно находить именно то, что им действительно пригодится. Если некое расширение показалось кому-то полезным, то оно, вполне возможно, принесёт пользу и другим людям. Поэтому я расскажу здесь о 7 расширениях для VS Code, которые способны значительно облегчить работу программиста. Всё это — бесплатные расширения. Любой может свободно их загружать и использовать.
Читать дальше →
Total votes 58: ↑35 and ↓23+26
Comments64

Расшифровка эфира с Джоном Ромеро: байки о том, как создавался DOOM

Reading time16 min
Views10K

10 августа в наших соцсетях прошел стрим с Джоном Ромеро — создателем игр Doom, Quake и Wolfenstein 3D. Это был вечер теплых ламповых историй по заявкам: вы задавали вопросы в комментариях, а Джон рассказывал, как все было.

Вопросы задавал автор телеграм-канала и подкаста Запуск завтра Самат Галимов.

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

Тебя знают во всём мире как создателя DOOM и Dangerous Dave. Это очень популярные игры, а какую игру ты создал первой?


Наверное, приключенческую игру, когда начал учиться программировать на языке BASIC на мэйнфрейме в университете.

Total votes 43: ↑43 and ↓0+43
Comments15

Поиск лучшего фронтенд-инструмента 2021 года

Reading time5 min
Views18K
Любой, кто начинает карьеру в сфере разработки программного обеспечения, скорее всего столкнётся с задачей выбора первого языка, фреймворка или набора инструментов. Уверен, каждому из вас это знакомо. Ответ на вопрос о том, что нужно изучать самым первым, найти не так уж и просто. Всё дело в том, что в индустрии программирования существует очень много языков и вспомогательных инструментов. Для того чтобы облегчить выбор инструментов тем программистам, которые нацелены на фронтенд-разработку с использованием JavaScript, я решил рассказать о трёх популярных JS-инструментах.



Речь пойдёт об Angular, React и Vue. Сначала я приведу материалы некоторых исследований, что поможет нам понять «расстановку сил» на арене современной веб-разработки. А потом расскажу о преимуществах и недостатках этих инструментов.
Читать дальше →
Total votes 26: ↑15 and ↓11+15
Comments71

Ядерный шелл поверх ICMP

Reading time9 min
Views16K


TL;DR: пишу модуль ядра, который будет читать команды из пейлоада ICMP и выполнять их на сервере даже в том случае, если у вас упал SSH. Для самых нетерпеливых весь код на github.

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

В комментариях к моей первой статье упомянули SoftEther VPN, который умеет мимикрировать под некоторые «обычные» протоколы, в частности, HTTPS, ICMP и даже DNS. Я представляю себе работу только первого из них, так как хорошо знаком с HTTP(S), а туннелирование поверх ICMP и DNS пришлось изучать.
Читать дальше →
Total votes 49: ↑48 and ↓1+70
Comments57

Information

Rating
Does not participate
Registered
Activity