Поиск по блогу

среда, 13 мая 2015 г.

Устанавливаем RapidMiner Server на Debian в соответсвии с видео

Здесь я потерял час на том, что установил переменные окружения в одной консоли, а установку дистрибутива запустил в другой, в результате у меня все время устанавливалась java 6 вместо 7. Причина невнимательности в том, что я прерывал процесс дня на два (Вспоминал LAMP и наоткрывал консолей... поупражнялся, а потом "вернулся", но не туда...) Пост получился длинным, но последовательным.

вторник, 12 мая 2015 г.

Надеюсь найти здесь рецепты "...grab social data (twitter, facebook, linkedin) using just a person's email address"

Некогда было посмотреть видео с заманчивым описанием. Я уже год, как не смотрел ничего на эту тему, а напрасно. В сети появилось очень много новых видео. Так что далее надо будет изучать Django + grab social data + python Будем считать этот пост декларацией о намерениях.

Как в Linux переключаться между разными версиями java?

Все началось с того, что команда java -version сообщила мне, что у меня в дистрибутиве стоит 6-ая версия, а для установки нового сервера требовалась 7-я. Я года два, как не подходил к java, потому решил не умничать, а найти мануал в инете... Мануалы нашел (ссылки здесь), но оказалось, что у меня уже стоит седьмая версия, чтобы переключиться на нее, нужно было использовать update-alternatives --config java

понедельник, 11 мая 2015 г.

Двухминутное видео "Test and explore the LinkedIn API without OAuth getting in the way"

Нашел я его потому, что пришла пора рабтать с API LinkedIn, Facebook... До вчерашнего дня я не знал, что есть такие чудесные онлайн консоли, как apigee.com. Начал было радоваться и раскатывать губы ..., но тут же прекратил это занятие и решил взгрустнуть, так как именно сегодня linkedIn опубликовал "Changes to our Developer Program", и есть ведь у них программы BIg Data..., но "The LinkedIn Economic Graph Challenge is open to U.S. residents only" Здесь еще две враз осиротевшие ссылки на страницы с python-linkedin 4.0, Authenticating with OAuth 2.0

четверг, 7 мая 2015 г.

Kali (Debian) Исследуем файлы и процесс пользователя www-data с помощью команд ls, ps, pstree, find, lsof , pgrep

Чтобы разобраться, как настраивать права доступа в LAMP (менять права доступа к файлам и папкам), я решил начать с инструментов диагностики процессов и файлов. Здесь примеры команд для поиска файлов, принадлежащих определенным пользователям и группам (www-data), открытых процессом apache2 файлов, процессов, связаных с конкретным файлом, деревья процессов.
В конце распечатки страниц справки.

среда, 6 мая 2015 г.

Устанавливаем MySQL Workbench и смотрим первое обзорное видео на 14 минут

Загрузил MySQL Workbench с сайта. Но перед тем, как устанавливать, решил проверить, и Kali мне подтвердил, что да, все есть в репозитории ... Попробовал залезть в локальный сервер (Kali)? оказалось, что пароль я и не поставил... Первое впечатление: все работает отлично - Python скрипты, немного круче чем MyPHPAdmin (шутка), но где же взять столько времени, чтобы это освоить?

вторник, 5 мая 2015 г.

Вспоминаем установку и работу в MySQL и PhpMyAdmin, и MySQL Workbench

Лет 5 назад последний раз использовал mysql в LAMP (Xampp). И вот настали времена, когда мне снова нужен стек LAMP, нужно все вспомнить, но с командной строкой, ...GUI уже видеть не могу... почему? Полагаю, появилась потребность в средствах диагностики сервера.
Так что здесь немного попрактиковался с оболочкой mysql> help, собрал ссылки на 20 видео и десяток мануалов, распечатки мануалов... mysqladmin --help
Пароль mysql такой же, как и рута в Kali (на моем локальном компьютере). Я его задал при установке phpmyadmin. Еще один жестокий промах: я оставил здесь юзера с именем root (по умолчанию)...

понедельник, 4 мая 2015 г.

Попробовать обязательно: mawk - pattern scanning and text processing language

Ничего не знал об этой команде в Linux, но пробовать некогда. Как бы не забыть. Потому здесь просто длиннющая распечатка man awk

Вспоминаем Apache2 и распечатываем конфигурационные файлы в сборке Kali (Debian)

