Рубрика «ruvds_статьи» - 40

Мой Флиппер дошёл до меня больше полугода назад, но что-то под него написать я собрался только сейчас. Его API рассчитаны на язык С — а у меня с ним опыта не очень много. Но проблем с тулингом не возникло — у Флиппера есть своя система сборки, которая скачала мне нужный тулчейн и сгенерировала настройки для IDE.

А для написания кода я решил использовать всё же не C, а C++ — точнее, даже «Си-с-классами». На мой взгляд, затуманенный языками более высокого уровня, такой подход получился удобнее, чем писать на чистом C. Результат можно увидеть в моём репозитории, а в этой статье я попытаюсь описать, какие конкретные фичи языка я использовал, и как именно они мне помогли.

Как и почему я писал для Флиппера на Си-с-классами - 1

Читать полностью »

Управление Linux-сервером — самая ценная инвестиция - 1


В эпоху облаков настройка Linux-сервера своими руками кажется неким вымирающим искусством. Для непосвящённого человека даже bash-скрипты выглядят как заклинания, а коллеги проникаются уважением к сисадмину, как древние индейцы к своему шаману…

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

Электромагнетизм и некоторые интересные явления и процессы - 1

Картинка Freepik

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

Читать полностью »

Итальянцы в России и не только. История Olivetti - 1


Если бы у нас была возможность отправиться на машине времени в самое начало 90-х годов и включить телевизор, то мы слегка обалдели бы от транслируемых в эфире рекламных роликов. Реклама водки и сигарет, уникальные креативные приёмы из серии «вам пора, и вам пора с вентиляторным заводом заключать договора», подмигивающий Распутин, Лёня Голубков в неизменной майке-алкоголичке, и, конечно же, маскулинный полисмен, отбирающий у сексуальной блондинки незаконную пачку «Стиморола». Среди всего этого великолепия определённой скромностью и сдержанностью отличалась реклама компьютеров производства итальянской компании Olivetti. Да что там реклама — логотип Olivetti какое-то время украшал циферблат часов, демонстрировавшихся в эфире Первого канала перед программой вечерних новостей. Об истории этого удивительного бренда — наш сегодняшний рассказ.
Читать полностью »

Легендарный Brown Sound на полевых транзисторах - 1


Привет! Brown Sound — это специфическое звучание электрогитары, ставшее визитной карточкой Эдди Ван Халена. Повторить уникальный звук великого гитариста пытались и пытаются многие. У каждого получается что-то своё.

Сегодня мы соберём и послушаем один из вариантов «дисторшна по ван-халеновски», используя интересную схему на полевых транзисторах с управляющим переходом (JFET).
Читать полностью »

Роль личности в науке: нашли бы мы теорию относительности без Эйнштейна? - 1


Законы механики и всемирного тяготения Ньютона прекрасно описывают практически все земные явления, а также движения Луны и планет. В этом смысле Ньютон обеспечил прекрасный синтез двух ранее различных наборов явлений: земных и небесных. Однако, как и в случае со всеми теориями, сочетание экспериментальных результатов и концептуальных рассуждений в конечном итоге заставило отойти от теории тяготения Ньютона и заменить её общей теорией относительности (ОТО) Эйнштейна.

Со временем в теории Ньютона вскрылось в общей сложности три проблемы. Во-первых, концептуальная: согласно ньютону сила тяготения между двумя телами была пропорциональна произведению инерционных масс тел. Таким образом, инерционная масса выполняла двойную функцию. В первую очередь она по определению, была мерой сопротивления объекта изменению скорости. А кроме того, инерционная масса была чем-то вроде «гравитационного заряда». Подобно тому, как электрический заряд определяет силу электростатических сил между двумя заряженными объектами, инерционная масса (она же гравитационный заряд) определяет силу соответствующей гравитационной силы. Именно по этой причине, как установил Галилей, все предметы падают на Землю с совершенно одинаковой скоростью. Причина такого двойного действия — полная загадка в контексте ньютоновской механики, но, по сути, тривиальное следствие эйнштейновской гравитации.
Читать полностью »

Графика древности: легендарный Mode 7 - 1


Технологический переход в индустрии видеоигр, случившийся в середине 1990-х годов — от пиксельной графики игр прошлых лет к полигональной графике игр чуть менее прошлых лет — произошёл не одномоментно. Ему предшествовала эпоха экспериментов, когда разработчики придумывали разнообразные способы убедительной имитации трёхмерного изображения в рамках скромных вычислительных ресурсов. Изометрический движок Filmation и силуэтная графика в Tau Ceti на ZX Spectrum, технология масштабирования спрайтов Super Scaler компании Sega, рейкастинг в Wolfenstein 3D, BSP-дерево в Doom, воксельный ландшафт в игре Comanche — эти времена породили множество любопытнейших технологий, каждая из которых достойна отдельного рассказа.

В до сих пор звучащих отголосках так называемых консольных войн той эпохи (что круче — Sega Genesis или Super Nintendo?) часто можно услышать ещё одно название, которым уместно дополнить список выше — Mode 7. Мы не знаем, что это такое, если бы мы знали, что это такое, но обычно под этим подразумевается какое-то вращение или масштабирование объектов в играх, или же уходящая вдаль дорога, как в гоночных играх F-Zero и Super Mario Kart, или же карта мира, как во многих играх жанра JRPG. В реальности всё интереснее, сложнее, и как водится, требовало от разработчиков недюжинной креативности. Сегодня поговорим об этой технологии.Читать полностью »

Простой ORM для sqlite3 - 1


ORM, или объектно-реляционное отображение — это программная технология, которая позволяет взаимодействовать с базами данных с использованием объектно-ориентированной парадигмы. Вместо того чтобы писать SQL-запросы напрямую для работы с данными в базе данных, можно использовать ORM, чтобы взаимодействовать с данными, как если бы они были объектами в вашем коде.

Не бывало ли вам интересно, как работает изнутри такая идейно простая концепция? Благодаря чему достигается удобство работы? Сегодня мы напишем ORM самостоятельно и узнаем, какие инструменты python нам для этого понадобятся.Читать полностью »

Как начать работать с IPv6 там, где его нет (часть 3) - 1

В предыдущих частях цикла статей (часть 1, часть 2) мы настроили подключение к IPv6-брокеру на VDS под управлением операционной системы CHR от Mikrotik. Подготовили туннелирование до устройств сети, которые как умеют, так и нет работать с VPN, используя PPTP, SSTP и статическую маршрутизацию. Уделили достаточно внимания обеспечению сетевой безопасности подключаемых к IPv6 пользователей.

Настало время перенести всё на Linux. При этом самая простая задача (конфигурирование клиента для подключения к брокеру) уже выполнена. В завершающей части цикла настроим туннелирование IPv6 до устройств домашней сети посредством старого доброго L2TP, а для работы мобильных устройств дополнительно организуем IKEv2-сервер. Чтобы лучше понимать происходящие процессы, рекомендуется ознакомиться с предыдущими двумя статьями, так как с целью исключения болтологии вводный материал повторяться не будет.Читать полностью »

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

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

Но сейчас перед человечеством стоит скорее обратная задача: мы хотим обеспечить точную навигацию по местности без GPS, и для этого нужны ещё более точные атомные часы, чем для работы GPS. Зная скорость и направление движения любого объекта, часы нового поколения обеспечат позиционирование с точностью до метра/сантиметра (в зависимости от их точности, а также точности других датчиков). В общем, главная задача теперь — решить проблему зависимости от спутниковой навигации, которая не всегда доступна.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js