Pull to refresh
64
0
Александр Плавин @chersanya

Исследователь

Send message

Простыми словами о фильтре частиц

Reading time 8 min
Views 27K


В этой статье я расскажу вам об одном из методов оптимальной фильтрации — Фильтре частиц — и покажу, что применить такой фильтр намного проще чем вы думаете.
Читать дальше →
Total votes 30: ↑30 and ↓0 +30
Comments 4

Фильтр Маджвика

Reading time 38 min
Views 130K

Предисловие от переводчика


Здесь представлен один из новейших методов расчёта ориентации в пространстве по показаниям датчиков акселерометра, гироскопа и компаса — фильтр Маджвика, который, по словам автора, даёт результат лучший, чем применение фильтра на основе метода Калмана в результатах и производительности. Автор — Себастьян Маджвик (его интернет-магазин). Метод описан в статье на английском. Данная работа защищена в Университете г. Бристоля Перевода я не нашёл. Переводчик из меня так себе, особенно таких сложных текстов. Но нам же интересно, что за метод?

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


Читать дальше →
Total votes 66: ↑64 and ↓2 +62
Comments 17

Systemd за пять минут

Reading time 4 min
Views 618K
Наша компания занимается администрированием веб-серверов на базе CentOS. Довольно часто наши клиенты используют веб-приложения на базе python, ruby или java. Для автозапуска подобных приложений есть готовые шаблоны для написания стартап-скриптов. Но прогресс не стоит на месте, вышел уже второй релиз CentOS 7 и, следуя старой традиции «не ставить dot-zero релизы на продакшен», мы начинаем предлагать клиентам сервера на базе CentOS 7.1 (1503).

В CentOS7, так же как и в его родителе RHEL7, используется systemd — менеджер системы и служб для Linux, совместимый со скриптами инициализации SysV и LSB. systemd обеспечивает возможности агрессивной параллелизации и много всего прочего.

image

Огромный монстр с множеством возможностей, гибкими настройками и мегабайтами документации…

Но что делать, если стоит задача быстро-быстро, вот прямо вчера, сделать автозапуск некоего сервиса?
Давайте выжмем из документации минимально необходимый набор информации для создания простых старт-стоп скриптов.
Знакомство с systemd
Total votes 70: ↑66 and ↓4 +62
Comments 58

Арифметика с контролем диапазонов в Haskell с помощью Type-Level Literals

Reading time 6 min
Views 5K
Функциональное программирование (ФП), как известно, способствует написанию надёжного (безошибочного) кода.

Ясно, что это максима. Программ без ошибок не бывает. Однако ФП в сочетании со строгой статической типизацией и развитостью системы типов позволяет, в значительной степени, выявлять неизбежные ошибки программиста ещё на стадии компиляции. Я говорю о Haskell, хотя, наверное, к OCaml это тоже относится.

Однако если мы зададимся целью написания надёжного кода, то немедленно обнаружим, что возможности Haskell тут не безграничны. Не всё, что существует для этой цели (построения безопасного кода) в других языках легко реализуется на Haskell. Хорошо бы меня тут поправили, но, увы.
Читать дальше →
Total votes 15: ↑15 and ↓0 +15
Comments 28

Ekspozzer — создание панорамы из видео, усреднение видеопотока

Reading time 11 min
Views 29K
Привет, Хабрахабр!


Сразу скажу: ничего феноменального в статье нет. Эта статья посвящена разработанной «на коленке» программе по созданию панорам из видео и временному усреднению видеопотока (кадров). Программа также может быть использована как виртуальная slit-камера. Статья будет интересна всем тем, кто увлекается обработкой видео и изображений, а так же гик-артом. Весьма простая программа — весьма интересный результат. В конце статьи ссылка на скачивание. Осторожно, трафик!
Читать дальше →
Total votes 52: ↑51 and ↓1 +50
Comments 33

Задача о 64 монетах, двух заключённых и одной шахматной доске

Reading time 6 min
Views 152K


Примечание переводчика: я заменил оригинальные обозначения сторон монеты head/tail на аверс/реверс, чтобы не вносить путаницу русскоязычными орёл/решка. На иллюстрации выше слева аверс (head), справа реверс (tail).

Спасение невозможно?


Это одна из тех типичных загадок о заключённых, в которых вы приговорены к смерти и можете спастись, только если докажете свои умственные способности тюремщику. Вы и ваш друг были заключены в тюрьму. Ваш тюремщик предлагает вам испытание. Если вы его выполните, вы оба будете освобождены.
Читать дальше →
Total votes 113: ↑111 and ↓2 +109
Comments 65

1987 год — Выставка «Информатика в жизни США»

Reading time 2 min
Views 37K
Наверное не ошибусь, если предположу, что какая-то часть хабра-сообщества помнит это мероприятие, которое проходило в Москве, Киеве, Ростове-на-Дону, Тбилиси, Ташкенте, Иркутске, Магнитогорске, Ленинграде и Минске.

image

