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

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

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

Забытая война с пейджерами

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

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

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

В течение 1980-х эти устройства активно набирали популярность среди подростков, а также… драг-дилеров. В те годы США переживали общественную панику, связанную с активным употреблением наркотиков молодёжью, и этот факт значительно её усилил, поскольку пейджеры начали считать одним из главных подспорьев наркобизнеса.
Читать дальше →
Всего голосов 89: ↑87 и ↓2+118
Комментарии171

TOTP без смартфона, послесловие

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

После публикации статьи «TOTP без смартфона» она получила много интересных и полезных комментариев. Я решил подождать, пока обсуждение затихнет и провести работу над замечаниями и высказанными мыслями.

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

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

Как собрать LTE-модем на базе SDR

Уровень сложностиСложный
Время на прочтение17 мин
Количество просмотров18K
Приветствую всех!
Пожалуй, самой закрытой технологией в пользовательском сегменте является сотовая связь. Очень немногие знают о том, как на самом деле работают телефоны и модемы, отчего им часто приписывают всякие мифические свойства. Как насчёт попробовать запустить полностью открытую реализацию модема стандарта 4G? Именно этим я и предлагаю заняться.



Итак, в сегодняшней статье поговорим о том, как взаимодействовать с мобильной сетью при помощи SDR. Попутно узнаем, какой софт для этого существует, и соберём самый дорогой 4G-модем в истории.

Традиционно будет много интересного.
Читать дальше →
Всего голосов 96: ↑96 и ↓0+108
Комментарии22

Частые ошибки при разработке lockfree-алгоритмов и их решения

Время на прочтение13 мин
Количество просмотров59K
На хабре уже было несколько статей про lock-free алгоритмы. Этот пост — это перевод статьи моего коллеги, которую мы планируем публиковать в нашем корпоративном блоге. По роду деятельности мы пишем огромное количество lock-free алгоритмов и структур данных, и этой статьей хочется показать, насколько это интересно и сложно одновременно.



Эта статья во многом похожа на эту статью, но в той статье рассматриваются не все проблемы, с которыми можно столкнуться, разрабатывая lock-free структуры данных, и уделяется очень мало внимания решению этих проблем. В этой статье хочется детально остановиться на некоторых решениях, которые мы используем в реальной реализации lock-free структур данных в нашем продукте, и больше внимания уделить оценке производительности.
Читать дальше →
Всего голосов 148: ↑147 и ↓1+146
Комментарии52

RSync на стероидах с поддержкой Windows

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


На Хабре периодически рассказывают о новых инструментах для синхронизации данных. Это интересная тема. Такие программы используются:

  • для синхронизации файлов на разных устройствах,
  • дедупликации,
  • резервного копирования,
  • сжатия.

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

Кроме того, инструменты синхронизации интересны с алгоритмической точки зрения. Любопытно, как люди умудряются оптимизировать базовые алгоритмы типа rsync, которые вроде бы работают идеально. Но нет, всегда можно придумать что-то получше.
Читать дальше →
Всего голосов 62: ↑62 и ↓0+62
Комментарии27

Преобразование Уолша-Адамара

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

На сайте hackerrank.com есть отличная задача. По заданному массиву short[] A; найти максимальное количество его подмассивов, xor элементов которых будет одинаковым. Сам этот xor тоже нужно найти.

Максимальная длина массива равна 105, так что квадратичный алгоритм не укладывается в лимит по времени исполнения. Я в своё время с этой задачей не справился и сдался, решив подсмотреть авторское решение. И в этот момент я понял почему не справился — автор предлагал решать задачу через дискретное преобразование Фурье.

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

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

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

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

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

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

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

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

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

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

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

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

STM32. Процесс компиляции и сборки прошивки

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

Так родилась идея для этой статьи: не используя ничего, кроме текстового редактора и командной строки, собрать проект мигания светодиодом на отладочной плате STM32F0-Discovery. Поскольку я не до конца понимал, как происходит процесс компиляции и сборки проекта, мне пришлось восполнять пробелы в знаниях. Разобравшись с этим вопросом, я подумал — а почему бы не рассказать другим об этом?

Всем кому интересно — добро пожаловать под кат! 🙂

Читать дальше →
Всего голосов 107: ↑106 и ↓1+122
Комментарии67

Сам себе мобильный интернет. Запускаем базовую станцию стандарта 4G LTE

Уровень сложностиСложный
Время на прочтение13 мин
Количество просмотров84K
Приветствую всех!

Я уже не раз рассказывал про то, как в домашних условиях поднять сотовые сети разных стандартов. Но всё же все они были уже весьма древними. Самое время замахнуться на кое-что поинтереснее — LTE.



Итак, в сегодняшней статье поговорим о том, что детально в нашем сообществе не описывал практически никто — о том, как запустить базовую станцию самого нового из поддерживаемых большинством телефонов этой страны стандартов. Поговорим об особенностях её работы и о трудностях, с которыми, возможно, придётся столкнуться при запуске. Традиционно будет много интересного.
Читать дальше →
Всего голосов 313: ↑312 и ↓1+368
Комментарии156

Загружаем OpenIPC по сети на камеру без удаления заводской прошивки

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


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

Из дополнительных железок нам понадобится мультиметр, USB UART-адаптер на 3.3 вольта и dupont-проводки от макетной платы, чтобы подключиться к камере. Сегодня будем настраивать загрузку OpenIPC на камере с сервера вместо классической загрузки с микросхемы флэш-памяти. Если понравится, можно даже оставить работать камеру таким образом навсегда.

