Pull to refresh
11
0
Ник Коробко @Klaus

User

Send message

Неортогональная БИНС для малых БПЛА

Reading time7 min
Views32K
БИНС
По правилам сокращений в заголовке не должно быть, но расписав сокращения я превратил бы заголовок в аннотацию. Так что вот…
  • БИНС — бесплатформенная инерциальная навигационная система
  • БПЛА — беспилотный летательный аппарат
  • ОЧ — ось чувствительности датчика

Речь в статье пойдет о навигационной системе, в которой ОЧ датчиков ориентированы неортогонально, т.е. расположены под некоторым, ненулевым, углом к осям системы координат, связанной с БПЛА. Особенность таких БИНС в том, что по информации от каждого из датчиков можно получить значения всех трех компонент угловой скорости (для гироскопов) и линейного ускорения (для линейных акселерометров) объекта.
Статья написана как дополнение к Строим мультикоптер, часть вторая. Целью является описание одного из способов борьбы с дрейфом нуля в дешевых датчиках.
Для чего нужна избыточность читать тут...
Total votes 67: ↑63 and ↓4+59
Comments45

Отладка REST-сервиса на коленке — готовое решение

Reading time1 min
Views5.6K
В процессе писания REST-сервиса уткнулся в странную проблему — не нашел приличного инструмента для отладки jsonp ответа от сервера.
За пол-дня накидал приемлемый вариант — одна html страница, которую можно хоть прямо с диска загрузить и кучка чужих js-либ, чтобы вся эта красота работала.
Выглядит примерно так:



Все бобро выложено на github, если кому-то нужно — пожалуйста!

Disclaimer: может оказаться полезным в случае если вам нужен кросс-платформенный и кросс-браузерный нативный «ajax-клиент имитатор» для кросс-доменных запросов с малым потреблением памяти и наглядным вводом и выводом ответа сервера.
Total votes 68: ↑55 and ↓13+42
Comments57

Волшебное превращение: беспроводная точка доступа или маршрутизатор становится узлом гипертекстового Фидонета

Reading time1 min
Views8.7K
Эта новость напрямую касается владельцев устройств Asus RT-N16, Asus RT-N12, Asus RT-N10, Asus WL-500gP, Asus WL-500W, D-Link DIR-320. Давным-давно не секрет, что все они (после той или иной перепрошивки) могут использоваться в качестве сервера Linux MIPS. На эту тему существует форум wl500g.info, да и на Хабрахабре мы видали отчёты и рецепты полудюжины блоггеров, которые настраивали на этом железе принт-сервер, файловый сервер с доступом по HTTP и BitTorrent, WiMAX-маршрутизатор, наращивали оперативную память и даже впаяли жёсткий диск.

Очередной шаг в этом направлении совершил фидошник по имени Александр Рыжов (2:5019/40.5), который собрал для этой же архитектуры все те свободные программы, которые входят в пакет fidoip (тот самый пакет, который я здесь упоминал в январе прошлого года в связи с появлением в нём поддержки гипертекстового Фидонета).

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

Весь необходимый софт и инструкции по его установке вы без труда найдёте в вики fidoip на SourceForge.
Total votes 99: ↑56 and ↓43+13
Comments37

Преобразование hex->dec — ищем красивые решения

Reading time1 min
Views31K
После обсуждения алгоритмов поиска цифр в строке возникла идея рассмотреть в том же ключе какие-нибудь другие задачи. Подходящей показалась задача преобразования целого числа из 16-ричной системы в десятичную: не очень громоздкая, с по меньшей мере одним очевидным алгоритмом и, может быть, многими неочевидными, и понятная.

Читать дальше →
Total votes 10: ↑5 and ↓50
Comments46

Инструменты кросскомпиляции для ARM

Reading time3 min
Views30K
В сети есть достаточно много источников на тему сборки приложений под архитектуру ARM, но когда я впервые столкнулся с такой задачей, то набил не одну шишку. Этот топик будет про самые начала кросскомпиляции и различные подходы к этому вопросу.

