Как стать автором
Обновить
1
0
Александр Копейцев @Crazypill

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

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

Почему для меня так важен алгоритм CORDIC

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

CORDIC — это алгоритм для вычисления тригонометрических функций вроде
sin, cos, tan и тому подобных на маломощных устройствах без использования модуля обработки операций с плавающей запятой или затратных таблиц поиска. По факту он сводит эти сложные функции до простых операций сложения и битового сдвига.

Перейду сразу к делу и скажу, почему я так сильно люблю этот алгоритм, а затем займёмся изучением принципов его работы. По сути, фактические операции CORDIC весьма просты — как я уже сказал, это сдвиги и сложение — но выполняет он их путём комбинирования векторной арифметики, тригонометрии, доказательств сходимости и продуманных техник компьютерных наук. Лично я считаю, что именно это имеют ввиду, описывая его природу, как «элегантную».
Читать дальше →
Всего голосов 87: ↑87 и ↓0+113
Комментарии27

Новая архитектура процессора — уже пора

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

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

Читать далее
Всего голосов 72: ↑39 и ↓33+10
Комментарии228

Flipper на минималках. Как мы делаем устройство для чтения и эмуляции ключей от домофонов…

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

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

Конечная идея была в эмуляции ключей стандартов TouchMemory, Em-Marine и Mifare classic в одном устройстве. Хочется, чтобы это устройство было максимально компактным, в идеале вообще помещалось на связку ключей.

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

Анатомия Hello World на языке C

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

Эта статья посвящена программе Hello World, написанной на C. Это максимальный уровень, на который можно добраться с языком высокого уровня, не беспокоясь при этом о том, что конкретно язык делает в интерпретаторе/компиляторе/JIT перед выполнением программы.

Изначально я хотел написать статью так, чтобы она была понятна любому, умеющему кодить, но теперь думаю, что читателю полезно иметь хотя бы некоторые знания по C или ассемблеру.
Читать дальше →
Всего голосов 125: ↑125 и ↓0+142
Комментарии47

Радиоэфир без регистрации и СМС

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

Пост для тех, кто любит радиосвязь, но не радиолюбитель с позывным

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

В старшем возрасте я понял, что могу позволить завалить себя радейками и время от времени покупал различные недорогие модели, которые выбирал лишь по цене и внешнему виду. Но на удивление связать серенькие радиостанции с фиолетовыми или чёрными не получалось, даже если выбрать один и тот же номер канала. Пришлось разбираться, и всё оказалось куда сложнее, чем просто выбрать переключателем номер канала и нажать кнопку PTT (Push-To-Talk). Ну и осложнилось всё задачей не получить по шапке за эфир на частотах, где не следует этого делать. Для прояснения ситуации для начинающих и создан этот пост.
Читать дальше →
Всего голосов 93: ↑91 и ↓2+120
Комментарии106

Секретная китайская плата: контроллер стиральной машины

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


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

Сегодня мы будем собирать почти настоящую плату управления стиральной машины и изучать алгоритмы её работы.

Разработчики набора не забыли добавить традиционную парочку ошибок, чтобы работа испытуемого заключалась не только в аккуратной установке деталей по предложенной схеме, но и сопровождалась пониманием того, как она должна работать, и что необходимо изменить, чтобы она заработала как надо.
Читать дальше →
Всего голосов 52: ↑51 и ↓1+74
Комментарии61

Как стать web-разработчиком на Python за полгода: конкретный план действий

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

Всем привет! Меня зовут Евгений Степанов, и я Python Full Stack-Developer в компании PVS-Studio. В этой статье вы узнаете, что нужно сделать, чтобы за полгода стать Python backend-разработчиком. После прочтения данной публикации у вас будет чёткий план, который останется только реализовать. Поехали!

Читать далее
Всего голосов 10: ↑8 и ↓2+6
Комментарии51

Обнаружены шахматы для DOS… 1980 года

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

Шахматы для DOS... 1980 года! Вытащены с найденной в 2024 году системной дискеты 86-DOS (QDOS), при этом без особых проблем работают в MS-DOS 2.11, 3.31 на 86Box, MS-DOS Player, FreeDOS, DOSBox-X, NTVDM на современных ОС.

Читать далее
Всего голосов 39: ↑38 и ↓1+54
Комментарии103

Подводные камни при работе с исполнителем во время аттестации объекта информатизации

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

Привет, Хабр! А не пора ли поговорить о важной и нужной ИБ-процедуре: аттестации информационных систем? Хотя бы в общих чертах, чтобы разобраться.

В этой статье расскажем:

1. На что стоит обращать внимание при выборе органа по аттестации;

2. Какие полномочия имеет орган по аттестации;

3. От чего зависит успех аттестации;

4. Об опасностях работы с недобросовестным исполнителем;

5. Что делать, если столкнулись с таким исполнителем.

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

Хардварный проброс

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

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

Два пути как это сделать
Всего голосов 24: ↑24 и ↓0+24
Комментарии20

Импорт базы ГАР для нормализации собственной адресной базы в Laravel 10. Часть I, исследуем выгрузку ГАР

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

Решаемая задача

Зная UUID дома (ранее идентификатор ФИАС) требуется найти почтовый индекс, город, улицу и номер дома для отдельно взятого региона, и на этих данных создать собственные справочники. Используемая РСУБД — PostgeSQL, используемый фреймворк — Laravel 10.