Особенно такой вариант будет удобен тем, кто разрабатывает программы для камеры, и нужно быстрым и удобным способом подкидывать в систему программы, модули ядра, менять ядро и саму корневую файловую систему. А также тем, кто использует камеру как одноплатный компьютер вместо плодово-ягодных плат.
Дальше о том, как заставить загружаться камеры с сервера по сети
Всего голосов 60: ↑60 и ↓0+60
Комментарии7

Затыкаем рот Windows 10

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


Windows 10 очень любит Интернет. Обновления, синхронизации, телеметрия и ещё куча разной другой очень нужной ЕЙ информации постоянно гуляет через наши сетевые соединения. В «стандартном» сценарии использования, когда Windows 10 управляет домашним или рабочим компьютером, это, в общем-то, терпимо, хотя и не очень приятно.

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

Для того чтобы подобного не происходило, необходимо «заткнуть рот Windows», то есть сделать так, чтобы она самостоятельно перестала «стучаться» в Интернет, устанавливать обновления и заниматься прочими непотребствами. Вот именно этим мы с вами и займёмся.
Читать дальше →
Всего голосов 171: ↑161 и ↓10+197
Комментарии308

Сделаем для вас биометрию. Отказаться не получится

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

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

В октябре 2023 банк Тинькофф начал предлагать своим клиентам перевести имеющиеся у него фотографии в биометрический формат (и потом загрузить их в Единой биометрической системе — ЕБС). Причём от этого предложения было не так легко отказаться (для удобства клиентов кнопки "Не хочу" просто не было предусмотрено). Обо всём этом уже писали ранее.

Зачем это всё было надо для Тинькова? Вопрос сложный. Может быть из любви к своим клиентам, может быть чтобы заполнить пустующую ЕБС, может быть для ещё каких-то важных целей, неведомых простым смертным. Только топ-менеджмент Тинькова может дать ответ на этот вопрос, но это нам и не важно. Интереснее что из всего этого получилось.

В обсуждении к упомянутой выше статье некоторые комментаторы решили попробовать или удалить из Тинькова биометрическую информацию или явно написать им, что согласия они не дают. Идея показалась разумной и мне. Ещё тогда, в октябре 2023, я написал в чат, что хочу удалить биометрчиескую информацию. Вероятно, я был не один такой, так как бот Олег сам всё понял и сам прислал на мою почту справку о том, что никакой моей биометрии у них нет. Разумеется, согласие на создание биометрии из имеющихся данных (фото и аудио) я Тинькову не давал.

Читать далее
Всего голосов 161: ↑160 и ↓1+197
Комментарии222

In RISC-V Rust

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

Превращаем простой пример распознавания нот из лабораторных работ Школы синтеза цифровых схем в Enterprise. Используем компилятор Rust для RISC-V микроконтроллера YRV-Plus.

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

Фотохостинги с 2017 по 2023 (утрачено 57% фотографий)

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

С публикации прошлого текста ( «Тестирование фотохостингов на цифровой износ (21 шт)») прошло 6 лет, что позволяет провести новое исследование, но не по теме цифрового износа и конкретно по вопросу выживания цифровых архивов.

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

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

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

Плёночная фотография: инструкция по выживанию в условиях высоких цен

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

Хотите детокса от «цифры»? А может, вы просто хотите попробовать что-то новое в фотографии? На помощь придёт плёночная фотография! Дорого, но интересно. Поверьте, попробовать точно стоит! В этом материале я затрону два самых распространённых формата плёнки — 35 мм и 120, со всеми основными аспектами съёмки, покупки камер и плёнки.
Читать дальше →
Всего голосов 58: ↑55 и ↓3+69
Комментарии157

Разработка и тестирование целочисленного сумматора с AXI-Stream интерфейсами. Часть 3

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

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

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

Разработка и тестирование целочисленного сумматора с AXI-Stream интерфейсами, часть 2

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

Вторая статья из цикла, посвященного проектированию с использованием стандартного интерфейса AXI-Stream, а также отладке и документации проектов.

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

Разработка и тестирование целочисленного сумматора с AXI-Stream интерфейсами. Часть 1

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

В данном цикле статей будет представлен процесс разработки и тестирования RTLмодулей на языке Verilog. В качестве примера будет рассмотрен целочисленный
сумматор с AXI-Stream интерфейсами. Мы разберем некоторые приемы и паттерны,
часто используемые при проектировании цифровых устройств. Также мы покажем
типовую структуру тестового окружения для проверки RTL-модулей.
Описанное нами окружение будет состоять из отдельных компонентов, у каждого из
которых будет своя конкретная задача. При правильном подходе к разработке этих
компонентов их можно будет повторно использовать в других тестовых окружениях.

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

Переделка мини компьютера в мобильный NAS

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

Что если взять готовый мини компьютер и установить в него несколько SSD дисков для того чтобы получить мобильный NAS?

В статье рассмотрена возможность доработки готового мини ПК на процессоре RK3568 до мобильного NAS с помощью дополнительного модуля дисков.

Рассказывается как собрать почти полный прототип мобильного NAS на основе мини ПК и приводится пример разработки своего модуля дисков.

Доработать можно всё, но...
Всего голосов 42: ↑42 и ↓0+42
Комментарии66
1
23 ...

Информация

В рейтинге
3 934-й
Откуда
Долгопрудный, Москва и Московская обл., Россия
Зарегистрирован
Активность