Search
Write a publication
Pull to refresh
67
0
Сергей Подлесный @sergeypid

Мышиное обучение

Send message

Неочевидное использование открытых данных

Reading time5 min
Views22K
Я думал стоит ли писать этот пост или нет, потом решил что всё таки стоит —

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

Например, довольно давно еще я сделал алгоритм автоматического разбора ФИО в любом написании, определения пола и, возможно, этноса. Это не самая сложная задача, я привожу её не как нечто выдающееся, а как нечто рутинное и типовое. Однако решение этой, довольно типовой задачи, Вопрос в том как решать это нечто типовое.

И вот тут то и пригодились открытые данные.

Однако начну с начала.
Читать дальше →

Светомузыкальный подарок любимой своими руками

Reading time9 min
Views176K


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

pymorphy2

Reading time16 min
Views85K
В далеком 2009 году на хабре уже была статья "Кузявые ли бутявки.." про pymorphy — морфологический анализатор для русского языка на Python (штуковину, которая умеет склонять слова, сообщать информацию о части речи, падеже и т.д.)

В 2012м я начал потихоньку делать pymorphy2 (github, bitbucket) — думаю, самое время представить эту библиотеку тут: pymorphy2 может работать в сотни раз быстрее, чем pymorphy (втч без использования C/C++ расширений) и при этом требовать меньше памяти; там лучше словари, лучше качество разбора, лучше поддержка буквы ё, проще установка и более «честный» API. Из негатива — не все возможности pymorphy сейчас реализованы в pymorphy2.

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

Читать дальше →

Wiren Board — встраиваемый компьютер с Wi-Fi, GPRS, GPS, NFC и Ethernet из коробки

Reading time9 min
Views90K


update: Мы ещё живы и наконец-то открыли продажи!готовим первую партию к продаже конце сентября.
Новая версия стала куда лучше и выглядит теперь вот так:


Подробности в нашем блоге.
/update

TL;DR (Abstract)


Мы сделали маленький «одноплатный» встраиваемый компьютер с хорошим набором периферии, в основном беспроводной (GSM/GPRS, NFC, Wi-Fi, GPS, Ethernet, etc). Рабочее название — Wiren Board (от Wireless Enabled)

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

Первая версия уже готова, открыт предзаказ.

Что привело нас к разработке встраиваемого компьютера, через какие этапы мы прошли, и что в итоге получилось — читайте дальше.
Читать дальше

Javascript Interface Abstract Notation

Reading time6 min
Views14K
Здравствуйте всем, этот пост о библиотеке, а вернее философии разработки приложений на Javascript которую изобрел пару месяцев назад. Постоянно использую сам, раздал всем друзьям. Отзывы положительные, поэтому решил рискнуть открыть более широкому сообществу.
Сама библиотека работает как подстройка к jQuery. Практически зависимость от jQuery условна и ее можно разделить с самой библиотекой, пока не было необходимости.
Jiant позволяет создавать клиентские приложения любой сложности, значительно упрощая их поддержку и развитие.
Читать дальше →

Быстрый старт: Визуальное проектирование базы данных в MySQL Workbench

Reading time6 min
Views106K
image

Цель данного поста — помочь начинающему разработчику быстро освоится и спроектировать простенькую базу с помощью инструмента для визуального проектирования баз данных MySQL Workbench от компании Oracle и получить её ER-модель и SQL-дамп.
Читать дальше →

Galaxy Note 2: Альтернативные прошивки. Обзор Cyanogen 10.1 и MIUI

Reading time6 min
Views76K
image image image

Альтернативные прошивки — важная часть использования любого устройства. Кого-то не устраивает набор «лишнего» софта, поставляемый вместе с устройством, кто-то хочет большого количества настроек, кто-то жаждет красивого интерфейса, не похожего на стандартный андроид. В данном обзоре я расскажу о процессе прошивки, покажу и расскажу о основных отличиях двух прошивок(CyanogenMod и MIUI), и немного о настройках кастомного ядра.
Содержание:
Поехали!

Почему MineCraft стоит использовать в образовании

