Как стать автором
Обновить
21
0
Lesha Lomalkin @lomalkin

Линуксоид и электронщик

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

Рисуем рабочий процессор в Paint и запускаем на нём ОС | Ритуал по призыву демона Тьюринга

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


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

Термос этот он нашёл на улице и хотел перепрошить его маленький и беззащитный Cortex-M0+.
Человек бредил. Раз в пару минут его глаза загорались и он издавал душераздирающий крик: «Если что-то существует, то на этом можно запустить Doom!».

Но действительно ли это так? И что вообще значит «запустить»?

Почему нельзя просто вывести изображение логотипа или распиновать VGA для вывода изображения на дисплей абсолютно любого устройства?
Ведь все так и делают)


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

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

Ну а если вы всё ещё здесь — добро пожаловать под кат.
Читать дальше →
Всего голосов 46: ↑54.5 и ↓-8.5+63
Комментарии13

Тест самых выгодных батареек AA и AAA

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров54K
Цена батареек AA/AAA на кассах супермаркетов уже достигла 300 рублей за 4 штуки, но конечно же покупать их там не стоит. Гораздо выгоднее покупать батарейки на маркетплейсах, причём если брать упаковки по 40 штук, цена будет гораздо ниже.

Чтобы провести этот эксперимент, мне пришлось купить 400 батареек: я купил и протестировал по пять видов щелочных (alkaline) батареек AA и AAA в такой упаковке, при этом цена за штуку составила от 11 до 16 рублей. Оказалось, что батарейки с близкой ценой очень сильно отличаются.



Читать дальше →
Всего голосов 121: ↑121 и ↓0+121
Комментарии75

Призыв писать компактное ПО, версия 2024 года (с примером кода)

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

Этот пост посвящён памяти Никлауса Вирта, первопроходца в сфере вычислительных наук, ушедшего от нас 1 января этого года. В 1995 году он написал важную статью A Plea for Lean Software, и в своём посте я постараюсь воспроизвести её почти тридцать лет спустя, с учётом современных кошмаров разработки ПО.

Очень короткая версия поста: современные способы разработки/сборки ПО смехотворны, они приводят к созданию пакетов на 350 МБ для рисования графиков, а простые продукты импортируют 1600 зависимостей неизвестного происхождения. Уровень безопасности ПО ужасен, ведь он зависит и от качества кода, и от его объёма. Многие из нас понимают, что ситуация нерациональна. К сожалению, многие программисты (и их руководство) никогда не работали как-то иначе. А остальным редко выделяют время, чтобы выполнять работу качественно.

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

Надеюсь, этот пост станет моральной поддержкой для страдающих программистов и технологов, стремящихся улучшить ситуацию. Дело не только в вас, и мы не просто страдаем от ностальгии: ПО сегодня действительно очень странное.

Читать далее
Всего голосов 150: ↑147 и ↓3+144
Комментарии197

Пульт от «Dendy» в любительских конструкциях

Время на прочтение7 мин
Количество просмотров90K
image

Часто радиолюбители сталкиваются с проблемой оформления выносного пульта управления устройством. Если число кнопок на нем велико, то для сокращения числа проводов в соединительном кабеле пульт оснащают шифратором команд нажатых кнопок, а устройство дешифратором. В этой ситуации может выручить старый джойстик, от некогда популярных игровых приставок «Dendy». Задача радиолюбителя сильно упрощается, так как джойстик имеет неплохой дизайн и оснащен готовым шифратором команд нажатия кнопок.
Читать дальше →
Всего голосов 45: ↑41 и ↓4+37
Комментарии20

Однолинейные схемы на объектах

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

Довольно длительное время я занимался эксплуатацией электроустановок. В их числе были электроустановки объектов жилой и коммерческой недвижимости, которые находились в различном статусе: недавно построенные и введённые в эксплуатацию, реконструированные или ожидающие реконструкции. На каждом таком объекте существовали те или иные проблемы с однолинейными электрическими схемами. Они или вовсе отсутствовали или требовали актуализации. По причине того, что нормальная эксплуатация без подобной документации затруднительна, мне приходилось заниматься организацией сбора и документированием такой информации.
Читать дальше →
Всего голосов 44: ↑44 и ↓0+44
Комментарии13

Ультразвуковая сварка

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

Множество технологических процессов, сопровождающих создание различных систем, связано, так или иначе, с соединением составляющих эти системы компонентов. При этом могут возникать ситуации, где преимуществом перед классическими методами создания соединений обладает ультразвук: сварка тоненького волоска проволоки и металлической детали, соединение друг с другом двух тончайших лепестков фольги, пластиковых деталей, элементов одежды и т. д. Решить все вышеперечисленные задачи даёт возможность ультразвуковая сварка, которая является высокотехнологичным способом соединения материалов между собой, и именно о ней мы и поговорим в этой статье.
Читать дальше →
Всего голосов 61: ↑60 и ↓1+59
Комментарии31

