Pull to refresh
0
0

User

Send message

Насколько быстр Javascript? Симулируем 20 миллионов частиц

Level of difficultyEasy
Reading time23 min
Views25K

Я бросил себе вызов: симулировать 1000000 (миллион) частиц на чистом Javascript на телефоне, используя только CPU и добившись 60 FPS.

Поехали.

Задача не особо сложна, если выполнять всю работу на GPU, но правило гласит, что нужно пользоваться только CPU, при этом работая на JS, так что никакого WASM.

Читать далее

Проект «Solar Future» или передача данных с Arduino на веб-интерфейс через GSM-сеть

Level of difficultyEasy
Reading time3 min
Views3.9K

Опыт создания приложения c использованием JS для мониторинга солнечной панели и управления электрической нагрузкой.

Читать далее

Fintech: системные потоки против параллелизма Async/Await в Rust

Level of difficultyHard
Reading time11 min
Views3.7K

Последнее время достаточно популярна "async/await" концепция в Rust. Безусловно для подавляющего большинства задач это лучший вариант. Так как она ориентирована на то что система, которая обрабатывает сетевые запросы, например сталкивается с блокировкой ввода/вывода к базе данных. В результате лучшим решением будет использование "async/await", так как он позволяет использовать один поток для обработки множества запросов. Если функция "async" не может быть завершена например из-за ожидания ввода-вывода, она может отдать управление в точке ее вызова "await". И "executor" например "Tokio" может переключиться на другую задачу.

Читать далее

История о том, как Graphviz и бор взломали шифр от Sony

Level of difficultyMedium
Reading time9 min
Views14K

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

Как это было

ODRS: Комплексный открытый фреймворк для формирования рекомендаций по выбору моделей обнаружения объектов

Level of difficultyEasy
Reading time3 min
Views831

Привет, коллеги! Если вы хотите упростить свою жизнь при разработке систем распознавания объектов, то стоит взглянуть на ODRS — это открытый фреймворк, который реально может сэкономить вам кучу времени и нервов.

Что такое ODRS?

ODRS, или Open Detection Recommendation System, — это проект от команды разработчиков из университета ИТМО и не только, который помогает выбирать и тренировать модели для обнаружения объектов. Этот фреймворк особенно полезен для разработчиков и исследователей, независимо от их опыта. ODRS анализирует ваши данные и предлагает оптимальные модели для конкретных задач. Поддерживаются такие популярные модели, как Faster R-CNN, Mask R-CNN, SSD и различные версии YOLO (5, 7 и 8).

Читать далее

STM32 + CMSIS + STM32CubeIDE

Reading time4 min
Views131K
Здесь я расскажу как создать минимальный проект на CMSIS с использованием «родной» IDE для микроконтроллеров STM – STM32CubeIDE.

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


Читать дальше →

Взламываем сеть при помощи ESP32

Reading time5 min
Views34K

Введение

Семейство микроконтроллеров ESP имеет кучу применений как в повседневной жизни, так и в узких отраслях. Рассмотрим микроконтроллер ESP32, так же его интересную прошивку.

WARNING

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

Читать далее

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

Level of difficultyMedium
Reading time28 min
Views29K

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

Читать далее

Как на самом деле работает Async/Await в C# (Часть 1)

Level of difficultyHard
Reading time12 min
Views66K

Несколько недель назад в блоге «.NET Blog» появилась статья «Что такое .NET, и почему вы должны выбрать его?». В нем был представлен высокоуровневый обзор платформы, кратко описаны различные компоненты и архитектурные решения, а также обещаны более подробные посты по затронутым темам. Этот пост является первым таким продолжением, в котором подробно рассматривается история создания, архитектурные решения и детали реализации async/await в C# и .NET.

Читать далее

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

Level of difficultyHard
Reading time13 min
Views104K
Приветствую всех!

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



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

Как на самом деле Async/Await работают в C#. Часть 2 Артефакты от EAP шаблона, SynchronizationContext

Level of difficultyHard
Reading time9 min
Views5.6K

Насколько я понял из комментариев к своим предыдущим статьям по этой теме:

1. Часть 1. Проблемы модели асинхронного программирования (APM)

2. Уроки по асинхронному программированию из первой половины работы

3. Параллельные вычисления — Все дело в контексте-синхронизации (SynchronizationContext)

4. Async/Await из C#. Головоломка для разработчиков компилятора и для нас

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

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

Читать далее

Восстановление данных с M.2 NVMe SSD. Скрипт ddrescue-loop v0.2

Level of difficultyEasy
Reading time13 min
Views21K

Речь пойдет о способе извлечения данных с неисправного SSD для случаев когда после попытки чтения любого сбойного сектора - SSD совсем перестает отдавать данные и помогает только отключение включение питания.

Представляю доработанную версию скрипта ddrescue-loop с поддержкой управления USB реле и uhubctl.

Для прерывания питания SSD задействовал простое и дешевое решение USB Relay Module LCUS-1 CH340 которые доступны на Aliexpress. И подключение через док станцию AgeStar 31CBNV1C на основе USB-NVMe моста JMicron JMS583.

Рассмотрим процесс восстановления на примере случая с неисправными M.2 NVMe SSD производства Kimtigo на контроллере Maxio MAP1202.

Погнали!

Простой цифровой радиоприемник на базе контроллера STM32G4 своими руками

Reading time44 min
Views41K

Обучающие проекты по созданию простого цифрового радиоприемника на базе микроконтроллера STM32G431KB.

Читать далее

Атрибуты Хорошего С-кода (Хартия Си Программистов)

Level of difficultyEasy
Reading time11 min
Views30K

Это не академические атрибуты из учебников. Это скорее правила буравчика оформления сорцов из реального prod(а). Некоторые приемы совпали с MISRA, некоторые с CERT-C. А кое-что является результатом множества итераций инспекций программ и перестроек после реальных инцидентов. В общем тут представлен обогащенный концентрат полезных практик программирования на С(ях).

Читать далее

STM32F3xx + FreeRTOS. Modbus RTU с аппаратным RS485 и CRC без таймеров и семафоров

Reading time9 min
Views30K
Всем привет! Относительно недавно, закончив ВУЗ, я попал в небольшую компанию, которая занималась разработкой электроники. Одна из первых задач с которой я столкнулся — необходимость в реализации Modbus RTU Slave протокола с использованием STM32. С грехом пополам я её тогда написал, однако этот протокол начал встречаться мне из проекта в проект и я решил зарефакторить и оптимизировать либу с использованием FreeRTOS.
Читать дальше →

Распознавание номеров. Практическое пособие. Часть 1

Reading time6 min
Views110K
Пример распознавания номерных знаков

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

И в один прекрасный день МВД Украины открыло доступ к реестру транспортных средств. Теперь по номерному знаку стало возможным проверять некоторую информацию про автомобиль (марку, модель, год выпуска, цвет и т.д. )! Скучная рутина линейного программирования померкла перед новой свехзадачей — считывать номера по всей базе фото и валидировать эти данные с теми, что указывал пользователь. Сами знаете как это бывает «глаза загорелись» — вызов принят, все остальные задачи на время стали скучны и монотонны… Мы принялись за работу и получили неплохие результаты, чем, собственно и решили поделиться с сообществом.
Для справки: на сайт AUTO.RIA.com, в день добавляется около 100 000 фото.
Датасаентисты давно уже знают и умеют решать подобные задачи, поэтому мы с dimabendera написали эту статью именно для программистов. Если вы не боитесь словосочетания «сверточные сети» и умеете писать «Hello World» на питоне — милости просим под кат…
Читать дальше →

Maha MH-C9000 — анализатор, заряжатор и восстановлятор для Ni-MH/Ni-Cd аккумуляторов

Reading time8 min
Views145K
Продолжаем освещать тему зарядных устройств. Сегодня на нашем столе настоящий монстр по работе с никелем, основными отличительными характеристиками которого являются большие токи заряда (вплоть до 2А на канал) и разряда (до 1А), информативный дисплей с подсветкой, пять режимов работы, среди которых заряд, восстановление и анализ, тренировка, разряд и цикл. К слову, это не все «плюшки», более подробно об этом устройстве я расскажу под катом.
image
Читать дальше →

.NET Server Core, кросс-платформенная разработка, Visual Studio 2015 и другие анонсы Microsoft Connect()

Reading time6 min
Views86K

Сегодня в Нью Йорке проходит конференция Microsoft Connect(), на которой анонсированы новые продукты и технологии. Выпущена предварительная версия Visual Studio 2015, специальная бесплатная редакция Visual Studio Community 2013, Visual Studio 2013 update 4, открывается исходный код .NET Server Core, выпущена предварительная версия .NET 2015, обновлены инструменты кросс-платформенной разработки на базе Apache Cordova, в Visual Studio появился эмулятор ОС Android. Это действительно новый этап в развитии инструментов разработки Microsoft, и мы рады рассказать о деталях.
Читать дальше →

Еще одно сердечко на Atmega

Reading time2 min
Views50K
Не так давно увлекся схемотехникой для музыки (усилители, гитарные эффекты) и как-то незаметно перешел с аналоговой на цифровую электронику. Выбор пал на микроконтроллеры фирмы Atmel, потому как товарищ довольно неплохо в них разбирался и, если что, было у кого спросить. Первым делом собрал программатор (клон STK500) и принялся за свой первый проект: мигание светодиодами. А так как дело близилось к 14 февраля решил совместить приятное с полезным и порадовать свою любимую супругу. Вдохновителем идеи был пост пользователя Terehoff: «Чем порадовать любимую 14 февраля».
Читать дальше →

1967 года рождения и моложе

Reading time6 min
Views220K
Прочитав этот и этот топики на печальную пенсионную тему я решил поделиться внутренними наработками нашей кадровой службы для наших сотрудников. Дальше много несмешного текста без картинок.
Читать дальше →
1
23 ...

Information

Rating
Does not participate
Registered
Activity