Для кого может оказаться полезен данный материал

Для тех, кто решает схожую задачу или, кто решает задачу от противного, т.е. приводит в порядок свои базы, находя «Идентификатор ФИАС» по наименованиям городов, улиц и т.п. А так же всем, кто хочет разобраться в структуре базы ГАР, в рамках решаемой задачи.

Что в 1-й части

Подробный анализ выгрузки базы ГАР, описание полей, нахождение реляций.

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

Assembler для Windows в Visual Studio

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

В этой статье я покажу как написать приложение для windows на ассемблере. В качестве IDE будет привычная многим Visual Studio 2019 со своими привычными плюшками - подсветка кода, отладка и привычный просмотр локальных переменных и регистров. Собирать приложение будет MASM, а значит, у нас будут и масмовские плюшки. Это будет полноценное оконное приложение с меню, иконкой, отрисовкой, выводом текста и обработкой мыши с клавиатурой.

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

Как найти лучшего подрядчика на изготовление корпусов. Готовый алгоритм

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

Пять мифов о подборе подрядчика на изготовление корпусов, как этот подбор работает в реальности и как поступить, чтобы выбрать по-настоящему хорошего контрактника: рабочая методика их отбора. Список годных подрядчиков на производство корпусов с раскладом по технологиям — в РФ и Китае.

Пару раз в неделю нам приходит спам предложение от контрактного производства корпусов и разных деталей. Эти предложения все примерно одинаковые и никогда не меняются: мол, наше предприятие имеет большой опыт, работает с N-го года, 100500 наших станков выполняют «кружение/лужение полосатых заготовок», вот вам полный список нашего оборудования, любуйтесь.

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

Развенчание мифов и раздача подрядчиков
Всего голосов 17: ↑17 и ↓0+17
Комментарии13

Разработка робастного управления сервоприводом

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

Продолжаем открытый проект сервоконтроллера MC50. 

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

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

ISO 26262-6 разбор документа (или как писать безопасный софт)

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

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

В этом тексте я попробовал разобраться с тем как понять автомобильный стандарт функциональной безопасности ISO26262 в той части, которая относится к требованиям к программному обеспечению (часть 6).

-----

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

CodeLama в вашей клавиатуре | Локальный Copilot для любого поля ввода

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

Стою я значит утром (около 2 часов дня) возле кофеварки и листаю ленту хабра, а там CodeLama вышла. Copilot для бедных это или панацея в мире локальных текстовых моделей? Попытаюсь не отвечать на этот вопрос, ведь ваши соседи снизу утонут в воде, которая сейчас льётся из экрана.
Читать далее - на свой страх и риск. Статья писалась спинным мозгом и глубокой ночью, как следствие я получил натянутую на глобус сущность, которую можно инкапсулировать в технотекст, что бы она вызывала меньше подозрений у случайного читателя. Ну вы поняли уровень, верно?
Предлагаю обойтись кратким вступлением и перейти сразу к делу.

Сразу к делу
Всего голосов 48: ↑48 и ↓0+48
Комментарии14

Система автоматической разгрузки и загрузки дрона (Часть 3 — замок и итог)

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

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

В данной статье мы разберём, подробнее механизм захвата и подведём итог по работе всей конструкции.

Третья и заключительная публикация на тему Система автоматической разгрузки и загрузки дрона (Часть 1 — конструкция) / Хабр (habr.com)

Подробнее
Всего голосов 9: ↑9 и ↓0+9
Комментарии18

Опыт адаптации Firecracker под FreeBSD

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

Сколько родилось отличных проектов open source, потому что у кого‑то руки чесались что‑то попробовать! Именно так было и в случае с Firecracker. В 2014 году компания Amazon запустила AWS Lambda, которую позиционировала как «бессерверную» вычислительную платформу. В AWS Lambda пользователь может задать функцию — скажем, десять строк кода на Python — а Lambda в ответ достроит всю требуемую инфраструктуру, чтобы сработала цепочка: прибывает HTTP‑запрос, вызывается функция, запрос обрабатывается, и, наконец, генерируется ответ.

Чтобы этот сервис работал безопасно и эффективно, Amazon нужно было разработать механизм, который позволял бы с минимальными издержками запускать виртуальные машины. Так появился Firecracker. Это монитор виртуальных машин (VMM), работающий совместно с Linux KVM. Он запросто создаёт «микро-VM» и управляет ими.

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

Скрипты для wireguard

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

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

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

Как пользоваться
Всего голосов 8: ↑3 и ↓50
Комментарии4

Альтернативная ОС вместо Apple в 2023

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

Продолжая серию постов “Мультиплатформенность приложений в 2023” и “Побег из экосистем в 2023” я решил поделиться небольшим обзором проведенным по семействам операционных систем, в которые можно было бы мигрировать.

Я начал поиск ОС на которoй можно было бы построить свой мир девайсов. Сразу скажу что идеальной системы я так и не нашел, хотя рассмотрел пожалуй всё что есть на рынке:

QNX (Blackberry OS)

Haiku

OpenBSD

Android, Fuchsia

Other Linux, Fedora

Windows

Web

Plan9, Inferno OS

Genode OS

Погрузиться
Всего голосов 28: ↑12 и ↓160
Комментарии112
1
23 ...

Информация

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