Пишем приложение на Mi Band 7 с сервисной частью

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

Недавно я купил себе Mi band 7, по началу хотел купить 6-ую версию, пока не узнал, что на 7-ой обновилась операционная система и теперь она поддерживает установку приложений. Да, официально они об этом не заявили, но умельцы уже сделали множество приложений. Они ставят их как циферблаты, и это вполне обычные приложения. Но все эти приложения работают только локально на самом MiBand 7, не имея возможности взаимодействовать ни с телефоном, ни с интернетом. Я углубился в байткод приложения и документации по ZeppOS чтобы найти способ создавать приложения, взаимодействующие с интернетом, в этой статье я опишу свой путь. В итоге у меня получилось сделать запрос в интернет с часов и даже запустить мост для отладки приложений. 

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

Rhasspy — опенсорсный и полностью офлайновый речевой тулкит. Распознавание русского языка. Никаких утечек в облако

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

Фото из сравнения микрофонных массивов для DIY-устройств типа самодельной умной колонки

Системы вроде Amazon Echo передают в облако для хранения ваши конфиденциальные разговоры (даже записанные случайно). В некоторых случаях записи прослушиваются живыми операторами. Это не просто потеря конфиденциальности. Это как добровольно впустить в свою квартиру «товарища майора», который стоит рядом 24 часа в сутки, слушает и внимательно записывает, притворяясь услужливым ассистентом.

Вместо покупки коммерческой системы у корпораций типа Google, Amazon или «Яндекс», вы можете собрать аналогичную опенсорсную систему на базе Raspberry Pi 2-3 B/B+, персонального компьютера или ноутбука.

Rhasspy — безопасный голосовой помощник, который работает автономно. Он ничего не передаёт на удалённые сервисы, при этом успешно справлятся с распознаванием речи и голосовых команд.
Читать дальше →
Всего голосов 48: ↑44 и ↓4+40
Комментарии51

Система увлажнения воздуха для дома или квартиры

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

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

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

Домашняя приточная вентиляция малыми средствами

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

Последнюю пару лет я живу с приточной вентиляцией в городской квартире — и очень рад этому факту.

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

Коротко о главном:
• наружное расположение компонентов ради минимального уровня шума;
• минимум ручного труда в изготовлении и монтаже;
• общий ценник существенно ниже 50 тысяч рублей (ниже 30 тысяч — на момент изготовления два года назад).

И важное. Если вы — адепт систем рекуперации, долгих инженерных расчётов и полугода проектирования, эта статья не для вас. Я — адепт золотой середины между «я сделяль» и «я задолбался».

Читать далее
Всего голосов 152: ↑150 и ↓2+148
Комментарии157

Что на самом деле происходит, когда пользователь вбивает в браузер адрес google.com

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


Эта статья является попыткой ответа на старый вопрос для собеседований: «Что же случается, когда вы печатаете в адресной строке google.com и нажимаете Enter?» Мы попробуем разобраться в этом максимально подробно, не пропуская ни одной детали.

Примечание: публикация основана на содержании репозитория What happens when...

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

Мы перенесли перевод в репозиторий GitHub и отправили Pull Request автору материала — оставляйте свои правки к тексту, и вместе мы сможем значительно улучшить его.
Читать дальше →
Всего голосов 85: ↑57 и ↓28+29
Комментарии22

Где скачать научную статью легко и доступно?

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

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

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

Здесь собраны совершенно бесплатные ресурсы, где вы можете найти интересующую Вас научную статью.

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

«Свет мой, зеркальце! Скажи…» – умное зеркало и другие проекты с прозрачными экранами

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

Жидкокристаллические экраны – это давно обыденная вещь. Они повсюду: от мобильного телефона и компьютера до самых разнообразных устройств. Новый взгляд на уже обычные вещи может дать неожиданный и интересный результат. Что может получиться, если немного разобрать обычный экран и использовать его по-другому? Давайте посмотрим.
Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии8

Как спастись от «зайцев». Инструкция по борьбе с ультрафиолетом

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

Однажды в далекие школьные годы у меня появилась идея заняться авто-реставрацией, благо у отца был в наличии уже практически сгнивший (но с отличным мотором) АЗЛК Москвич-408. Первым делом конечно же было решено поменять пороги и укрепить раму металлическим швеллером. Самый быстрый способ — естественно сварка, благо у отца и самодельный аппарат на Ш-образных пластинах был. Электроды и я нашел и, в принципе, довольно сносно приварил куски металла. Довольный своей работой заснул, думая о том, что я буду приваривать с утра. А с утра проснулся и понял что "ослеп", а отец поздравил "с первым пойманным зайцем". Чтобы понять о чем разговор — проследуйте под cut.


Читать дальше →
Всего голосов 88: ↑87 и ↓1+86
Комментарии121

Маленькие «малинки» в крупном дата-центре

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