Лично для меня с него началось мое знакомство с высокими технологиями, хотя придя туда, увидел достаточное количество сверстников, оккупировавших компьютеры своими болгарскими 5-дюймовыми дискетами, а как пишет New York Times за 6 июня 1987 года, некоторые уже пытались уломать гидов скопировать им Lotus 1,2,3. Итак,
back in USSR 1987
Total votes 42: ↑41 and ↓1 +40
Comments 29

Трекер эмоционального стресса Emvio. Видео работающего прототипа

Reading time 1 min
Views 4.9K
Доброго всем вечера!

image

Примерно две недели прошло с моего первого поста, в котором был описан создаваемый нашей командой трекер эмоционального стресса Emvio. Большое спасибо за комментарии, в большинстве своем они были очень конструктивны и позитивны. Тема вызвала живой интерес, поэтому перед переездом темы на Geeltimes решил опубликовать еще один пост здесь.

Не могу не согласиться с одним из комментариев — в первом посте не помешали бы фото и (было бы совсем хорошо) видео работающего прототипа. Для съемки видео проекта на платформу Kickstarter мы собрали действующий и прилично выглядящий прототип и сняли небольшое видео.

Предлагаю всем желающим посмотреть его на Youtube или просто запустить в окне ниже.



Читать дальше →
Total votes 11: ↑7 and ↓4 +3
Comments 14

Бесплатный интернет для планшета от Билайн и МТС

Reading time 3 min
Views 163K
Пару дней назад у Билайн и МТС появились тарифы, в которых бесплатно и без абонентской платы пользователю доступно небольшое количество интернет-трафика.

Тариф Билайн «Интернет навсегда» даёт каждый месяц 200 мегабайт по всей России бесплатно и без абонентской платы.



Опция «МТС Планшет Mini» даёт бесплатно и без абонентской платы 17 мегабайт в день по всей России.


Читать дальше →
Total votes 51: ↑41 and ↓10 +31
Comments 110

Визуализация многомерных данных с помощью диаграмм Эндрюса

Reading time 2 min
Views 29K
В эпоху Big Data графическое представление многомерных данных является весьма актуальной задачей. Однако результат визуализации не всегда соответствует ожиданиям. Вот пример не самого наглядного графика для изображения многомерных данных «Ирисы Фишера»:

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

Типы и функции

Reading time 13 min
Views 57K
Это третья статья в цикле «Теория категорий для программистов».

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

Кому нужны типы?


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

image


Читать дальше →
Total votes 42: ↑39 and ↓3 +36
Comments 102

Arduino за 1$

Reading time 4 min
Views 220K


В качестве вступления, я не буду пространно рассказывать о том, как люди, в руках паяльника не державшие, слова «программатор» не знающие, вместе с детьми радостно втыкают провода в разъемы электронного «конструктора» под названием Arduino. И никаким словом не помяну лагерь «хардкорщиков», считающих это баловством и/или надругательством над самой идеологией микроконтроллеров.

Скажу за себя — мне Arduino нравится. Тем, что можно быстро что-нибудь работающее соорудить. По сути, мне не нравятся только цены. Ну, дорого же. Модуль на порядок дороже использованного в нем микроконтроллера. Такие размышления неоднократно подталкивали меня к тому, чтобы «соскочить», но потом я открывал Aliexpress и заказывал очередную порцию. Китайская версия Arduino Nano — 3-4$. Pro Mini (без USB) — 2-3$.

Потом стало интересно — а где предел минимальной розничной (или микрооптовой) цены. Но так, чтобы можно было работать, а не искать хаки с целью сэкономить пару байт. Пара вопросов к всемирному разуму, кратчайшее изучение матчасти, решение: «Буду ковыряться с ATTiny, но чтобы с Arduino».
Стоя и в гамаке
Total votes 95: ↑83 and ↓12 +71
Comments 128

Белый Куб на страже чистоты воздуха, часть 2

Reading time 9 min
Views 63K
Вторая часть публикации о Белом Кубе.

В первой части был описан самодельный прибор для измерения параметров окружающей среды. Это вторая часть публикации.

Конструкция Белого Куба

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

image

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

Вероятностное программирование – ключ к искусственному интеллекту?

Reading time 12 min
Views 38K

Немного воды


Уже более полутора лет назад прошла новость о том, что «DARPA намерено совершить революцию в машинном обучении». Конечно, DARPA всего лишь выделила деньги на исследовательскую программу, связанную с вероятностным программированием. Само же вероятностное программирование существует и развивается без DARPA достаточно давно, причем исследования ведутся, как в ведущих университетах, таких как MIT, так и в крупных корпорациях, таких как Microsoft. И вовсе не зря DARPA, Microsoft, MIT и т.д. обращают пристальное внимание на эту область, ведь она по-настоящему перспективна для машинного обучения, а, может, и для искусственного интеллекта в целом. Говорят, что вероятностное программирование для машинного обучения будет играть ту же роль, что и высокоуровневые языки для обычного программирования. Мы бы привели другую параллель – с ролью Пролога, которую он сыграл для старого доброго ИИ. Вот только в Рунете по данной теме до сих пор можно найти лишь единичные ссылки, и то в основном содержащие лишь описания общих принципов. Возможно, это связано с тем, что потенциал вероятностного программирования еще только начал раскрываться и оно не стало основным трендом. Однако на что же способны или будут способны вероятностные языки?
Читать дальше →
Total votes 41: ↑39 and ↓2 +37
Comments 25

