четверг, 26 января 2012 г.

Другой взгляд на pyflowctrl

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

среда, 25 января 2012 г.

Описание процесса pyflowctrl

Реализация процесса (класс Process) в pyflowctrl не позволяет определить с помощью pymetainfo достаточную информацию о процессе, без дополнительного его описания. Получаемые метаданные избыточны и содержат специфичную для python внутреннюю реализацию. Пример вывода можно посмотреть в посте “Исследования python-кода”.

четверг, 12 января 2012 г.

Иcследование python кода

Интроспекция(англ. type introspection) в программировании — возможность в некоторых объектно-ориентированных языках определить тип и структуру объекта во время выполнения программы. Wikipedia. Для python эта возможность интегрирована в сам язык. Хороший пример интроспекции в python - встроенная система помощи. Для любого кода на python достаточно набрать в командной строке:
$ pydoc "module/class/function name"
как результат будет получено описание по модулю, классу или функции (см. примечание к посту ниже).

воскресенье, 8 января 2012 г.

Новое ядро (сore4) для pyflowctrl

Причины перехода на новое ядро в основном были описаны в предыдущем посте “Информационные пакеты в pyflowctrl”. Предыдущее ядро работу с пакетами не поддерживало, а плавно перейти на их поддержку не получалось. Кроме этого переход на новое ядро был обусловлен еще и давним желанием вывести работу над pyflowctrl в отдельный проект. Сейчас проект размещен на code.google.com.

суббота, 7 января 2012 г.

Информационные пакеты в pyflowctrl

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

вторник, 20 декабря 2011 г.

Курс "Машинное обучение", впечатления

На прошлой неделе закончился курс “Машинное обучение”. О нем я уже писал несколько месяцев назад, но напомню, это бесплатный online курс подготовленный профессором стенфордского университета Эндрю Энджи/Andrew Ng и его командой. Кратко темы курса:

- Supervised learning: linear regression, logistic regression, neural networks, SVMs
- Unsupervised learning: K-means, PCA, Anomaly detection
- Special applications/special tools: Recommended systems, large scale machine leanings
- Advice on building a machine learning system: bias/variance, regularization; deciding what to work in next: evaluation of learning algorithms, learning curves, error analysis, ceiling analysis.

понедельник, 31 октября 2011 г.

Книги по MongoDB

MongoDB: The Definitive Guide
Kristina Chodorow & Mike Dirolf

Книга раскрывает как MongoDB может помочь в управлении данными при разработке веб-приложений. Раскрываются как базовые принципы так и сложные примеры использования документо-ориентированных баз данных. Объясняется почему MongoDB является масштабируемой, высокопроизводительной и надежной базой данных. Авторитетное введение, написанное двумя инженерами компании 10gen , представляет собой руководство как для разработчиков так и для системных администраторов.

воскресенье, 2 октября 2011 г.

Курс "Машинное обучение"

Бесплатный курс "Машинное обучение", доступный в онлайн можно пройти по адресу http://openclassroom.stanford.edu/. В курсе расскрываются несколько наиболее широко используемых методов машинного обучения, которые можно реализовать самостоятельно и попробовать их на практике. Также будут показаны практические приемы и методы, позволяющие обучающим алгоритмам работать эффективнее. Акцент делается больше на понимание самих принципов машинного обучения, чем на предоставление математических выкладок. Знание программирования, основ линейной алгебры, теории вероятности приветствуется.

Курс читает Андрю Энджи (Andrew Ng), профессор Стенфордского университета.

P.S. Сейчас отрыта бесплатная регистрации на этот же курс (с расширенными возможностями) на сайте http://www.ml-class.org/

среда, 28 сентября 2011 г.

Книга "Flow-Based Programming: A New Approach to Application Development"

Работая на проектом pyflowctrl всегда хотелось найти книгу, которая могла бы стать своего рода источником знаний для проекта. Книгой, раскрывающей многие аспекты работы, принципы, подходы программирования на уровне процессов и взаимодействия между ними. Похоже такая книга найдена - Flow-Based Programming: A New Approach to Application Development. Автор книги Паул Морримон долгое время работал в IBM, занимался разработкой компиляторов, баз данных, обработки текстовых данных, разработки приложений преимущественно в банковской сфере. В 1978 году была опубликована статья Пола "Data Stream Linkage Mechanism" раскрывающая принципы программирования потоков данных.

Первое и второе издание книги доступно в бумажном виде на Amazon, а также на CreateSpace. В электронном виде первое издание книги доступно на сайте Flow-Based Programming

вторник, 27 сентября 2011 г.

PyCon Ukraine 2011

22-23 октября в Киеве пройдет вторая ежегодная конференция PyCon. В этом году планируется провести двухдневную конференцию в два потока — включая доклады, мастер-классы, панельные дискуссии и lighting talks. Кроме того, будет проведена «recruiting session» — у желающих будет возможность больше узнать о украинских компаниях, которые разрабатывают на питоне, об их проектах и побеседовать с их представителями.