В мае у нас появились новые серверы на базе Raspberry Pi 4. И ребята из Selectel Community (это такой неформальный телеграм-чат компании) часто спрашивали, как нам вообще удалось интегрировать их в систему автоматической сдачи. Спустя время мы окинули сделанное ретроспективным взором и готовы подробно ответить на этот вопрос.
Читать дальше →
Всего голосов 70: ↑69 и ↓1+68
Комментарии54

Коммуникатор судного дня «Armachat» LoRa

Время на прочтение8 мин
Количество просмотров23K
Технология LoRa отлично подходит не только для сбора информации с удалённых датчиков. Её можно использовать как основу системы для обмена сообщениями. Именно такую систему я воплотил в жизнь в виде персонального коммуникатора Armachat. Для меня это самый настоящий учебный проект, на котором я оттачивал навыки создания печатных плат с беспроводными модулями и графическими дисплеями. Устройство питается от аккумулятора, оно представляет собой нечто вроде высокотехнологичной портативной рации, поддерживающей обмен текстовыми сообщениями. При этом для сборки этой рации нужно сравнительно мало компонентов — всего около 25.

Для этого проекта я, чтобы удобнее было выполнять паяльные работы, выбрал микроконтроллер SAMD21E18 в корпусе TQFP32 (того же размера, что и популярный контроллер ATmega328). Правда, к сожалению, этот микроконтроллер продаётся пустым. Для того чтобы прошить в него загрузчик, необходимо специальное устройство — Atmel-ICE. Прошивка загрузчика оказалась самой сложной частью проекта. А в остальном тому, кто решит воспроизвести мой проект, никаких специальных инструментов не понадобится. Всё, что нужно, собрано на плате коммуникатора. А на передней панели, что необязательно, можно разместить подсветку клавиатуры.

image

Сначала я назвал моё устройство «Armageddon communicator» (отсюда и его теперешнее название — «Armachat»), но я не думаю, что оно способно пережить какую-нибудь воображаемую всемирную катастрофу.
Читать дальше →
Всего голосов 38: ↑37 и ↓1+36
Комментарии32

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

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


Привет, друзья!


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


Функционал нашего приложения будет следующим:


  • запись аудио
  • отображение записи с возможностью ее предварительного прослушивания и последующего сохранения или удаления
  • хранение аудио-файлов на сервере
  • извлечение аудио-файлов, хранящихся на сервере, и их отображение в браузере

Основная технология, которую мы будем использовать, это MediaDevices. Данная технология входит в состав глобального объекта Navigator. Основным методом, предоставляемым указанным интерфейсом является getUserMedia(). Запись данных (в простых случаях вроде нашего) выполняется с помощью интерфейса MediaRecorder.


Интерфейс MediaDevices на сегодняшний день поддерживается всеми современными браузерами.


Для небольшой стилизации нашего приложения мы будем использовать Sass.


Выглядеть приложение примерно так:





Исходный код приложения.


Основным источником вдохновения для меня послужила эта замечательная статья.


Обратите внимание: данная статья рассчитана, преимущественно, на начинающих разработчиков, хотя, смею надеяться, что и опытные найдут в ней что-нибудь интересное.


Вы готовы? Тогда вперед!

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

Discord Slash API + Yandex Cloud Functions = ♡

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

Добрый день. Многие знают, что программисту приходится следить за развитием технологий, даже тех, которые не касаются его текущего стека. Ну, или ему это доставляет удовольствие, которое он оправдывает необходимостью держать руку на пульсе. Так обычно зарождаются разнообразные домашние проекты. Я решил свести в один пост свои наработки по написанию Node.js-бота для Discord Slash API с использованием Serverless-подхода в Yandex Cloud. Использование готовых библиотек сведено к минимуму.

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

В bash безобидная с виду конструкция [[ $var -eq 42 ]] умеет выполнять и произвольный код

Время на прочтение4 мин
Количество просмотров17K
Знали ли вы о том, что следующий bash-скрипт способен выполнять произвольный код, который предоставит ему пользователь в ответ на запрос скрипта о вводе данных?


Читать дальше →
Всего голосов 77: ↑75 и ↓2+73
Комментарии60

CAT-интерфейс для трансивера «Радио-76»

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

В предыдущей публикации о трансивере «Радио-76» упоминалось о синтезаторе частоты с CAT-интерфейсом. В этой статье тема CAT-интерфейса будет раскрыта подробней.

CAT-интерфейс (Computer Aided Transceiver) предназначен для управления частотой, видами модуляции и другими функциями радиостанции с помощью компьютера.

В сети есть множество описаний радиолюбительских синтезаторов на базе Si5351, но в массе своей CAT они не поддерживают. Данная публикация этот пробел должна восполнить.
Читать дальше →
Всего голосов 59: ↑58 и ↓1+57
Комментарии11
1
23 ...

Информация

В рейтинге
Не участвует
Работает в
Дата рождения
Зарегистрирован
Активность