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

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

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

Algorithms *Robotics development *
Sandbox


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

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

Algorithms *Mathematics *
Translation

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


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

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


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

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

Southbridge corporate blog
Наша компания занимается администрированием веб-серверов на базе 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
Views 537K
Comments 58

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

Haskell *
Sandbox
Функциональное программирование (ФП), как известно, способствует написанию надёжного (безошибочного) кода.

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

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

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

Algorithms *Image processing *Development for Windows *
Привет, Хабрахабр!


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

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

Entertaining tasks Mathematics *
Translation


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

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


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

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

Programming *Industrial Programming *Development of communication systems *
Наверное не ошибусь, если предположу, что какая-то часть хабра-сообщества помнит это мероприятие, которое проходило в Москве, Киеве, Ростове-на-Дону, Тбилиси, Ташкенте, Иркутске, Магнитогорске, Ленинграде и Минске.

image

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

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

Darta Systems corporate blog Website development *Development for iOS *
Доброго всем вечера!

image

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

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

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



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

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

Network standards *
Пару дней назад у Билайн и МТС появились тарифы, в которых бесплатно и без абонентской платы пользователю доступно небольшое количество интернет-трафика.

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



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


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

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

Python *Big Data *Data visualization *
Sandbox
В эпоху Big Data графическое представление многомерных данных является весьма актуальной задачей. Однако результат визуализации не всегда соответствует ожиданиям. Вот пример не самого наглядного графика для изображения многомерных данных «Ирисы Фишера»:

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

Введение в машинное обучение с помощью Python и Scikit-Learn

MLClass corporate blog Python *Data Mining *Big Data *
Sandbox
Привет, хабр!



Меня зовут Александр, я занимаюсь машинным обучением и анализом веб-графов (в основном — теоретическим), а также разработкой Big Data продуктов в одном из операторов Большой Тройки. Это мой первый пост — прошу, не судите строго!)

В последнее время ко мне все чаще стали обращаться люди, которые хотят научиться разрабатывать эффективные алгоритмы и участвовать в соревнованиях по машинному обучению с вопросом: «С чего начать?». Некоторое время назад я руководил разработкой инструментов Big Data для анализа медиа и социальных сетей в одном из учреждений Правительства РФ, и у меня остался некоторый материал, по которому обучалась моя команда и которым можно поделиться. Предполагается, что у читателя есть хорошее знание математики и машинного обучения (в команде были в основном выпускники МФТИ и студенты Школы Анализа Данных).
Читать дальше →
Total votes 53: ↑50 and ↓3 +47
Views 311K
Comments 13

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

Programming *C++ *Haskell *Mathematics *Functional Programming *
Translation
Это третья статья в цикле «Теория категорий для программистов».

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

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


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

image


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

Arduino за 1$

DIY
Sandbox


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

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

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

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

DIY
Вторая часть публикации о Белом Кубе.

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

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

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

image

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

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

Programming *
Sandbox

Немного воды


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

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

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

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

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

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

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

Праймтолк corporate blog Regular expressions *Scala *Natural Language Processing *
Известные 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
Views 6.9K
Comments 2

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

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

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

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

Information

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