Обновить
0
@mr_STread⁠-⁠only

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

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

PID (ПИД) без математики: как просто понять P, I и D

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

PID-регулятор — частая проблема для начинающих в робототехнике: математика отпугивает. Но саму идею понять можно без формул. В этой статье я объясню P, I и D простыми словами и с визуализацией

Читать далее

Ячейка Пеннинга. Магниторазрядный насос. Высокий вакуум для самодельщика

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

Большая часть электровакуумных приборов (ЭВП) удовлетворительно (и долго) работает только при откачке их до высокого и сверхвысокого вакуума. Дело, однако, это долгое, хлопотное и дорогое, требующее драконовских мер чистоты и большой подготовки. Высоковакуумные насосы не умеют работать «с атмосферы» — требуют для своего запуска предварительной форвакуумной откачки, обычно до 10^-2…10^-3 мм рт. ст. (Торр). Существует целый ряд очень разных высоковакуумных насосов, работа которых основана на различных принципах. Не все они устроят самодельщика — где-то требуется слишком низкое давление для старта, недостижимое распространёнными и доступными форвакуумными насосами, где-то нужен жидкий азот для экстремального охлаждения, какие-то просто имеют огромную стоимость. Тем не менее существует вариант получения высокого вакуума, свободный от этих недостатков — весьма просто устроенный насос, не содержащий редких и дорогих материалов, подвижных и прецизионных частей, ртути и масла, горячих короткоживущих электродов, требующий для запуска около 10^-2 Торр, пригодный для самостоятельного изготовления в любительской мастерской, из стекла или металла, в нужном масштабе. Речь идёт о магниторазрядных, иначе — ионно-распылительных или ионно-геттерных насосах.

Читать далее

Как спасать команду от бесконечных митингов: практики, которые я подсмотрела у техлидов

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

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

Ниже — практики, которые я подсмотрела у техлидов и продуктовых команд. Это не попытка «учить» разработчиков тому, что они и так знают лучше меня. Скорее, я описываю опыт со стороны — как человек, который постоянно учится у них дисциплине управления временем.

Буду рада комментариям: так ли это работает внутри ваших команд.

Читать далее

Инвертор напряжения или Inverting Buck-Boost

Время на прочтение6 мин
Охват и читатели16K

Как разработать источник отрицательного напряжения? Легко, это делается из классического Buck конвертера!

Стандартное решение, которое может пригодиться всем, кто хоть раз сталкивался с разработкой DC/DC источников питания или столкнулся сейчас.

Читать далее

Почему дисциплина через силу не работает

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

Как перестать тащить всё на силе воли и начать делать важные вещи с такой же лёгкостью, как играть в компьютерные игры?

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

Всем наверняка попадались эти видосы:

Парень с покерфейсом выключает будильник — на экране айфона 4 утра.

Потом идёт в душ с холодной водой и на следующем кадре одинокий волк вышел на пробежку в пустой парк.

И, как мы слышим, фоном ко всему этому играет затасканная музыка из рилсов.

Читать далее

Отсекая лишнее: как сократить бинарный код программы на C++ и не потерять нужную функциональность

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

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

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

Меня зовут Максим Гончаров, и я расскажу, как мы оптимизировали кодовую базу на C++ по размеру конечного образа, чтобы новые фичи были доступны на всех уже работающих у заказчиков серверах.

Читать далее

Плагины на C# без рантайма: NativeAOT-экспорт и вызов из Rust/Python

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

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

Наткнулись на задачу: нужен плагин на C#, который можно грузить как обычную C-библиотеку без CLR и JIT, а вызывать из Rust и Python. Без обвязок, без CoreCLR-хостинга и прочего. Чистый C ABI, нормальные строки, предсказуемые структуры, обработка ошибок и нулевой JIT-прогрев. Это как раз случай для NativeAOT: компилируем библиотеку в нативный .dll/.so/.dylib, экспортируем функции через [UnmanagedCallersOnly], а дальше живём как с любой C-библиотекой. Нюансов хватает: что экспортируется и как назвать символ, как договориться по ABI, что делать со строками UTF-8, как возвращать ошибку, как освобождать память снаружи, почему исключения нельзя проталкивать за границу, и в каком месте «cdecl» реально что-то значит.

Ознакомиться с примером NativeAOT

Тактовая кнопка v2.0 для управления питанием Raspberry Pi

Уровень сложностиСредний
Время на прочтение2 мин
Охват и читатели7.9K

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

Power On-Off

11 техник ИИ, которые экономят время продуктовому дизайнеру

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

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

Читать далее

Проектирование контроллера двигателей с GitHub Copilot

