Pull to refresh

Цифровой окуляр для микроскопа своими руками

Reading time 2 min
Views 83K
DIY
В школьные годы мне очень нравилось рассматривать разные предметы под микроскопом. Все что угодно — начиная от внутренностей транзистора и заканчивая различными насекомыми. И вот, недавно решил я снова побаловаться микроскопом, подвергнув его небольшим переделкам. Вот что из этого получилось:


Под микроскопом — микросхема КС573РФ2 (ROM c УФ-стиранием). Когда-то на ней была записана тестовая программа для Спектрума.

Читать дальше →
Total votes 40: ↑37 and ↓3 +34
Comments 30

Гетерогенная конкурентная обработка данных в реальном времени строго один раз

Reading time 34 min
Views 13K
High performance *System Analysis and Design *Algorithms *Concurrent computing *Distributed systems *

Конкурентная сосиска


Аннотация


Обработка данных в реальном времени ровно один раз (exactly-once) — задача крайне нетривиальная и требующая серьезного и вдумчивого подхода на всей цепочке вычислений. Некоторые даже считают, что такая задача невыполнима. В реальности хочется иметь подход, обеспечивающий отказоустойчивую обработку вообще без каких-либо задержек и использование различных хранилищ данных, что выдвигает новые еще более жесткие требования, предъявляемые к системе: concurrent exactly-once и гетерогенность персистентного слоя. На сегодняшний день такое требование не поддерживает ни одна из существующих систем.


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


Введение


Разработчик распределенных систем проходит несколько стадий:


Стадия 1: Алгоритмы. Здесь происходит изучение основных алгоритмов, структур данных, подходов к программированию типа ООП и т.д. Код исключительно однопоточный. Начальная фаза вхождения в профессию. Тем не менее, достаточно непростая и может длиться годами.


Стадия 2: Многопоточность. Далее возникают вопросы извлечения максимальной эффективности из железа, возникает многопоточность, асинхронность, гонки, дебагинг, strace, бессонные ночи… Многие застревают на этом этапе и даже начинают с какого-то момента ловить ничем не объяснимый кайф. Но лишь единицы доходят до понимания архитектуры виртуальной памяти и моделей памяти, lock-free/wait-free алгоритмах, различных асинхронных моделях. И почти никто и никогда — верификации многопоточного кода.


Стадия 3: Распределенность. Тут такой треш творится, что ни в сказке сказать, ни пером описать.

Читать дальше →
Total votes 23: ↑23 and ↓0 +23
Comments 6

4 года игры в танчики

Reading time 9 min
Views 46K
Robotics development *Developing for Arduino *Robotics DIY Electronics for beginners
🔥 Technotext 2020

Доброго времени суток, дорогой читатель!

Сегодня я хочу поведать тебе забавную, ещё не закончившуюся историю странных совпадений, побед и поражений, радости и смуты. Если интересно как создавался, возможно, один из самых маленьких в мире "умных" (а не просто р/у) танков как на КДПВ, а так же при чём тут IoT, PHP и Angular - прошу под кат!

Узнать всё об этом
Total votes 175: ↑173 and ↓2 +171
Comments 76

Затерянные в тумане, или Увлекательные приключения в мире АПР *

Reading time 11 min
Views 20K
Programming microcontrollers *Development for Raspberry Pi *DIY Health

* АПР - аэропоника с пневматическим распылением

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

Вышло ли из этого что-то и что конкретно - под катом. Сразу предупрежу: статья огромная, потому что материала много. И очень много фото.

Читать далее
Total votes 77: ↑77 and ↓0 +77
Comments 58