Конфигурационные файлы apache разные для windows, redhat, debian. И я смирился с тем, что вряд ли когда-нибудь пойму, зачем все эти "дополнительные файлы". Однако, когда читаешь куцые мануалы по установке LAMP на том или ином хостинге, надо бы представлять, куда лучше записывать те или иные директивы.
Здесь я обнаружил поддиректории с их изрядным количеством конфигурационных файлов для отдельных модулей. Разбираться с подробостями пока незачем. Потому здесь распечатал только /etc/apache2/apache2.conf и все файлы из поддиректорий /etc/apache2/ , дабы при случае вспомнить, то помимо php.ini есть еще php5.conf и он здесь. Вообще, возникают ассоциации ... apache2 Include conf.d/ с модулями php. Здесь теперь две папки с модулями (mods-available и mods-enabled) - раньше был один здоровенный конфиг, а теперь - модульные? Надо при случае проверить.

воскресенье, 3 мая 2015 г.

Об установке PHP вместе с php.net Debian installation notes

Мануалов по установке много, но обычно возникают трудности с установкой дополнительных модулей. В руководстве на php.net даются рекомендации по использованию !aptitude -h, apt-get -h, !apt-cache search php5, php --help, , таким образом, используя системный загрузчик можно посмотреть кэш, удаленный репозиторий, а можно обратиться к PHP и просто распечатать php -m (список модулей) и здоровенный php -i phpinfo()

суббота, 2 мая 2015 г.

Устанавливаем Revive Adserver на декстопный Kali (Debian) для тестирования

Здесь устанавливаем Revive Adserver на Kali (Debian). Поскольку у меня обычно подобные процедуры происходили в раздражающей спешке, то я предварительно решил "вспомнить" все проблемы, которые возникали при подобных установках. Вспоминание LAMP было в предыдущих постах, а здесь я решил предварительно вспомнить про контрольные суммы файлов, архиватор tar, назначение владельцев директорий и прав доступа к папкам.
Про права адеялся найти в мануале, но ничего вразумитеьного не нашел. Потому установил все под рутом. Решил сначала запустить сайт, протестировать, а уж потом начать эксперименты с малопонятными владельцами процессов вроде www-data. Зато скрипт установки выполнился почти без проблем. Вот только к заранее созданной БД он не подключился. Но создал новую...
Сайт работает хорошо. Пароль для админки такой же, как и для Kali

среда, 29 апреля 2015 г.

Шаблон Pandas для очистки второй таблицы после копипаста из текстового AEB