Reading time3 min
Views78K
Прочитал статью, что в Швеции ввели уроки Minecraft’а и подумал, а в этом, что-то есть! Эта игра выделяется на фоне других своей обучающей способностью.
Решил написать статью почему Minecraft стоит использовать как обучающую платформу для детей, с примером того чем он был полезен мне, что он заставил меня выучить и попробую аргументировать, почему стоит показать ребёнку эту игру, а лучше вместе с ним начать играть на одном сервере. Заодно и опишу особенности игры для тех кто знает о Minecraft, «только что там всё квадратное».
image
Читать дальше →

Байесовский анализ в Python

Reading time8 min
Views58K
Этот пост является логическим продолжением моего первого поста о Байесовских методах, который можно найти тут.
Я бы хотел подробно рассказать о том, как проводить анализ на практике.
Читать дальше →

Фильтр Калмана

Reading time10 min
Views456K


В интернете, в том числе и на хабре, можно найти много информации про фильтр Калмана. Но тяжело найти легкоперевариваемый вывод самих формул. Без вывода вся эта наука воспринимается как некое шаманство, формулы выглядят как безликий набор символов, а главное, многие простые утверждения, лежащие на поверхности теории, оказываются за пределами понимания. Целью этой статьи будет рассказать об этом фильтре на как можно более доступном языке.
Фильтр Калмана — это мощнейший инструмент фильтрации данных. Основной его принцип состоит в том, что при фильтрации используется информация о физике самого явления. Скажем, если вы фильтруете данные со спидометра машины, то инерционность машины дает вам право воспринимать слишком быстрые скачки скорости как ошибку измерения. Фильтр Калмана интересен тем, что в каком-то смысле, это самый лучший фильтр. Подробнее обсудим ниже, что конкретно означают слова «самый лучший». В конце статьи я покажу, что во многих случаях формулы можно до такой степени упростить, что от них почти ничего и не останется.
Читать дальше →

Полезные советы в работе с Meteor

Reading time2 min
Views14K


Совсем недавно мне на глаза попался очень амбициозный проект Meteor. Меня подкупила его простота и скорость разработки приложений на нем. В этой статье будут показаны некоторые «хитрости» и полезные советы такие как: установка кастомных пакетов, добавление в проект плагинов jquery, развертывание проекта на боевом сервере и прочее.

Этот пост предназначен для тех кто уже имеет минимальный опыт в работе с Meteor.
Читать дальше →

Немножко философский пост про то, как мы в глаза смотрели

Reading time10 min
Views62K
В статье я расскажу небольшую историю про маленькую техническую задачку и о том, как её решали разные люди вокруг. Быть может этот рассказ поможет читателю вынести несколько уроков о том, какие временами встречаются ошибки.
Немножко матана инклудэд.
Три цвета
Идея распознавать людей по радужной оболочке появилась в далёком 1987 у доктора Джона Доугмана и была запатентована в 1989. Примерно тогда же появился прототип. На тот момент это была вершина технологии. Пару лет до первой коммерческой цифровой камеры + алгоритм обработки изображения на компьютерах уровня i386/i486. До сих пор я не представляю, как можно получать на таком оборудовании стабильный результат.
Задачка о которой я хочу рассказать появилась на свет где-то в 2006-2009 годах. Процессоры к этому времени несколько ускорились, появились хорошие камеры, патент 1989 года истёк и системы распознавания по глазам теперь получил право делать каждый. Люди, которые решили сделать клон системы захотели использовать современные технологии и улучшить алгоритм. Самое первое, что бросалось в глаза — старый алгоритм сравнения глаз использовал изображение глаза в близком ИК диапазоне. То, что глаза бывают цветными не учитывалось.

Параллельное программирование в Python при помощи multiprocessing и shared array

Reading time6 min
Views102K

Введение.


Python замечательный язык. Связка Python + NumPy + Matplotlib, на мой взгляд, сейчас одна из лучших для научных расчётов и быстрого прототипирования алгоритмов. Но у каждого инструмента есть свои светлые и тёмные стороны. Одной из самых дискутируемых особенностей Python является GIL – Global Interpreter Lock. Я бы отнёс эту особенность к тёмной стороне инструмента. Хотя многие со мной не согласятся.