Время на прочтение8 мин
Охват и читатели14K

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

Читать далее

О векторном вычислении экспоненциальной функции

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели6.7K

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

Читать далее

NoDPI4Android. Решаем проблему «деградации» YouTube теперь и на Android

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

Салют, Хабр! На связи снова я, Aragorn, со своим проектом по терроризированию Роскомпозора. В прошлый раз я рассказывал о NoDPI - утилите для "раздеградирования" YouTube и установил личный рекорд - 400 звезд на GitHub и блокировка статьи РКН через три дня после публикации.

Многие мои знакомые и люди в комментариях просили сделать версию под Android и Android TV. Я не очень дружу с Джавой и с Джавой под андроид в особенности, и поэтому такая перспектива меня не очень прельщала, но у меня был опыт написания android-приложений на python и kivy, который я и решил применить. После нескольких дней (и ночей) напряженного труда и танцев с бубном, мне наконец удалось создать NoDPI for Android, который практически не имеет аналогов. Именно о нем я и хочу сегодня рассказать. Надеюсь, статья будет вам полезна и интересна. Поехали!

Читать далее

Уменьшаем размер двоичного файла на C# в 90 раз

Уровень сложностиСредний
Время на прочтение24 мин
Охват и читатели19K

Я написал на C# консольный клон Wordle, но попытался сделать двоичный файл максимально крошечным.

Я взял популярную игру Wordle с такими правилами:

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

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

В работе с консолью мне помогла игра Console Games - Snake

Проект запускается в новой консоли dotnet.

Читать далее

Ни одна реализация элементарных функций не соответствует стандарту IEEE 754

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

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

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

Моя работа в течение последнего года заключалась в анализе погрешности различных математических функций, накопления этой погрешности и способов её уменьшения при помощи различных программных паттернов. Одной из исследованных мной тем были базовые математические функции, используемые в функциях активации нейронных сетей, а также способы их аппроксимации для повышения производительности. В процессе работы нам пришлось столкнуться с противодействием со стороны людей, активно стремящихся к корректной реализации математических функций и к соответствию их стандартам, в частности, к соблюдению обеспечения корректности одной наименее значимой единицы измерения (unit in last place, ULP) для элементарных функций.

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

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

Защита схемы от переполюсовки, что может быть проще?

Время на прочтение15 мин
Охват и читатели109K
image
«Я не такая», «со мной этого точно не может случиться» — говорили они, но упорно продолжали пихать батарейки в пульт для телевизора не той стороной…

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

Содержание:



Всех неравнодушных к электронике прошу под кат!
Читать дальше →

Как перемещать объекты с высокой точностью

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели15K
Картинка: sciencedirect.com, under CC license, коллектив авторов

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

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

Однако, что же делать, если требуется манипулировать объектами с субнанометровой точностью?
Читать дальше →

Стабилизируем положение потенциометра, считанное с АЦП

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели16K
Считать показания потенциометра для удобного аналогового управления системой, что может быть проще? Сеть завалена примерами работы с АЦП. Считали значение, вот мы и знаем положение… Но не всё так просто – эти значения всё время будут разными. Близкими, но разными. То есть, программа будет считать, что положение головки регулятора всё время дрожит.



В статье будет показано несколько методов борьбы с этими дрожаниями, начиная от самых простых (которые в подавляющем большинстве случаев достаточны), через более сложные и вплоть до алгоритма, придуманного специально для недавнего проекта. Наверняка, я уже 100500-й, кто такой алгоритм придумал, но после опроса знакомых, оказалось, что в списке тех, кто его собирается опубликовать, мой номер значительно меньше. Среди типовых он не находится. Возможно, кому-то он тоже окажется полезным.
Читать дальше →

Устройство для проверки источников постоянного тока (электронная нагрузка)

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели13K

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

Читать далее

Разгоняем оптрон до сотни

Время на прочтение2 мин
Охват и читатели50K

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

Читать далее

Тысяча и одна библиотека С++

Время на прочтение65 мин
Охват и читатели104K

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

Столкнувшись много раз подряд с тем, что найти что-то толковое довольно непросто, я решил попробовать распутать это узел и предложить для русскоязычных читателей свой справочник классных библиотек на С++. Я исходил из этого источника. Это очень многогранный и объемный список библиотек языка С++, но, скажем так, у меня были к нему вопросы. Потому я сделал перевод, затем значительно улучшил его в плане содержания (далее объясню, как, почему и зачем). На выходе получилось около 1000 библиотек. Как в сказке). Они, конечно, не покрывают все возможные задачи и предметные области, но поверьте, они затрагивают действительно многое.

Прикоснуться к сокровищнице языка С++

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность