Как стать автором
Обновить
2
0

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

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

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

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

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

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

Я ускорил генерацию blurhash в 3̶6̶ 8̶7̶ 128 раз

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

Старую собаку новым трюкам не обучишь, вот и я взялся за старое. Blurhash — это компактный способ представления размытой превьюшки изображения в виде ASCII-строки. Разработан финской компанией Wolt (аналог Delivery Club). Давно хотелось внедрить такое к себе в API, чтобы любой клиент мог более плавно и изящно делать загрузку контент на своем сайте. Но сколько я на него смотрел — всегда не давала покоя скорость работы, уж больно медленно и «в лоб» он был написан. Но вот время пришло наконец-то разобраться, что же он так медленно работает.

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

Краткий гайд по квантованию нейросетей

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

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

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

Рассказываем о видах квантования и приводим примеры в этой статье

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

Делаем правильный анаглиф своими руками

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


Всем привет. Сегодня я поделюсь методом создания высококачественных анаглифических изображений с минимальными трудозатратами. Динозавров делать не будем: возьмем любую фотографию из семейного архива и получим полноценное трехмерное изображение. Сразу скажу, что концепция не новая, но мы будем использовать современные наработки и даже напишем простейший плагин для GIMP, от которого, впрочем, придется отказаться…
Читать дальше →
Всего голосов 40: ↑39 и ↓1+53
Комментарии9

Rust и иммутабельность

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

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

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

Начнем с синтаксических особенностей.

Читать далее
Всего голосов 15: ↑9 и ↓6+8
Комментарии12

За что мы любим (пост)апокалипсис? Часть 4: мутанты, радиация и мрачнеющие краски атомного армагеддона

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

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

Все части цикла статей о постапокалиптике:
Читать дальше →
Всего голосов 43: ↑40 и ↓3+53
Комментарии14

Фокусы с опторазвязкой

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

Нюансы оптронной развязки, борьба с её недостатками и интересный на мой взгляд костыль: как разогнать скорость копеечной опторазвязки и наполучать других бонусов. Я не силён в рекламе, поэтому на месте КДПВ будет сразу тема статьи.

Читать далее
Всего голосов 125: ↑124 и ↓1+160
Комментарии63

Фен и нижний подогрев. Снятие/установка BGA без реболлинга

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

Приветствую, Хабр!

В статье хочу показать процесс снятия чипов в BGA корпусе и установки на новую плату не перекатывая шарики. Опишу некоторые нюансы, которые позволяют осуществлять данную операцию более или менее безболезненно.

Читать далее
Всего голосов 46: ↑45 и ↓1+68
Комментарии28

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

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


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

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

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

1. Nix в пилюлях: Почему вам стоит попробовать Nix

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

Предисловие


В 2014 и 2015 годах Люка Бруно (Luca Bruno aka Lethalman) опубликовал серию постов, описывающих пакетный менеджер Nix, операционную систему NixOS и хранилище Nixpkgs.


Люка назвал свои посты пилюлями (англ. pill — таблетка, пилюля).


Берясь за перевод, я пытался выяснить, нет ли у выражения in pills устойчивого смысла.
Оказалось, что скрытый смысл есть у самого слова Nix.
Это одна из торговых марок перметрина — средства против клещей, которое доступно только в виде мази.
Иными словами, медицинского Никса ни в пилюлях, ни в таблетках не бывает.


С момента публикации, Nix в пилюлях считается классическим введением в Nix. В 2017 году Грэм Кристиансен (Graham Christensen aka grahamc/gchristensen) инициировал работу по переводу серии статей в формат электронной книги.


Актуальную оригинальную версию книги вы найдёте по адресу https://nixos.org/guides/nix-pills/.
Там же доступен вариант в формате EPUB.


В 2024 году Марк Шевченко начал перевод книги на русский язык.
Актуальная версия доступна по адресу https://nix-pills-ru.github.io.