Проектор на коленке

Reading time 6 min
Views 169K
Бывает у меня такое — просыпаешься посреди ночи и думаешь: «Интересно, до утра еще долго? Нужно попытаться заснуть или уже смысла нет?». В этот момент взглянуть бы на часы, но:

  1. Я близорукий, поэтому любые настольные часы с размером символов меньше 20 см бесполезны;
  2. Спать в наручных часах неудобно, да и ночью на аналоговых стрелочных часах все равно ни черта не видно;
  3. Телефон бесконечно далеко (расстояние более 1м) от кровати, а вставать, чтобы решить, нужно ли еще поспать, как-то не логично.

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

И тут случилось так, что у меня сломался телефон Huawei P1, так что телефоном он быть перестал, а вот все остальное в нем, в общем-то, работало. Продать не получится, а выкинуть жалко, и воспаленный таким противоречием мозг начал искать место приложения полурабочего девайса.
image
Что случилось дальше — под катом.
Читать дальше →
Total votes 100: ↑97 and ↓3 +94
Comments 47

Строго типизированные комбинаторы для построения парсера и синтезатора естественного языка

Reading time 13 min
Views 7K
Известные ParserCombinator'ы и Parboiled предназначены исключительно для разбора формальных языков. Мы же решаем задачу разбора естественного языка и при этом хотим, чтобы с помощью той же грамматики можно было осуществлять синтез фраз на естественном языке, отражающих требуемую нам семантику. Было бы удобно иметь возможность описывать языковые конструкции вместе с правилами абстрагирования/конкретизации.

Например,

  1. Преобразование числительных в число («десять» -> 10:Int)
  2. и обратно (10:Int -> «десять» («десятый», «десяток» ...))
  3. Преобразование числительных вместе с единицей измерения («десять рублей» <-> NumberWithMeasurement(10, RUB))
  4. Неполный адрес («ул. Яблочная» <-> Address(street=«Яблочная»))
  5. Адрес в пределах города («улица Яблочная дом сто двадцать три квартира сорок пять» <-> Address(street=«Яблочная», building=123, flat=45))
  6. Телефон (256-00-21 («двести пятьдесят шесть ноль ноль двадцать один») <-> NumericalSequence(256,0,0,21))

Причём хотелось бы иметь следующие системные свойства:

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

Под катом — описание подхода, реализованного в библиотеке synapse-typed-expressions. Рассмотрены только числительные, но подход естественным образом распространяется на другие вышеупомянутые формальные языковые конструкции.
Читать дальше →
Total votes 20: ↑16 and ↓4 +12
Comments 2

ah — лучше, чем history

Reading time 3 min
Views 30K
Так получается, что я провожу в консоли (терминале) достаточно времени, порой даже больше, чем хотелось бы. Порой даже исполняю там какие-то команды и внимательно изучаю их вывод. Часто случается, что к выводу той или иной команды приходится возвращаться, а он постоянно теряется: то терминалы захлопываются, то в tmux окно закрываешь, то выводы прочих команд уже давным-давно забили и похоронили ту самую полезную строчку.

Для того, чтобы сохранить вывод какой-либо утилиты я, как и многие, пользовался tee. Это работало, но постоянная суета среди бесконечных error.log, out.log, output.log, err.log log.log, lll.txt и тп если не сводила с ума, то безумно раздражала; вместо того, чтобы вести какой-то порядок, постоянно подмывало создать Новую Папку (1), где и похоронить эти самые логи, периодически бэкапя могильничек: порядок предполагал какую-то систематизацию, а в разгаре работы вспоминать как назвать свой файл крайне не хотелось.

Тогда я написал ah, крохотную утилитку, которая сильно-сильно улучшила мою жизнь.
Читать дальше →
Total votes 97: ↑93 and ↓4 +89
Comments 21

Лучшие плагины для Sublime Text

Reading time 5 min
Views 638K

WebInspector


Мощный инструмент для дебаггинга JavaScript, полноценный инспектор кода для Sublime. Фичи: установка брейкпоинтов прямо в редакторе, показ интерактивной консоли с кликабельными объектами, остановка с показом стек трейса и управление шагами дебаггера. Все это работает на ура! А еще есть Fireplay от Mozilla, который позволяет подключаться к Firefox Developer tools и максимально простой дебаггер JSHint.



Читать дальше →
Total votes 116: ↑114 and ↓2 +112
Comments 101

Information

Rating
Does not participate
Location
Долгопрудный, Москва и Московская обл., Россия
Date of birth
Registered
Activity