Копипастим в последнюю ячейку одну из трех таблиц из текстового файла, редактируем таблицу вручную. Потом загружаем содержание ячейки в DataFrame, добавляем столбец даты, убираем из столбцов символы '%" , заменяем '(' на '-'сохраняем все в 'eng_car_sales_in_feubrary_2015.csv'.
.isin .str.contains .str.replace('[().]', '')

вторник, 28 апреля 2015 г.

Пытаемся упростить обработку файлов pdf AEB, но находим новые ошибки

Если скачивать отчеты AEB о продажах автомобилей каждый месяц, то как лучше вытаскивать 3 таблицы из pdf-файла? Сначала вызвать конвертер pdftotext при помощи subprocss, конвертировать и сохранить в текстовый файл, потом из него скопипастить все таблицы в отдельные ячейки. Исправить ручками все ошибки в таблицах, и только после этого привести таблицы к единому формату с помощью Pandas. И я все сделал для первой таблицы февраля 2015г., но вторая и третья таблицы пришли с ошибками, чтобы их понять пришлось их сравнивать со скриншотами оригинальных таблиц и вариантом копипаста прямо из pdf-файла. Итак, я здесь начал со ссылок на subprocss, потом "вспомнил" .str.

пятница, 24 апреля 2015 г.

Ручная сборка tab3 aerbu за 2014г..., штопаем носки с разными формами дырок

Порядок сборкм апрель+(май-июнь)+(июль-декабрь)+(февраль-март)+январь. Каждая группа файлов отличается от остальных количеством или порядком столбцов. Алгоритм действий: есть датафрейм pdall, в который по очереди добавляются датафреймы pdtemp или pdtemp_app (для группы файлов).
Каждый временный pdtemp_app сначала собирается из подобных файлов, а потом туда добавляются (при необходимости) дополнительные столбцы, переименовываются, изменяется порядок столбцов в соответствии с pdall.
В итоге получаем датафрейм за 2014г. и декабрь 2013, в котором потеряно 4 строки, а некоторые столбцы еще предстоит почистить и привести к числовым форматам. В конце поста распечатан итоговый csv файл.

вторник, 21 апреля 2015 г.

Работа с временными файлами в Pandas - ну... не нравится мне все это

Сначала я решил попрактиковаться с методом pd.to_csv. Это часть типовой задачки: открывать разные файлы в pd.read_table, потом приводить их к одному формату и добавлять в один сборный файл. Но в процессе работы решил освоить tempfile.TemporaryFile() - впечатление двойственное..., наверное из-за необходимости использовать .seek(0). Кроме того, в процессе поисков я обнаружил чудесную документацию к Beautiful Soup, зря я не снисходел до нее ранее. А начинается с пост с раууждений о неправильной "постановке задачи".

суббота, 18 апреля 2015 г.

Учимся фильтровать строки DataFrame (pandas) .str.contains()

Чтобы научиться фильтровать строки по условиям вида [pd1[column1] > 100], [pd1['col2'].isin(model_list)], [pd1['Datem'].str.contains('^3.+')], pd1.dropna(subset = ['n1_y', 'Brandt', 'Model'])[10:15] нужно знать форматы столбцов и помнить, что .str.contains() выдает ошибку, если в столбце есть пропущенные значения (NaN) Здесь я сначал хотел попрактиковать регулярные врважения, но оказалось, что подводные камни .str.contains заняли почти весь пост...

пятница, 17 апреля 2015 г.

Попытка доисследовать, чем же отличаются файлы в aerbu_2014_all_csv/3aug2/ приостановлена

Здесь я начал было вручную импортировать файлы в объекты DataFrame (Pandas), но пост разросся из-за того, что пришлось пробовать все подряд: последовательность обработки файлов (начнем с апреля-мая), анализ содержания файлов (структура столбцов), опции для метода pd.read_csv, регулярные выражения. Слишком много разных тем для одного поста. Потому решил остановиться, чтобы в следующих постах освоить простые методы для работы со столбцами. Здесь же неплохой вариант подготовки к пофайловой обработке csv-таблиц. Так что вернемся к этому посту позже.

четверг, 16 апреля 2015 г.

Пойди туда не знаю - куда... pandas.dtypes[0].name - страдания "чайника"

Здесь я начал с процесса сравнения файлов в папке (обнаружил, что их два вида), потом я попытался найти методы для того, чтобы рассортировать файлы по (сочетанию) типам столбцов. Обнаружил еще один "подвид" (отрицательные числа в скобках). В процессе поиска я пришел к выводу, что надо фильтровать не по типам, а по регулярным выражениям ... но этот черновик получился довольно длинным, потому экзерсисы с регулярными выражениями в следующим файле. Много времени ущло на поиск команд. Найдены всего лишь: (pdtemp.dtypes[0].name == 'int64'), pdtemp.columns = colnames_3_0-12, ** А начинается пост с констатации методических ошибок...

среда, 15 апреля 2015 г.

Методы Pandas для работы со столбцами

Когда начинаешь использовать DataFrame, то возникают десятки "мелких вопросов. Как переименовать столбцы? Как изменить порядок столбцов (чтобы склеить таблицы)? Как фильтровать строки по содержанию ячеек? Как использовать для этого регулярные выражения? Типы столбцов? Вот пример команды для извлечения списка столбцов: "cols = list(df.columns.values) StringIO
Здесь есть и такие фишки, как команды считывание в DataFrame из буфера обмена, из ячейки Ipython ... И это приводит к размышлениям о том, что иногда проще скопипастить фрагмент прямо сюда в Notebook

суббота, 11 апреля 2015 г.

Сводим все три промежуточных файла в один 2014_all.csv

Здесь перехожу в папку с тремя файлами (2014.csv, 2014_2_3.txt, 2014_1.txt) /media/MYLINUXLIVE/Documents/Xpdf/aerbu_2014_all_csv_new/ и пытаюсь все собрать в один файл.

Неудачный шаблон (3) конкатенции... поскольку влетаем в чересполосицу "третьих" таблиц из файлов aerbu

"Третьи таблицы" - это таблицы, в которых приведены 25 самых продаваемых марок автомобилей. В 2014 году формат таблиц поменяли в июле. Открываешь папку, там имена всех файлов имеют одинаковый префикс, естественно, хочется запихнуть в DataFran (pdall) все файлы сразу. Но при распечатывании фрагментов padll обнаруживается "перемешивание столбцов". Здесь я "нашел" способ распечатать фрагменты из каждого файла. И понимаешь, что надо контролировать содержимое каждого файла перед загрузкой (в редакторе, хе-хе...). Потом понимаешь, что прежде, чем писать (предварительный прсмотр) загрузчик надо бы понять, как это нужно делать именно с Pandas... Польза от поста: можно понять, как до меня доходила простая идея о том, что можно сначала все просто загрузить в один фрейм, а потом из него фильтровать одинаковые форматы...

пятница, 10 апреля 2015 г.

Подгоняем таблицу_1 за январь 2014 к формату шаблона и сохраняем с новым порядком столбцов

В процессе работы выяснилось, что шаблон слишком громоздкий. Здесь я попробовал не копировать предыдущий вариант шаблона, а копипастить отдельный ячейки. Здесь при считывании файла пришлось пропускать первую строку, а при записи менять порядок столбцов. Кроме того, здесь столбцы "нарастающим итогом с начала года" изначально отсутствовали, при вставке нулей, три столбца '2014y', '2013y', '1413y' записались в формате Int, посмотрим в следующих постах, как они "concatent" c float

Продолжаем пробовать шаблон (1) конкатенции таблиц (Pandas) с данными aerbu февраля и марта 2014

В предыдущем посте мы создали файл, в котором склеены только девять месяцев 2014 года. А первых трех другой формат. Здесь я попробовал тот же шаблон для февраля и марта.
Объект DataFrame (pdall) сформировался с ошибкамии -в столбцы попали данные разных форматов из-за ошибки парсера в строке *"Mercedes-Benz Vans","771","473","63%","459","279","65%", ** Потому этот подход показался неудобным, как и сам шаблон.
Сначала "ставим задачу", потом последовательно выполняем в итераторе импорт файлов со столбцами "Brandt 2014y 2013y 1413y 2014m 2013m 1413m Datem", добавляем столбец, читстим и преобразуем два столбца object в Float64, преобразуем строки в даты... Сохраняем все на диск и в инфо-файл.

четверг, 9 апреля 2015 г.

Первый вариант методики очистки и шаблона(1) конкатенции таблиц с Pandas

Файлы таблиц могут иметь разное число столбцов, столбцы разное форматирование, если использовать DataFrame Pandas, то эти задачки решаются очень просто. Здеся я попытался использовать возможности Notebook, PDB, чтобы совместить выполнение кода, тестирование, документирование, логирование...
Сначала "ставим задачу", потом последовательно выполняем в итераторе импорт файлов со столбцами "Brandt 2014y 2013y 1413y 2014m 2013m 1413m Datem", добавляем столбец, читстим и преобразуем два столбца object в Float64, преобразуем строки в даты... Сохраняем все на диск и в инфо-файл.

среда, 8 апреля 2015 г.

Продолжаем разбираться с прожорливым кэшем Chromium -> disk_cache.h -> WebKit -> MemoryCache class

Как работает кэш броузера Chrome? Эта навязчивая идея заставляет меня раз в два месяца копаться в настройках браузера. Вчера вечером я так увлекся, что сегодня потратил еще полдня на конспектирование документации chromium.org/developers, trac.webkit.org/wiki/MemoryCache. Здесь более десятка ссылок, схема файлов кэша, сэема класса MemoryCache... Начал с перевода с китайского, который слегка сбил с толку... но надеюсь что найду все в "сырцах" описанияй классов ... Defines the public interface of the disk cache.

вторник, 7 апреля 2015 г.

Первый рабочий пример конкатенции таблиц с преобразованием форматов столбцов object -> float

Файлы таблиц "Brandt 2014y 2013y 1413y 2014m 2013m 1413m Datem" Визуальный тест pandasd.read_csv - как распечатать все файлы из папки при помощи PDB. Считать данные в кавычках, с разделителями разрядов, привести все пропуски данных к единому виду - Nan, перевести строку в число...
Не уверен, что это лучший варинат, но пока не знаю, как поступить иначе при таком уровне неопределенности. Формат исходных (ежемесячные данные) файлов менялся за год несколько раз. Там то появлялись запятые вместо пробелов - разделителей разрядов, то менялось количество столбцов... Пришлось парсеры перенастраивать и менять... Файлы короткие, распечатаю ка я их все за год и дело с концом... Нет, не так все просто, надо куда-то сохранить полученный файл...

понедельник, 6 апреля 2015 г.

Проект соглашения с самим собой об обработки файлов таблиц AEBto3tables

Пример того, как я пришел к простым правилам обработки спарсенных таблиц. Техника определяет тактику (мое теннисное убеждение), и правила также нельяз написать без учета инструментов, которые используются для обработки.
Я недавно "запал" на Pandas. И только вчера подобрал и попробовал методы для чистки таблиц. Т.е., я еще не освоил "технику" настолько, чтобы не думать о ней, но сосредоточиться на последовательности процессаов и "тактике" перебора файлов...
Наверное, поэтому мне так трудно. Очевидно, что я совершаю методическую ошибку. Я пытаюсь одновременно "ехать на автомобиле и ремонтировать его" (еще одна метафора... только для того, чтобы оправдать собственную глупость.
Здесь я попытался было проверить все чистящие операторы в одном методе в цикле, но влетел в непонятные ошибки, подключил дебаггер... оказалось, что один из файлов (апрель) в папке с заголовком, а остальные - нет... Начал пробовать все подряд, а потом написал-таки правила...

воскресенье, 5 апреля 2015 г.

Пример моей глупости: В папке пара десятков ... файлов... пишем класс For1aug2_csv

Это пример моего неправильного мышления. После практикумов с удачным наследованием собственного класса AEBto3tables я возгордился и решил "побыстрому" написат класс для конкатенции и чистки таблиц. Работу пришлось бросить...
Но пост публикую. Здесь все же записан процесс моей работы (а исправления ошибок в следующих постах). Вот неправильное начало поста:
Этот класс будет построен по тому же принципу, что и AEBto3tables - метод с итератором по файлам в папке вызывает последовтельно методы проверки однородности таблиц, чистки столбцов, конвертации форматов, добавления столбцов, конкатенции таблиц. Пишу все в Spyder на компьютере "Kali"

пятница, 3 апреля 2015 г.

Проблемы с поддельным планшетом Samsung Galaxy Note N8000 - как я постигаю Android

Планшет постоянно "сбрасывает" WiFi подключение. А у меня нет ни знаний, ни времени, чтобы разобраться в чем же дело. Наконец, вчера угрохал целый день на то, чтобы понять, как быть.
Вот результаты: на обычном linux стоят библиотеки и дополнения, которые разруливает (java) Dalvik Virtual Machine. Пользователя система пускает только в пользовательские папки. Нужно получить права root, чтобы удалить "системные" файлы с вирусами, которые нашел DrWeb, которого я с большим трудом установил через Play Market. Администрировать планшет лучше с ноутбука, для этого намерен использовать ADB, которую не стал устанавливать отдельно, поскольку просчитал, что это чатсть Android-SDK. С разными вариантами SDK не разобрался, потому тупо залил Android Studio на w8 (у меня фобия к Eclipse) .
Здесь винегрет из ссылок на документацию Android, статьи про все упомянутые инструменты и библиотеки, а также и на Samsung Kies..., вирусы

четверг, 2 апреля 2015 г.

Байда с иероглифами - это Baidu... или техника "пьяный кулак" при охоте на вирусы в заповеднике Windows XP

Польза от поста: попробовал Baidu antivirus, и он мне очень понравился. Теперь лирика: приятель принес ноутбук Toshiba с Windows XP без батареи и с выломанным CD-Rom. При первом знакомстве с замызганым аппаратом, на котором (якобы) переустановили Widows, я быстро нашел (гениальное) решение: установить на него Linux Debian.
Но приятель заявил, что он слов таких не знает, сидит пьет старку и всего ботся..., и с работы его (матерого инженера теплосетей) уволили, так что компьютер нужен срочно для печатания резюме и просмотра порно-роликов. Ему бы только звук включить, да Word поставить...
Дело было вечером, мне очень не хотелось пускаться во все тяжкие с... год, как не поддерживаемой XP..., но ...