Моё устройство принадлежит к архитектуре ARMv5TE и разработка велась на x86 машине с Ubuntu Linux.
Так как это введение, то собирать будем простую программу для высчитывания факториала числа.

Подход 1. Коммерческий.
Читать дальше →
Total votes 32: ↑28 and ↓4+24
Comments11

Запретный плод GOTO сладок!

Reading time9 min
Views109K
Доброго времени суток!

Какое Ваше отношение к оператору goto в языках С/С++? Скорее всего, когда Вы учились программировать, Вы его использовали. Потом Вы узнали, что это плохо, и Вы о нем позабыли. Хотя иногда при сложной обработке ошибок… нет-нет, там try … throw … catch. Или же для выхода из вложенных циклов … не-ет, там флаги и куча сложностей. Или когда вложенные switch … нет-нет-нет, там те же флаги.
И все-таки, иногда в ночной тиши Вы допускали в свое подсознание грешную мысль – «а почему бы не использовать вот тут goto? И программа вроде как стройней будет, и оптимально выходит. Да-а, было бы хорошо… Но нет – нельзя, забыли!».
А почему так оно?
Под катом – небольшое расследование и мое, основанное на многолетней практике и разных платформах, отношение к этому вопросу
UPD: тут статья рассматривает С и С++, программирование для PC и слегка для микроконтроллеров. Конкретно о микроконтроллерах есть другая статья.
Интересно? - тогда читаем!
Total votes 172: ↑135 and ↓37+98
Comments273

TOP'ай сюда

Reading time5 min
Views179K
Обзор практически всех *top утилит под linux (atop, iotop, htop, foobartop и т.д.).

top

Все мы знаем top — самую простую и самую распространённую утилиту из этого списка. Показывает примерно то же, что утилита vmstat, плюс рейтинг процессов по потреблению памяти или процессора. Совсем ничего не знает про загрузку сети или дисков. Позволяет минимальный набор операций с процессом: renice, kill (в смысле отправки сигнала, убийство — частный случай). По имени top суффикс "-top" получили и все остальные подобные утилиты в этом обзоре.

atop


Atop имеет два режима работы — сбор статистики и наблюдение за системой в реальном времени. В режиме сбора статистики atop запускается как демон и раз в N времени (обычно 10 мин) скидывает состояние в двоичный журнал. Потом по этому журналу atop'ом же (ключ -r и имя лог-файла) можно бегать вперёд-назад кнопками T и t, наблюдая показания atop'а с усреднением за 10 минут в любой интересный момент времени.

В отличие от top отлично знает про существование блочных устройств и сетевых интерфейса, способен показывать их загрузку в процентах (на 10G, правда, процентов не получается, но хотя бы показывается количество мегабит).

Незаменимое средство для поиска источников лагов на сервере, так как сохраняет не только статистику загрузки системы, но и показатели каждого процесса — то есть «долистав» до нужного момента времени можно увидеть, кто этот счастливый момент с LA > 30 создал. И что именно было причиной — IO программ, своп (нехватка памяти), процесор или что-то ещё. Помимо большего количества информации ещё способен двумя цветами подсказывать, какие параметры выходят за разумные пределы.
Читать дальше →
Total votes 401: ↑389 and ↓12+377
Comments122

Linux: запуск графических приложений в фоне

Reading time3 min
Views60K
Приветсвую, коллеги!

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

Если ответ хотя бы на один из вопросов «да», то эта статья для вас.

Читать дальше →
Total votes 89: ↑84 and ↓5+79
Comments28

Парень выложил свой геном на Github под открытой лицензией

Reading time1 min
Views3.7K
Программист Ману Спорни (Manu Sporny) секвенировал свой геном с помощью инструментов 23andme и выложил его в репозиторий под лицензией Creative Commons Public Domain.

Конечно, опубликован не весь геном, а только 966 977 маркеров SNP, то есть тех участков генома, которые отвечают за индивидуальные особенности каждого человека.
Читать дальше →
Total votes 150: ↑137 and ↓13+124
Comments110

Fullmetal NAS

Reading time5 min
Views12K


Предыстория

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

Ну на atom’e я ничего не собирался собирать, так как у меня его банально нет. Я предпочёл второй вариант, он подходил мне больше, но у меня нет такого туалета, куда бы все это поместить и был придуман вариант немного другой.

Читать дальше →
Total votes 215: ↑207 and ↓8+199
Comments123

Частный опыт установки и настройки Asterisk с нуля

Reading time17 min
Views343K
Во-первых, дисклаймер

Настройке Asterisk посвящены сайты, форумы и целые порталы типа voip-info.org. Но всегда есть люди, для которых эта тема – дремучий лес, а запустить продукт надо «вчера». Ещё полтора месяца назад я про Asterisk знал только то что он есть. Данный труд призван лишь несколько облегчить жизнь тем, кто окажется в такой же ситуации после меня. В нём могут быть ошибки любой степени «чайниковости». Если вы гуру настройки Asterisk – укажите на ошибку, я поправлю, потомки будут вам благодарны.
Читать дальше →
Total votes 79: ↑75 and ↓4+71
Comments56

Знакомьтесь — Linux From Scratch

Reading time4 min
Views48K

Вместо вступления


Tux Construction.С самого раннего детства я интересовался компьютерами. Интерес этот произрастал из игр под MS-DOS в детсадовском возрасте, заканчивая всевозможными олимпиадами по программированию к окончанию школы. Не удивительно, что после школы пошел учиться в технический институт на программиста. Самое странное, что все эти годы я был абсолютно далек от такой замечательной операционной системы, как GNU/Linux. Но полтора года назад, в самом начале первого семестра, я познакомился с парнем (он был незначительно старше меня и поступил в институт уже после техникума — имея опыт работы), который во время одного из разговоров сказал:
«Хочешь начать изучать GNU/Linux? Начни с Linux From Scratch.»


Единственный бумажный дистрибутив


LFS (здесь и далее аббревиатура от Linux From Scratch) – книга, написанная Герардом Бикмансом, описывающая процесс сборки минимального рабочего варианта GNU/Linux из исходных кодов. Почему бумажный? В свое время книгу можно было купить в твердом переплете, что делает «дистрибутив» несколько необычным, не правда-ли? Помимо самой книги, для сборки конечно-же понадобится интернет (или заранее загруженные исходные коды), свободный раздел на жестком диске, и любая операционная система на базе ядра Linux, имеющая компилятор. Лично я всегда использую либо уже собранный дистрибутив LFS, либо полную установку Slackware – в нем есть все необходимое, чего не скажешь про (например) Ubuntu. Конечно, всегда можно загрузить нехватающие пакеты, но ведь мы хотим только-только научиться линуксу? А Slackware даже в своей базовой установке и без конфигурирования предоставляет требуемый инструментарий.
Читать дальше →
Total votes 132: ↑112 and ↓20+92
Comments92

Математическая морфология

Reading time6 min
Views59K
Воспользовавшись поиском, я с удивлением обнаружил, что на Хабре совсем нет статей, описывающих аппарат математической морфологии, а ведь этот аппарат незаменим в области низкоуровневой обработки изображений. Если вам это интересно, прошу под кат.
Читать дальше →
Total votes 75: ↑68 and ↓7+61
Comments5

Уничтожь старый 8/16-битный микроконтроллер и получи бесплатно плату LPCXpresso от NXP

Reading time1 min
Views5.8K
Наткнулся сегодня на интересную новость. Компания NXP предлагает поделиться видеозаписью (или фотографией) процесса физического уничтожения любого 8- или 16-битного микроконтроллера, в обмен на которые они обещают бесплатно выслать свою отладочную плату на базе Cortex-M0 контроллера LPC1114 — LPCXpresso.

Платка эта представляет собой комплект из отладочного интерфейса JTAG/SWD с USB интерфейсом и целевого процессора LPC1114.



Информации по доставке в Россию пока нет, однако зарегистрироваться и отправить фотографию у меня удалось успешно.

Собственно, вот ссылка на страницу регистрации.

Там же можно посмотреть видеоподборку, где народ громит молотком свои микроконтроллеры.
Читать дальше →
Total votes 49: ↑47 and ↓2+45
Comments44

Пишем интерпретатор Brainfuck на Lua

Reading time5 min
Views7.7K
Lua Logo
Каждый программист за свою жизнь успевает изучить множество языков, в нескольких из них специализируется и продолжает работать продолжительное время, а остальные проходят мимо. По разным причинам. Стоит ли тратить время на изучение новых языков, когда уже определился с областью в которой будешь работать? Лично я уверен что стоит, хотя, быть может, многие скажут что важны фундаментальные знания в computer science, а на каком языке писать код не критично. В сущности так и есть. И тем не менее изучать языки интересно и полезно.
Читать дальше →
Total votes 49: ↑39 and ↓10+29
Comments15

Тесты для тестов

Reading time5 min
Views20K
Один из самых частых ответов на вопрос «Почему я не пишу юнит-тесты» — это вопрос «А кто напишет тесты для моих тестов? Где гарантия, что в моих тестах тоже не будет ошибки?», что свидетельствует о серьёзном недопонимании сути юнит-тестов.

Цель этой заметки — коротко и чётко зафиксировать этот момент, чтобы больше не возникало разногласий.

Итак, юнит-тест — это
Читать дальше →
Total votes 79: ↑72 and ↓7+65
Comments111

«Облегчённая» реализация контейнера vector

Reading time6 min
Views16K
   Шаблон vector библиотеки STL выигрывает почти по всем параметрам у обычного С++ массива. Он позволяет добавлять и удалять элементы, освобождает выделенную память при уничтожении, позволяет контролировать выход за пределы массива и т.д. Тем не менее, у него есть один недостаток – для его работы требуется дополнительная память, небольшая, но в ряде случаев существенная. Ниже рассмотрена реализация контейнера, позволяющая немного снизить затраты памяти и повысить производительность.
Читать дальше →
Total votes 61: ↑51 and ↓10+41
Comments48

Краткое введение в терминалы и консоль

Reading time3 min
Views74K
Тут живут драконы и нет ментейнеров (вместо эпиграфа)

Очень сжатое боевое описание «что есть псевдо-терминал» и «консоль».

Итак, во-первых, определимся с тем, что такое консоль: консоль это программа, которая принимает от пользователя кнопки, а от соединения с компьютером — буквы на экран и спец. команды по рисованию картинки на экране.

Терминал — обобщённое название как программы, так и специальной железки (таких больше нет в природе). Особое исключение — когда вы запускаете путти или ещё кого-то для подключения к последовательному порту коммутатора/рутера/модема (или даже сервера), то вы выступаете (точнее компьютер с путти выступает) в роли терминала (название «терминал» — потому что терминирует кабель (то есть висит на самом конце) ).

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

Когда запускается шелл, то он получает в своё распоряжение виртуальное устройство /dev/tty, которое у каждого процесса своё — это «обратная» часть терминала. Передняя часть в случае кабеля реализуется путти+компьютер, в случае консоли компьютера, специализированным ядерным драйвером (виртуальными консолями). Важно: драйвер эмулирует наличие терминала.
Читать дальше →
Total votes 106: ↑64 and ↓42+22
Comments101

Тонкие клиенты (linux) из устаревших компьютеров

Reading time4 min
Views37K
Мы — начинающая, но крайне активная компания. Как и у любой начинающей компании, у нас есть ограниченный стартовый капитал, который хотелось бы потратить с максимальной пользой. Одна из существенных статей таких расходов — покупка «железа», в частности, системных блоков. Мы решили отказаться от традиционной схемы «один сотрудник — один системный блок» и сделать офисную сеть на тонких клиентах. В качестве тонких клиентов были использованы списанные из организаций системники.

Читать дальше →
Total votes 40: ↑29 and ↓11+18
Comments49

Information

Rating
Does not participate
Location
Макеевка, Донецкая обл., Украина
Date of birth
Registered
Activity