В этой статье я хочу показать, как можно использовать преобразователи USB-UART в качестве простейших плат цифрового ввода-вывода без использования микроконтроллеров. Только светодиоды, транзисторы и простые дешёвые логические микросхемы. Помигаем светодиодами, считаем кнопки и создадим интерфейс I2C.
User
NFC-видеотека для моих детей
В детстве у нас с сестрой была гора VHS-кассет, которые мы бесконечно пересматривали. Современная видеоколлекция моих детей сильно от них отличается. Она полностью цифровая и разбросана по разным сервисам. Я хотел поделиться с ними магией осязаемости носителя из моего детства.
У меня двое пацанов, старшему разрешается посмотреть полчаса телевизор с утра и ещё полчаса вечером. Обычно он точно знает, что хочет посмотреть, но ему приходится ждать, пока кто-то из родителей возьмёт пульт и откроет нужное приложение.
Это заставило меня задуматься: почему бы не объединить новое и старое? Я хотел, чтобы у сына была более активная роль в выборе того, что он хочет посмотреть, несмотря на цифровой формат.
Несколько лет назад я увидел, как кто-то распечатал любимые музыкальные альбомы с NFC-меткой внутри, и решил сделать что-то подобное для своих детей.
Руководство по межпроцессному взаимодействию (IPC) в Linux — Часть 2
Представляю вашему вниманию вторую часть перевода статьи A guide to inter-process communication in Linux.
Первая часть перевода была посвящена общему введению в курс дела и механизму разделяемого хранилища (shared storage). В этой части будут рассмотрены механизмы каналов (именованных и неименованных) и очереди сообщений.
Приятного чтения!
Linux Pipes – медленные
Я пишу программу для сверхбыстрого кодирования/декодирования азбуки Морзе и использую pipe для передачи данных. При этом pipe работает очень медленно. Давайте разберемся почему.
Как сделать безопасную загрузку с полностью зашифрованным диском на Linux без загрузчика на UEFI
Наша новая статья — для довольно искушённых пользователей Linux. В ней DevOps-инженер Алексей Гаврилов разобрал, как установить Debian или аналогичный дистрибутив на полностью зашифрованный диск без загрузчика на UEFI с включённым Secure Boot.
После завершения установки вы получите включённый Secure boot с использованием личных ключей для подписи EFI-файлов, подписанные ключом файл ядра и initramfs, а также зашифрованные разделы диска за вычетом EFI boot. Это позволит уменьшить возможность векторного взлома ноутбука и усложнит жизнь потенциальному взломщику, поскольку в его распоряжении будут только подписанные EFI-файлы.
Рукопись моей первой книги о Java
Статья о том, как я просто писал статьи на ИТ-тематику в личный блог, как вдруг получил контракт от издательства. Много работал и страдал. Прошёл через кучу этапов и написал рукопись своей первой книги о Java и её изменениях от версии к версии. Как чуть не переделал все перед самым концом, но довёл до конца и отдал текст редактору на следующий этап. Как отдохнул и переосмыслил увиденное и решил поделиться полученным знанием со всеми остальными.
«Я просыпалась в 3 ночи и пыталась работать»: Как доводить дела до конца, не убивая себя
Однажды я выгорела. В пепел. В пыль. В труху. Степень выгорания Well Done. Сначала винила себя. Было стыдно за то, что не могу работать. Потом я пыталась найти решение проблемы. Пересмотрела, наверное, 100 видосов. Но все предлагали какую-то нерабочую фигню. В итоге помог мне один простой алгоритм.
Сейчас разберу его по полочкам :)
Если вам лень читать, можете посмотреть мой видосик на эту тему
Джон Кармак: Недельный отпуск, проведенный за программированием
После многолетнего перерыва я наконец решился взять ещё один отпуск, который провёл за программированием. Целую неделю я смог спокойно работать в режиме отшельника вдали от привычного давления работы. Моя жена великодушно предлагала мне взять такой отпуск вот уже несколько лет, но отпуск и я — это в принципе слабо совместимые вещи.
В качестве смены обстановки после моей текущей работы на Oculus, я хотел написать с нуля на C++ несколько реализаций нейронных сетей, и планировал сделать это, используя строго систему OpenBSD. Кто-то из моих знакомых заметил, что это достаточно случайный набор технологий, но в итоге всё сработало хорошо.
Несмотря на то, что мне не приходилось использовать OpenBSD в своей работе, мне всегда нравилась её идея – это относительно минималистичная и самостоятельная система с целостными видением, а также акцентом на качество и мастерство. Linux способен на многое, но целостность – это не про Linux.
Я не являюсь ярым фанатом Unix. Я неплохо справляюсь с этой операционной системой, но комфортнее всего мне работается в Visual Studio под Windows. Я подумал, что неделя погружения в работу в стиле старой школы Unix по полной будет мне интересна — пусть даже если это и будет означать, что я буду работать медленнее. Это было своего рода приключение в духе ретрокомпьютинга — моими лучшими друзьями на время стали fvwm и vi. Заметьте — не vim, а самый настоящий настоящий vi из BSD.
Как настроить автодополнение для команды ssh с хостами из .ssh/config
Я администрирую много серверов и параметры подключения к ним занесены в ~/.ssh/config
файл. В этой статье я расскажу, как настроить автодополнение для команды ssh
, чтобы Bash подсказывал хосты, указанные в файле ~/.ssh/config
.
Руководство Google по стилю в C++: 2019 — 2024
Все мы при написании кода пользуемся правилами оформления кода. Иногда изобретаются свои правила, в других случаях используются готовые стайлгайды. Однако, любой стайлгайд со временем корректируется и дорабатывается: иногда этому способствуют обновление стандартов языка, иногда меняются тенденции.
В статье приведены изменения Руководства Google по стилю в C++ за 5 лет: с 2019 по 2024.
Краткое содержание изменений:
+ C++20 - NULL + концепты - #pragma + constinit - std:hash + consteval - u8 + аргументы-ссылки - ENUM_VALUE_NAME + повесточка и "they" в единственном числе - здравый смысл
Корутины? Простейшая имплементация на C, protothread и Arduino
*иногда хочется уйти от управляемых будней
Корутины — это функции, которые могут приостанавливать своё выполнение и возобновлять его позже, сохраняя своё состояние между вызовами. Это позволяет выполнять несколько задач одновременно без необходимости создания отдельных потоков или процессов.
Как в разы увеличить дальность приема WiFi / BT при помощи паяльника
Ну или точнее при помощи двух паяльников. Несколько простых и эффективных решений, подходящих для компактных модулей с чип антенной.
Разгоняем C++ с кастомными аллокаторами
Привет, Хабр!
Сегодня мы обратим свой взор на производительность в C++, и как ни странно, нашими главными героями станут не библиотеки или сложные алгоритмы, а казалось бы, простые аллокаторы. Но не просто аллокаторы, а кастомные, которые могут заметно ускорить работу приложений.
P2P общего назначения
IT-индустрия совершила интересный виток развития в последние десятилетия. На заре IT-революции, когда компьютеры были дорогими, их ресурсы, хоть и скромные по нынешним временам, нужно было использовать эффективно. Это привело к появлению многопользовательских OS, например, семейства UNIX, созданию компьютерных сетей и появлению протоколов удаленного доступа.
Стремительное развитие производительности чипов и удешевление железа привело к революции персональных компьютеров. Однако опережающий рост вычислительных потребностей запустил развитие на новый круг. Сейчас найдется немного компаний и организаций, которые обходятся исключительно персональными компьютерами и сервисами в локальной сети. Когда-то диковинные IaaS, PaaS, SaaS, распределенные вычислительные технологии плотно вошли в жизнь. Доступ к удаленным системам — обыденная потребность не только для администраторов и программистов. Все знают о протоколах ssh, rdp, vnc, многие пользуются TeamViewer, AnyDesk, Remmina, X2Go и т. п. Ввиду того, что IPv4 сети и порожденный ими NAT пока еще более чем актуальны, не каждое из перечисленных средств позволяет подключиться к машине, находящейся за NAT, если у вас нет возможности пробросить порты.
Создаём личный шрифт
Для иллюстраций, над которыми я работаю, часто необходим текст. Но я не хочу использовать готовые шрифты. При работе с иллюстрациями в браузере использование «веб‑безопасного» шрифта может привести к непредсказуемому результату, да и вообще использование внешних шрифтов порой сильно увеличивает размер файла с иллюстрацией.
Вместо использования готовых шрифтов я создала свой собственный, используя p5.js и JavaScript.
Об особенностях электротехнических (и не только) сообществ: параллельные IT‑миры задают каверзные вопросы про JTAG
Несколько мыслей (и одно смелое предложение) о малозаметных парадоксах экспертности в инженерно-технических сообществах.
Интересные приёмы, взятые из исходников Android
В процессе чтения исходников Android SDK я замечал интересные механики и приёмы написания кода, какие-то из них до сих пор используются при создании новых библиотек, другие, напротив, заменены более логичными и понятными конструкциями. В этой статье я постараюсь перечислить всё, что смог заметить сам при изучении исходников Android'а. Сразу отмечу: эта статья не претендует на полноту материала и возможно вы нашли даже больше интересных моментов при чтении кода, ладно, погнали, короче!
Дружим iPhone и ESP32. Часть 1. ESP Arduino Core
В данной части статьи я простым языком поведаю вам о том, как написать собственный BLE сервис на микроконтроллере ESP32 для дальнейшего управления непосредственно с iPhone, а так же раскрою пару фишек, благодаря которым вы сохраните себе своё время и нервы.
Еще один способ передачи данных по радиоканалу
Эта статья написана по мотивам вот этой. Чтобы повторить успех к имеющейся Baofeng uv-5r была приобретена Quansheng uv-k5, а потом и ещё одна uv-k5, потому что uv-5r очень долго активировал функцию VOX. Кейс очень интересный, но практически использовать его тяжеловато из-за низкой скорости передачи. Ниже описана попытка избавиться от этого недостатка.
Как я дал вторую жизнь некроноуту Fujitsu Siemens amilo pro v2035 с помощью lubuntu
Ещё со студенческой скамьи у меня остался ноутбук Fujitsu, который тогда верой и правдой мне служил для постижения азов Паскаля и Си, а также для серфинга интернетов и героев 3.
Конечно же, более-менее современные ОС не рассчитаны на машину с одноядерным процессором Celeron и 1Gb оперативной памяти, поэтому я обратился к легким
дистрибутивам линукса.
Целью было поупражняться с линуксом, получить работающую консольку для каких-то повседневных задач, вроде запуска какого-нибудь простейшего бота, установки напоминалок крона или хостинга статического сайта.
Information
- Rating
- Does not participate
- Registered
- Activity