ℹ️ В примерах, команды, которые начинаются с символа "решётка" (#), должны быть запущены с правами пользователя root.

(Адрес статьи на официальном сайте перевода).


Почему вам стоит попробовать Nix


Введение


Добро пожаловать на первую пилюлю из цикла «Nix в пилюлях».
Nix — это чистый функциональный пакетный менеджер и система развёртывания для POSIX-совместимых ОС.

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

2. Nix в пилюлях: Установка в вашей системе

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

Вторая статья из цикла Nix в пилюлях. Устанавливаем Nix в нашу систему, разбираемся и профилями и поколениями, и выясняем, что в Nix есть база данных.

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

3. Nix в пилюлях: Погружаемся в среду

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

Третья статья из цикла Nix в пилюлях. Наконец-то, практика! Разбираемся, что такое окружения и поколения, учимся откатывать изменения, выясняем, как работать с каналами

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

4. Nix в пилюлях: Основы языка

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

Четвёртая часть из цикла статей Люка Бруно, посвящённой пакетному менеджеру и языку программирования Nix.

Здесь мы знакомимся с основами языка.

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

Разработка цифровой аппаратуры нетрадиционным методом: Yosys, SpinalHDL, VexRiscv (ч. 2)

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

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

Основная прелесть использования ПЛИС, на мой взгляд, состоит в том, что разработка аппаратуры превращается в программирование со всеми его свойствами: написание и отладка кода как текста на специализированных языках описания аппаратуры (HDL); код распространяется в виде параметризованных модулей (IP-блоков), что позволяет его легко переиспользовать в других проектах; распределенная разработка обширным коллективом разработчиков с системой контроля версий, такой же, как у программистов (Git); и, как и в программировании, ничтожно низкая стоимость ошибки.

Последнее очень важно, так как если при разработке устройства классическим методом разработчик несет вполне существенные затраты на сборку и производство изделия, и любая схемотехническая ошибка или ошибка трассировки печатной платы — это всегда выход на очередную итерацию и попадание на деньги, то при работе с ПЛИС ошибки ничтожны по своей стоимости и легко устранимы. И даже если в серийном изделии обнаруживается ошибка, то её во многих случаях можно устранить очередным апгрейдом прошивки «в поле» без замены изделия. Короче, с приходом ПЛИС разработка цифровой аппаратуры все больше и больше выглядит как программирование, а это, помимо всего прочего, существенно понижает порог вхождения в тему, и все больше программистов становятся разработчиками «железа». А новые люди, в свою очередь, приносят с собой в индустрию новые подходы и принципы.

В этой статье я хочу поделиться своим небольшим опытом «программирования» микросхем ПЛИС и тем, как я постепенно погружался в тему ПЛИСоводства. Изначально я собирался написать небольшую заметку про открытый тулчейн для синтеза Yosys. Потом — про язык SpinalHDL и синтезируемое микропроцессорное ядро VexRiscv, на нём написанное. Потом — про замену микроконтроллеров микросхемами ПЛИС на примере моей отладочной платы «Карно». Но в процессе я погрузился в историю появления Hardware Description Languages (HDL), и когда я начал писать, Остапа, как это часто бывает, понесло... В общем, получилось то, что получилось.

Продолжить погружение
Всего голосов 24: ↑24 и ↓0+24
Комментарии15

Разработка цифровой аппаратуры нетрадиционным методом: Yosys, SpinalHDL, VexRiscv (ч.1)

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

Основная прелесть использования ПЛИС, на мой взгляд, состоит в том, что разработка аппаратуры превращается в программирование со всеми его свойствами: написание и отладка кода как текста на специализированных языках описания аппаратуры (HDL); код распространяется в виде параметризованных модулей (IP-блоков), что позволяет его легко переиспользовать в других проектах; распределенная разработка обширным коллективом разработчиков с системой контроля версий, такой же, как у программистов (Git); и, как и в программировании, ничтожно низкая стоимость ошибки.

Последнее очень важно, так как если при разработке устройства классическим методом разработчик несет вполне существенные затраты на сборку и производство изделия, и любая схемотехническая ошибка или ошибка трассировки печатной платы — это всегда выход на очередную итерацию и попадание на деньги, то при работе с ПЛИС ошибки ничтожны по своей стоимости и легко устранимы. И даже если в серийном изделии обнаруживается ошибка, то её во многих случаях можно устранить очередным апгрейдом прошивки «в поле» без замены изделия. Короче, с приходом ПЛИС разработка цифровой аппаратуры все больше и больше выглядит как программирование, а это, помимо всего прочего, существенно понижает порог вхождения в тему, и все больше программистов становятся разработчиками «железа». А новые люди, в свою очередь, приносят с собой в индустрию новые подходы и принципы.

В этой статье я хочу поделиться своим небольшим опытом «программирования» микросхем ПЛИС и тем, как я постепенно погружался в тему ПЛИСоводства. Изначально я собирался написать небольшую заметку про открытый тулчейн для синтеза Yosys. Потом — про язык SpinalHDL и синтезируемое микропроцессорное ядро VexRiscv, на нём написанное. Потом — про замену микроконтроллеров микросхемами ПЛИС на примере моей отладочной платы «Карно». Но в процессе я погрузился в историю появления Hardware Description Languages (HDL), и когда я начал писать, Остапа, как это часто бывает, понесло... В общем, получилось то, что получилось.

А еще эту статью можно рассматривать как глубокое погружение в то, что происходит вот на этом новогоднем видео.

Погрузиться сполна
Всего голосов 42: ↑41 и ↓1+58
Комментарии65

Нейросети, виртуальная реальность и Бог-солипсист

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

Несколько недель тому назад компания OpenAI анонсировала скорый выход нейросети SORA, способной создавать связный осмысленный видеоряд из простого текстового описания того, что вы хотите увидеть. То, как работает эта нейросеть, можно узнать из великолепной статьи "Настоящее предназначение OpenAI SORA: как и зачем симулировать «Матрицу» для ChatGPT". Несмотря на то, что тема, на которую я хочу поговорить с вами сегодня, напрямую не связана с написанным в той статье, я всё же рекомендую вам прочитать её прежде, чем вы начнёте чтение этого поста, так как это просто необходимо для лучшего понимания некоторых из моих идей.

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

Неожиданная эффективность квазислучайных последовательностей

Время на прочтение22 мин
Количество просмотров23K
В этой статье я представляю новую квазислучайную последовательность с низким расхождением, обеспечивающую значительное улучшение по сравнению с современными последовательностями, например, Соболя, Нидеррайтера и т.д.


Рисунок 1. Сравнение различных квазислучайных последовательностей с низким расхождением. Заметьте, что предлагаемая мной $R$-последовательность создаёт более равномерно распределённые точки, чем все остальные методы. Более того, все остальные методы требуют тщательного подбора базовых параметров, а в случае неправильного подбора приводят к вырожденности (например справа вверху)

Рассматриваемые в статье темы

  • Последовательности с низким расхождением в одном измерении
  • Методы с низким расхождением в двух измерениях
  • Расстояние упаковки
  • Множества с многоклассовым низким расхождением
  • Квазислучайные последовательности на поверхности сферы
  • Квазипериодический тайлинг плоскости
  • Маски дизеринга в компьютерной графике

Какое-то время назад этот пост был выложен на главной странице Hacker News. Можете прочитать там его обсуждение.
Всего голосов 90: ↑90 и ↓0+90
Комментарии8

Как калькуляторы вычисляют синус?

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

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

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

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

Обзор схемотехнических решений BMS для литиевых батарей

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров50K
Давно ушли те времена, когда для контроля за состоянием аккумуляторной батареи было достаточно стрелочного амперметра. Литиевые аккумуляторы вполне заслуженно обрели популярность в современных автономных устройствах. Они обладают достаточно высокими характеристиками при весьма доступной стоимости, но очень капризны в эксплуатации.

image

В этой статье представлен краткий обзор на специализированные микросхемы мониторинга и защиты для литиевых аккумуляторов. Давайте вместе попробуем разобраться, как максимально эффективно и безопасно использовать эти аккумуляторы в своих устройствах и какие схемы для этого лучше подойдут.
Читать дальше →
Всего голосов 73: ↑73 и ↓0+73
Комментарии87

7 производителей печатных плат вместо JLCPCB. Где можно заказать платы в 2023 году

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

Привет, Хабр! Я – Дима, в компании отвечаю за закупку компонентов. Долгове время у нас было два поставщика печатных плат. Один из них вышеупомянутый JLCPCB. После того, как он ушел из России, пришла проблема откуда не ждали – второй поставщик начал подводить по срокам и отгружать откровенный брак. 

Встал вопрос о поиске новых производителей. Я пытался найти в сети честные отзывы, но их либо не было, либо были заказные. За год я попробовал работать с 7 производителями. Ниже делюсь своими впечатлениями: плюсы и минусы.

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

Читать далее
Всего голосов 48: ↑48 и ↓0+48
Комментарии67
1
23 ...

Информация

В рейтинге
5 494-й
Зарегистрирован
Активность