Как стать автором
Обновить
-20
0.1

программирователь

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

SDR приемник GPS на микроконтроллере

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

В этой статье я расскажу о том, как я делал самодельный SDR GPS приемник на микроконтроллере. SDR в данном случае означает, что приемник не содержит готовых GPS-модулей или специализированных микросхем для обработки GPS сигналов - вся обработка "сырых" данных выполняется в реальном времени на микроконтроллере (STM32 или ESP32).
Зачем я это сделал — просто Just for fun, плюс - получение опыта.

Читать далее
Всего голосов 128: ↑127 и ↓1+160
Комментарии278

Как собрать бюджетный умный дом. Общие принципы проектирования на оборудовании Wiren Board

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

Сборник коротких рецептов по автоматизации инженерных систем дома, офиса и любого другого объекта на оборудовании Wiren Board.

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

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

KolibriOS: пробуем ассемблер

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

Решил потренироваться на ассемблере под x86 и выбор мой пал на KolibryOS. Ведь как-никак это ОС была написана на ассемблере и для использования ассемблера. И я хотел именно из самой KolibriOS писать код. Но... Наверное, зря я это всё затеял.

Как оказалось, примеров кода не мало и не много. А так как я привык к Dos, Windows или Linux, то и ожидал что-нибудь в этом роде. Код, код и ещё раз код. Макросы не так часто встречаются. Ну и уж точно не весь код из одних макросов (утрирую).

Пример кода из «официального источника» вносит больше сумятицы, чем понимания, что происходит в данном коде. И... там нет никакого объяснения этим «буквенным значениям». Есть только то, что ссылаются на файл «macros.inc». Если просматривать источники интернета, то где‑то более понятно написано и даже рассказывают, что взять «macros.inc» (и многие другие файлы можно на SVN KolibriOS и, как оказалось, ещё можно на GitHub (дублируется?).

Покопавшись в файле «macros.inc», а так же на просторах интернета и найдя пример (смотрите код Fasm), я понял, что всё становится на свои места и более‑менее проясняется.

Читать далее
Всего голосов 23: ↑22 и ↓1+29
Комментарии37

Я создаю Систему (RealRPG) в реальной жизни

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

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

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

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

Читать далее
Всего голосов 13: ↑8 и ↓5+4
Комментарии89

Автоматное программирование в SimInTech и ВКПа

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

В контексте автоматного программирования ВКПа опять вспомним про SimInTech. Представляется удобным и наглядным создать аналог проекта из в SimInTech, который основан на базе элементов ее библиотеки «Конечные автоматы». Так мы осваиваем проектирование в рамках данных сред и заодно проведем сравнение технологий автоматного программирования. Ну, а за основу для достижения поставленных целей возьмем проект «Нагреватель» из SimInTech.  

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

Графы на рис. 1 представляют собой модель автоматной программы в ВКПа. И уже на уровне модели видны основные отличия. Кратко или, так сказать, в первом приближении они сводятся к следующему. На уровне отдельного процесса (автомата) мы сразу разделяем программу на части. Это операторы, названные предикатами и действиями, и управление программы – собственно модель конечного автомата (КА). А на уровне самой программы в общем случае это сеть из автоматов. В соответствии с данным ранее определением все это вместе и составляет автоматную программу.

Читать далее
Всего голосов 7: ↑4 и ↓3+1
Комментарии20

ВКПа. Введение, ч.1. Визуальное проектирование автоматов

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

В моих статьях часто используется аббревиатура ВКПа. Это сокращение названия программной среды проектирования по канонам технологии автоматного программирования - среды автоматного Визуально-Компонентного Программирования (подробно основы ее теории описаны в статьях [1, 2]). Объяснение, что это за среда, конечно, дается, но, признаю, что делается это часто по ходу, достаточно поверхностно и разбросанно по многим статьям.

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

Буквально за последние месяцы была проделана объемная целенаправленная работа по развитию среды и, что особенно важно, по повышению качества ее работы.  Раньше она была рассчитана на одного пользователя, который с ее проблемами легко мирился. Но, как говорится, до поры до времени... Теперь этот пользователь, а заодно и разработчик, решил сконцентрировать силы на доведении ее до нормального рабочего состояния.  Пришло, так сказать, время перейти на новый уровень качества среды. И, может, это прозвучит нескромно, но захотелось заодно поделиться также удовольствием от нынешней работы в ВКПа...

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

ВКПа. Введение, ч.2. Копирование автоматов и начала имитационного моделирования

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

Данный цикл статей - не техническая документация, не подробное описание научных идей. Это краткое, обобщенное описание возможностей среды ВКПа на простом примере. Демонстрация процессов и принципов работы в ней. Идеи - проверенная временем часть. Они описаны в статьях, ссылки на основные из них приведены в  первой части [1]. Без понимания этого материала невозможно разобраться, зачем вообще нужна подобная среда. Ведь, существует и другое автоматное программирование. Но только идеи, положенные в их основу, другие.

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

Среду ВКПа нужно воспринимать, как программное ядро, реализующее параллельную модель вычислений  и оболочку над ним, которая могла быть вполне другой. И среда позволяет это легко сделать. Имеющаяся оболочка кому-то может показаться весьма неудобной - то же обилие диалогов. Но, во-первых, объективно оценить это можно лишь поработав в ней. А, во-вторых, как показывает опыт, восприятие - больше дело привычки. Для автора она удобна. Здесь многолетняя привычка и больший опыт работы с технологией автоматного программирования. Но и то и другое - основные тренды, влияющие на внешний вид и на функциональность оболочки.

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

Пишем расширения для PHP на C (Си)

Время на прочтение7 мин
Количество просмотров3.6K
Современному PHP разработчику это знание может понадобиться скорее для расширения сознания, чем непосредственное руководство к действию, но несмотря на то, что в PHP уже встроено практически все необходимое, а в разнообразных PEAR и PECL репозитариях можно найти пакет дополнений на любой вкус, многим думаю будет интересно, а некоторым и полезно узнать как и что работает внутри PHP.

И раз уж Zend предоставил нам такие удобные инструменты, почему бы ими не воспользоваться? Например для оптимизации каких-то процессов, сокрытия своего когда в коммерческих приложениях и встраивания механизма лицензий, реализации многопоточности или для чего-то еще…

Читать дальше →
Всего голосов 31: ↑29 и ↓2+27
Комментарии12

Эмбеддинги для начинающих

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

Привет, Хабр!

В широком смысле, эмбеддинг - это процесс преобразования каких-либо данных (чаще всего текста, но могут быть и изображения, звуки и т.д.) в набор чисел, векторы, которые машина может не только хранить, но и с которыми она может работать. Звучит очень интересно. Казалось бы, наша речь - это так просто, все связано и понятно. Но как это объяснить машине?

В этой статье мы рассмотрим, что такое эмбеддинги и какие они бывают.

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

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

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

Читать далее
Всего голосов 20: ↑16 и ↓4+15
Комментарии3

Qucs-S: руководство по видам моделирования, часть 1

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

Qucs-S является программой с открытым исходным кодом для моделирования электронных схем. Qucs-S кроссплатформенный (поддерживаются Linux и Windows) и написан на С++ с использованием набора библиотек Qt. О данной программе рассказывают мои предыдущие статьи. Для работы Qucs-S рекомендуется использовать также открытый движок моделирования Ngspice. Актуальным релизом Qucs-S на текущий момент является версия 2.1.0. В данной статье подробно рассматриваются виды моделирования, имеющиеся в Qucs-S. Начальное руководство по работе с программой можно найти здесь: https://habr.com/ru/articles/678526/

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

Автоматизация бань и терм: как задержать гостя подольше?

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

В апреле мы опубликовали статью об автоматизации умной бани под Ижевском. Там был красивый щит с подсветкой, но сама автоматизация была сделана довольно просто. Хотелось бы увидеть что-то более сложное.

И вот с нами связались представители компании «ПарТроник», которая занимается автоматизацией частных и коммерческих бань. Они предложили нам посетить сауну-аттракцион «Памуккале» в банном комплексе «Термоланд спорт» на этапе проведения пусконаладочных работ.

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

Интересно? Ныряйте под кат.

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

Галопом по Европам: Легитимные процессы Windows на пальцах

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

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

Читать далее
Всего голосов 52: ↑50 и ↓2+59
Комментарии36

Февка — некрупная высокотемпературная горелка почти из ничего. Применение в стеклодувном деле

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров15K
Февка в стеклодувном деле

Существует целый ряд технических забав, доступ к которым любителям затруднён из-за требующегося изрядного оснащения. Взять то же стеклодувное дело — натурально, огненная мистерия с вашим (нашим) непосредственным участием, да и стеклянные работы как сон наяву. Однако нужна вся эта прорва пугающего специфического оборудования, и в первую очередь — горелки-шланги-баллоны. Без которых, разумеется, не обойтись при более или менее крупных работах и применении тугоплавкого стекла. Для обработки же небольших заготовок из стёкол относительно легкоплавких, например, «платинового», можно с успехом применить простейшую самодельную горелку-февку, оснастив её отражателем пламени. А используя ещё и широкий мягкий подогревный огонь, можно попробовать заготовки покрупнее.
Полюбопытствовать
Всего голосов 94: ↑93 и ↓1+131
Комментарии64

Схемы электрические. Типы схем

Время на прочтение4 мин
Количество просмотров557K
КДПВ


Привет Хабр!
Чаще в статьях приводят вместо электрических схем красочные картинки, из-за этого возникают споры в комментариях.
В связи с этим, решил написать небольшую статью-ликбез по типам электрических схем, классифицируемых в Единой системе конструкторской документации (ЕСКД).
Читать дальше →
Всего голосов 41: ↑40 и ↓1+39
Комментарии61

Пора делать нормальных телеграм-ботов #1

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

Вы создаёте ботов в телеграме? Даже если нет, полезно будет знать о некоторых моментах, касающихся разработки телеграм-ботов. Никакого кода не будет, только картинки и описание 5 распространённых ошибок, которые меня — заядлого педанта в области разработки простых интерфейсов — раздражают.

Узнать, о чём речь
Всего голосов 9: ↑6 и ↓3+5
Комментарии23

Relax, take IT easy: как вернуть спокойствие в работу. Три инструмента специально для айтишников

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

Привет! Я – Ольга Красильникова. У меня за плечами 18 лет работы в сфере управления и развития персонала в компаниях Евросеть, М.Видео, Yota, МТС, Coca-Cola, Heineken. Сейчас работаю менеджером по обучению в Bercut. А еще я карьерный психолог, коуч (более 800 часов коучинговой практики). Верю, что любая работа может стать ресурсом для человека.

За последний год я провела больше 400 карьерных консультаций и коуч-сессий (как внутри компании, так и в частной практике), и вот фразы, которые я слышала почти в каждой сессии:

• «ненавижу свою работу»;
• «как же меня бесят мои коллеги»;
• «мой руководитель – идиот»;
• «мне все это надоело, это никому не нужно»;
• «сил нет больше терпеть».

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

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

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

Как я потратил 250 миллионов в деревне

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

Я получил экономическое образование, торговал на фондовой бирже, а 1 ноября 2009 года начал брать молоко, мясо в деревне и продавать в Москве. 2 года вставал в 4 утра, чтобы забрать продукты, а до 2-х ночи с женой варили компоты и пекли запеканки. Позже купил 20 Га в Тульской области у своего поставщика баранины. А в ковид окончательно перебрался жить на землю.

В статье рассказал, как построил сельскохозяйственное производство за 250 млн, как 5 раз перестраивал коровник, почему курятник нельзя отапливать коровником, как работают поилки для кур, как разместить поросят, чтобы свиноматка их не раздавила. А еще посчитал экономику коровы, свиньи ? и бройлеров.

Читать далее
Всего голосов 191: ↑173 и ↓18+200
Комментарии177

Самая дешевая заводская панель управления умным домом, которая отлично работает

Уровень сложностиСложный
Время на прочтение4 мин
Количество просмотров79K

Несколько лет назад уже писал про свои поиски идеальной и недорогой панели управления умным домом (статья собрала 200 закладок), тогда в 2020 году я остановился на недорогом андроид планшете, который перепрошил на чистый андроид для выполнения удаленных команд через ADB.

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

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

Выбор пал на NSPanel из‑за цены около 3,5 тысяч рублей, а также возможности установки в подрозетник или покупки настольной подставки — как у меня на фото.

Панель в подрозетник или на стол
Всего голосов 81: ↑78 и ↓3+99
Комментарии126

От полиглота к эксперту: модели mGPT для малых языков России и стран СНГ

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

Не так давно мы рассказывали про то, как мы обучили модель-полиглот mGPT, которая говорит на 61 языке. Этим летом в открытый доступ мы выложили большую мультиязычную модель (претрейн) mGPT-13B под открытой лицензией MIT.

Сегодня мы хотим поделиться с вами семейством моделей-экспертов на основе оригинальной mGPT для языков СНГ и малых народов России. Оригинальная модель уже владела этими языками, но нам хотелось сделать максимально качественные моноязычные модели, использовав доступные открытые сеты.

Из общего набора в 61 язык мы дообучили 23 модели на дополнительных данных под каждый язык стран СНГ и малых народов России. И в этой статье мы расскажем про то, как мы это сделали и насколько лучше каждый конкретный файнтьюн знает свой язык. А сами модели можете найти на Hugging Face.

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

Информация

В рейтинге
3 733-й
Откуда
Россия
Зарегистрирован
Активность

Специализация

Backend Developer, Embedded Software Engineer
Lead
От 200 000 ₽
Linux
Database
Software development
Code Optimization
Algorithms and data structures