Если кратко, то GIL не позволяет в одном интерпретаторе Python эффективно использовать больше одного потока. Защитники GIL утверждают, что однопоточные программы при наличии GIL работают намного эффективнее. Но наличие GIL означает, что параллельные вычисления с использованием множества потоков и общей памяти невозможны. А это достаточно сильное ограничения в современном многоядерном мире.

Один из способов преодоления GIL при помощи потоков на C++ был недавно рассмотрен в статье: Использование Python в многопоточном приложении на C++. Я же хочу рассмотреть другой способ преодоления ограничений GIL, основанный на multiprocessing и shared array. На мой взгляд, этот способ позволяет достаточно просто и эффективно использовать процессы и разделяемую память для прозрачного параллельного программирования в стиле множества потоков и общей памяти.
Читать дальше →

Шаг за шагом, или Как мы строили свой поиск

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

До весны 2012 года у нас вместо такой базы существовали две базы данных разного уровня — со стороны спайдера, который имел свою собственную базу URL-ов, и со стороны индексатора. Это было крайне неудобно: допустим, если пользователь жаловался, что его сайт не индексируется, то для того, чтобы найти причину, при старой архитектуре пришлось бы анализировать массу данных. На это требовалось день-два, иногда даже неделя.

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

Читать дальше →

Статистические тесты в R. Часть 1: Бинарная классификация

Reading time5 min
Views25K
Доброго времени суток. Хочу поделиться своими знаниями о работе со статистикой в R.
Многим из нас приходится сталкиваться с различными данными на работе и в повседневной жизни. Качественно и правильно их обработать и проанализировать не так сложно. В этой серии статей я покажу применения некоторых статистических тестов.

Заинтересовались? Добро пожаловать под кат.
Читать дальше →

Радиопередатчик из Raspberry Pi и куска провода

Reading time1 min
Views165K
Теперь каждый может сделать из своего Raspberry Pi неплохой FM передатчик. Для этого не нужно каких-то особых умений или деталей, всё, что вам понадобится — кусок провода длиной примерно в 20см.


Читать дальше →

Intel Perceptual Computing SDK

Reading time4 min
Views24K
Прогресс не стоит на месте, меняется все – наше представление о мобильных устройствах, они становятся тоньше, лечге, производительнее, меняются способы взаимодействия с ними, на смену клавиатуре и мыши пришли тач и сенсоры, на смену которым идет Perceptual Computing.
Что такое Perceptual Computing? Это новая технология, которая позволит пользователю взаимодействовать со своим мобильным устройством посредством голоса, рук, лица, т.е. более естественных для человека способов взаимодействия.
Читать дальше →

Data Mining: Первичная обработка данных при помощи СУБД. Часть 3 (Сводные таблицы)

Reading time7 min
Views18K
Данная серия посвящена анализу данных для поиска закономерностей. В качестве примера используется одна из обучающих задач сообщества спортивного анализа данных Kaggle. Хотя размеры данных для задачи не большие, методы обработки, которые будут рассматриваться вполне применимы для больших объемов данных.
После выполнения Часть 1 и Части 2 сформировались две таблицы, содержащие преобразованные данные.
titanik_test_3 и titanik_train_3.
Читать дальше →

Автономный радиоТермометр на msp430, NRF24L01+ и солнечных батареях

Reading time3 min
Views118K

Начиная упражнения с серией микроконтроллеров msp430 сразу обратил внимание на мизерные потребления энергии в дежурных (low power mode) режимах. Всегда хотелось собрать максимально автономный радиотермометр, чтобы прибить его гвоздями к дереву напротив дома и максимально уменьшить влияние выходящего из дома тепла на точность показаний. Радиотермометр на батарейках, даже если их хватает на годы — тоже не особо гуд, лазить на дерево с целю замены батарейки не всегда здорово, особенно в плохую погоду. Решил попробовать схему питания от солнечных батарей.

Что из этого получилось

Решение MintEye CAPTCHA в 23 строки кода

Reading time2 min
Views50K
Как заядлый читатель HAD я был заинтересован этим постом, описывающим способ взлома аудиокапчи MintEye. Графическая версия также выглядела довольно интересно, так что я подумал, что будет забавно взломать и её.

Вот один из примеров графической капчи MintEye:


Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity