Pull to refresh
20
0

Linux coder

Send message

Введение в Iptables

Reading time6 min
Views103K

Iptables - это мощный инструмент управления сетью в Linux, который позволяет администраторам управлять входящими и исходящими пакетами данных. Это основной инструмент для настройки межсетевых экранов в системах Linux.

Читать далее
Total votes 9: ↑6 and ↓3+3
Comments9

Приложение Getcontact светит вашими персональными данными, даже если вы им никогда не пользовались

Level of difficultyEasy
Reading time5 min
Views160K

Getcontact — мобильное приложение, позиционирующее себя как менеджер звонков и блокировщик спама. Появилось в конце 2017-го и стремительно взлетело на первые места магазинов приложений. Создатели сервиса оценивают свою аудиторию в 400+ миллионов пользователей.

Приложение декларирует, казалось бы, благие намерения: предотвращение нежелательных звонков от спамеров и телефонных мошенников — услуга в современном мире необходимая и востребованная. Однако свою популярность Getcontact приобрёл совсем по другой причине…

Читать далее
Total votes 142: ↑137 and ↓5+162
Comments277

cv3 — делаем OpenCV питоничным

Level of difficultyEasy
Reading time13 min
Views11K

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

Читать далее
Total votes 34: ↑34 and ↓0+34
Comments24

Прощай, открытое образование

Level of difficultyEasy
Reading time2 min
Views70K

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

Но есть один нюанс - чтобы усваивать новые знания и навыки, одного желания часто мало, нужны ещё основы, базовые знания, которые были получены в школе, вузе, самостоятельно, но желательно, чтобы они складывались в систему. Собственно, поэтому образование в тех же вузах часто и называют системным. Да, оно не всегда таким бывает, но всё-таки бывает.

К чему длительное вступление? Сейчас поясню.

Читать далее
Total votes 70: ↑62 and ↓8+71
Comments243

Простая процедурная генерация мира, или Шумы Перлина на Python

Level of difficultyEasy
Reading time5 min
Views20K

Недавно я выпустил статью, в которой рассказал о библиотеке Ursina Engine и показал, как создать свою трехмерную игру на Python. Между разделами вскользь упомянул про шум Перлина. Это один из базовых алгоритмов процедурной генерации, который можно использовать для создания красивых игровых миров. Хочу рассказать о нем подробнее и показать, как работать с модулем perlin-noise.

Если вам интересно, как просто генерировать реалистичные трехмерные ландшафты на Python, добро пожаловать под кат!
Читать дальше →
Total votes 44: ↑44 and ↓0+44
Comments2

Джойстик, тачпад, кнопки — делаем USB контроллер ввода на RP2040

Reading time7 min
Views6.1K

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

Самое простое - это найти готовую клавиатуру, тачпад, джойстик и т.д. и подключить к GPIO или нескольким портам USB основного контроллера. Нормальный вариант, многие так и делают. Но возможно, что либо GPIO не хватит, а может быть USB портов. 

Тогда может быть имеет смысл добавить небольшой и дешевый микроконтроллер и всё-таки собрать свой собственный  геймпад или пульт, оснастив его при этом стандартным USB HID Joystick драйвером для игровых контроллеров. В таком случае контроллер можно будет подключить к любой Win / Linux системе, без необходимости разработки драйвера для USB.

Насколько это сложно? Можно ли сделать свой собственный тачпад?

Попробуем разобраться
Total votes 23: ↑23 and ↓0+23
Comments15

Кто продаёт спутниковые фотографии и сколько они стоят

Level of difficultyEasy
Reading time6 min
Views23K


Статья содержит ответы на ряд популярных вопросов, о возможности строительства и запуска космических спутников, способах и стоимости заказа космической фотосъёмки и о ресурсах, на которых можно найти бесплатные спутниковые фото, а также о том, какую пользу приносит использование спутниковых фото в разных сферах жизни.
Читать дальше →
Total votes 40: ↑38 and ↓2+57
Comments24

Старый софт, LPT и современное железо

Reading time23 min
Views18K

В своей прошлой статье я не был полностью честен. Перед тем, как получить рабочее устройство, я много раз проверял как мой код работает, перезаписывая его на многоразовую флеш AT28С64. И с самого начала знал что отлаживаться придется на железе, а потому встал вопрос программатора параллельных EEPROM.

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

Однако, у отца оказался программатор Omega. На самом деле это не совсем программатор, это базовый блок на основе которого, теоретически, можно собрать множество разных устройств используя разные адаптеры, но один из адаптеров (имеющихся в наличии) — это универсальный программатор Orange. Все это разработки cnc‑lab.com, там же можно найти описание этого железа http://cnc‑lab.com/omega.htm . Но есть одна небольшая загвоздка: у меня современные компьютеры с Windows 10 и Windows 11, а этот программатор использует LPT. И нужно было как‑то из этой ситуации выходить.

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

Читать далее
Total votes 47: ↑46 and ↓1+63
Comments33

Безграничные возможности FFmpeg на примерах

Level of difficultyEasy
Reading time12 min
Views56K

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

FFmpeg объединяет более 300 видео/аудио/графических кодеков, декордеров, муксеров, демуксеров и фильтров. Благодаря ему вы можете написать собственный видеоплеер в тысячу строчек кода, не разбираясь с кишочками видеообработки.

Это «движок» почти всех современных инструментов для обработки/сжатия/редактирования видео. Они просто предлагают графический интерфейс с кнопками, а ffmpeg делает реальную работу.
Читать дальше →
Total votes 101: ↑98 and ↓3+127
Comments84

Минималистичный YouTube. Расширения для браузера и альтернативные клиенты

Level of difficultyEasy
Reading time7 min
Views66K

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

Один из главных «нарушителей» — YouTube. Стоило один раз посмотреть пляжный волейбол на Олимпийских играх — и он уже несколько лет показывает женщин в купальниках на главной странице (пример). Даже неудобно открывать YouTube в присутствии сына…

Непрошеные и неуместные рекомендации видео — общая проблема, на которую часто жалуются. К счастью, их легко заблокировать, как и весь остальной мусор. Можно ходить на серверы YouTube через кастомный фронтенд, через сторонние клиенты или вообще из консоли. Некоторые альтернативные способы просмотра особенно актуальны в свете потенциальной блокировки YouTube на территории РФ.
Читать дальше →
Total votes 109: ↑106 and ↓3+127
Comments80

Что нам несет Python 3.12

Reading time3 min
Views34K

Переписали виртуальную машину на новый DSL

И теперь ее гораздо проще менять, оптимизировать и проводить эксперименты.

В качестве примера, можно посмотреть на попытку добавления register-based интерпретатора. Другой пример, что часто два опкода идут вместе и выполняются последовательно большую часть времени. Например, LOAD_CONST и RETURN_VALUE. Для оптимизации, можно добавить новый опкод этой операции. Вместо двух действий он будет выполнять одно. На частых задачах получится неплохая прибавка к производительности. 

Еще один пример: опкод CALL_FUNCTION. Сам по себе довольно медленный. У него есть целая семья оптимизаций, например специализация CALL_FUNCTION_ISINSTANCE, когда мы выкидываем промежуточный слой и сразу вызываем C-реализацию isinstance. Минус в том, что Python богатый и динамически типизированный язык. В runtime может что-то поменяться и мы получим замедление — придется сваливаться обратно на общий путь опкода CALL_FUNCTION.

Читать далее
Total votes 44: ↑44 and ↓0+44
Comments10

Полное руководство по модулю asyncio в Python. Часть 8

Reading time24 min
Views15K

Перед вами восьмая часть (1234567) перевода руководства по модулю asyncio в Python. Здесь вы найдёте разделы исходного материала с 20 по 22.

Читать далее
Total votes 15: ↑15 and ↓0+15
Comments2

Полноценный x86 нетбук за ~100 рублей (1.5$). Оживляем старичка в 2022 и находим ему применение

Reading time12 min
Views23K
Рубрика с копеечным компьютингом вам очень зашла: судя по количеству плюсов и комментариев, в наше время тематика бюджетных девайсов становится всё более актуальной. В прошлые разы мы с вами купили игровую консоль за 500 рублей и смартфон за те же 500 рублей, из которого сделали миниатюрный домашний веб-сервер. Недавно я искал интересные объявления на онлайн-барахолках и нашёл интересное объявление о продаже смартфонов, аккумуляторов, зарядников и Asus EeePC 1011px менее чем за 1.000 рублей. Интересно? Тогда добро пожаловать в статью!

image
Читать дальше →
Total votes 42: ↑34 and ↓8+34
Comments167

Поэтический редактор: Rust + Tauri

Reading time16 min
Views9.7K

В чём-то сочинение стихов похоже на написание кода — имеет значение только "чистый" текст — и этот текст, как и код, подчиняется определенным правилам. Поэту могли бы пригодиться те самые "автоподсказки" и подсветка кода стихов. Может, даже с какой-то поддержкой рефакторинга, помочь поэту найти слабое место. Но найти что-то подобное (особенно на русском языке) у меня не вышло. Например, на запрос poetry editor в основном выпадают сервисы по найму редакторов-людей. Проекты, конечно, есть, но они либо слабые, либо мёртвые (поправьте меня, если я неправ).

Значит, задумал я на коленках склепать IDE для поэтов…

Читать далее
Total votes 64: ↑64 and ↓0+64
Comments29

Меньше точно не бывает! Делаем вольтметр на ATTINY10

Reading time4 min
Views19K

В продолжение к прошлой статье решил пощупать и Attiny10. Ну меньше уже точно ничего нет. Если и есть такое извращение с 4 ногами, я о нем не знаю, точнее не нашел.

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

Читать далее
Total votes 60: ↑58 and ↓2+79
Comments75

Как хостить телеграм-бота (и другие скрипты на Python) на Repl.it бесплатно 24/7

Reading time3 min
Views137K

Очень часто возникающий вопрос: где можно разместить скрипты на Python, Flask-приложение, телеграм или дискорд ботов?

Один из вариантов — на своем компьютере при наличии внешнего IP-адреса и опыта в настройке проброса портов на роутере.

Цель этот статьи - подробная инструкция, как сделать хостинг Python-скриптов бесплатно и доступным 24/7 на примере телеграм-бота

Читать далее
Total votes 18: ↑17 and ↓1+17
Comments45

Реверс инжиниринг в домашних условиях

Reading time4 min
Views16K

Добрый день, хочу поделиться с читателями своим практическим опытом обратной разработке электронных плат. Эта статья будет ещё интересна предметом своего исследования. На примере я покажу как разобраться в работе устройства. При необходимости можно составить принципиальную электрическую схему и повторить печатную плату. Для примера я взял плату оси YAW гиростабилизированного подвеса камеры квадрокоптера dji mavic mini.

Итак приступим! Всю работу можно поделить на несколько этапов:

Читать далее
Total votes 58: ↑53 and ↓5+66
Comments43

Lazarus-AVR, №1. Программирование микроконтроллеров AVR в IDE Lazarus

Level of difficultyEasy
Reading time3 min
Views8.6K

Вот появилось желание написать небольшой проектик для себя с применением микроконтроллера. В CodeVisionAVR команды не подсвечиваются по Ctrl+Пробел, да и Си что-то начал забывать, вспоминать - лень... Конечно, вспомнить Си - это 10-30 минут, но лень... Поэтому, было решено начать проект в родной IDE Lazarus, она же кросс-компилируемая! Правда, понять, как включить avr в Lazarus, чтоб компилировался hex-файл ушло 3 дня :), поэтому пишу здесь, чтоб другие не мучались, а сразу пользовались.

Читать далее
Total votes 35: ↑35 and ↓0+35
Comments23

Посторонним вход воспрещен

Reading time9 min
Views23K
Тебе никогда не приходила в голову мысль о том, что идея использовать логин и пароль для входа в систему несколько устарела? Почему, имея в одном кармане флешку, в другом — телефон, а на компе установленный SSH с настроенной авторизацией при помощи ключей, мы продолжаем вводить эти запутанные пароли?

Читать дальше →
Total votes 3: ↑3 and ↓0+3
Comments5

Как я запустил Doom на дешевом кнопочном телефоне

Reading time5 min
Views35K

Использовал кнопочный телефон, ворующий деньги со счёта, для запуска Doom: краткая история, небольшой обзор компонентов чипа/телефона, жалоба на закладки в прошивке и пожелания к созданию открытого API для создания своих приложений. Также некоторые ссылки (пока опубликована лишь часть кода нужного для запуска игры).

Читать далее
Total votes 120: ↑119 and ↓1+159
Comments60

Information

Rating
Does not participate
Location
Тара, Омская обл., Россия
Date of birth
Registered
Activity