Этот сайт -

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

Я - SolutionFix.

Туп, глуп, ленив, прожорлив. Старый. Живу в Киеве. Много лет работал програмистом "на дядю" в офлайне. Надоело. Счас работа тока в online: доры, оптимизация, программы и скрипты на заказ. Знаю программирование, как мне кажется, на очень неплохом уровне. Делал достаточно большие проекты в команде и в одиночку, С++, ASM, Delphi, PHP. А, еще отлично разбираюсь в восстановлении информации с жестких дисков и в написании ПО для ремонта/восстановления. Утилиты для ремонта WD, Maxtor знаете? Что первое в голову приходит после продуктов acelab (PC3000)? Ну вот.

Программы на заказ.

Мой основной источник дохода - написание программ и скриптов на заказ. Вкратце: цены нЕмного выше средних, качество - нАмного выше среднего, сроки - ОЧЕНЬ сжатые. Стараюсь брать только заказы на продукты технического назначения (утилиты, сервисы, тд.). Не занимаюсь написанием/настройкой модулей к CMS и подобными вещами.





07.02.2010

Сегодня вообще отвлеченный от основной тематики блога пост.

Преамбула: недавно нашел телефон как я хотел, чтобы одновременно пыле-влаго защищенный, но и читать книги с него можно было. Но столкнулся с проблемой: там где я книги качаю, лиибо в fb2 качается, либо глючит-тормозит и так далее. А телефон тока в txt умеет, так как read maniak установлен. Плюс на известной библиотеке lib.rus.ec ввели какое-то глупое ограничение – читать книги можно все, а скачать не все.

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

Вот файлик:  librusec

Заливаем на хостинг,  на папку куда залили выставляем права 777. Заходим по этому адресу браузером, и вводим адреса книг на чтение*, по одному на строку. Получаем в той же папочке все указанные книги, отформатированные в чистый txt для readmaniak.

Выглядит это вот так:

librusec

*Заметьте, что ссылки надо вводить именно на  чтение, то есть те что заканчиваются на  /read, иначе не поймет.

** Если качаешь серию, очень удобно открыть страничку всей серии, потом на каждой книге нажать правую клавишу мыши и скопировать ссылку (ту что «читать»), и вставить в закачивалку.

На здоровье.



Я вернулся

Author: SolutionFix
04.02.2010

Всем добрый день.

Меня не было довольно долго, считай месяца два-три. Отдыхал. Всем сорри кому не ответил, можете стучаться еще раз – теперь я в сети.

Счас сяду попробую поотвечать на все накопившиеся комментарии.



Скачать все утилиты в одном архиве: redoublers

Сегодня выложу несколько утилит, не так чтобы сильно оригинальных, но мне лично сэкономивших массу времени и нервов. Все они связаны с работой со списками, с задачами типа «отобрать строки из файла 1, которых нет в файле 2″, «убрать дубли доменов» и подобными.

Что это такое. Собственно, я не претендую на оригинальность или какое-то «ноу-хау» в этих тривиальных задачах. Мало того, есть программа Text Pipe Pro, которая умеет делать все что мои утилиты и еще много-много чего. Мало того, таких утилит полно. НО – мне было влом как-то искать соответствующие програмки, писать их недолго… Ну и конечно, за 10 лет профессионального программирования я научился составлять нормальные алгоритмы, так что скорость работы у утилит, мне кажется, на высоте.

В общем первая утилита – обычный раздубливатель. Из «фишек»:

  • Можно сравнение проводить не на основании всей строки, а на основании доменов. То есть если строки – это www-адреса, ftp или email, то утилитка вычленит домены, и будет сравнивать их, ну а в результат конечно будут записаны не домены, а сами строки полностью.
  • Штатными средствами можно выбрать несколько файлов, утилита прочтет их все и сделает уникальный список на основании всех файлов. Удобно, когда есть старая база и надо добавить одну или несколько новых, прочекивая на дубли. Кстати, вернемся к режиму сравнения по доменам. Если выбрать сначала старую базу, а потом новые, то СНАЧАЛА в результат добавятся значения старой базы, а новые URL с таким же доменом не добавятся. Ну и наоборот, то есть какой файл первый выбираешь – имеет значение.
  • Естественно, программа рассчитана на многомиллонные списки. Скажем 15 миллионов (файл около 400 Mb) я ей раздубливал.

Вот скрин:

redoubler

Утилита бесплатная, текущая версия 1.00, думаю что и последняя ;)

Скачать можно здесь: ReDoubler

Ну и еще парочку утилит, которые делают следующее. Первая утилита отбирает в результат из файла №1 только те строки, которые есть в файле  №2. Вторая – удаляет из файла №1 строки, которые есть в файле №2. Типичные задачи – чекинг по блэк-листу, или выборка общих значений из двух баз.

Выглядят вот так, как близницы :)

file1file2file1file2-2

Обе программы бесплатные.

Качать отсюда: Первая и вторая.

Все утилиты в одном архиве: redoublers



Довольно давно столкнулся с интересной задачей: необходимо было управлять ссылками на свои ресурсы, проставляя/добавляя/удаляя их по ftp. По некоторым причинам ( :) ), доступ к этим ftp должен был осуществляться анонимно, с сокрытием реального IP адреса. Система управления должна была работать на сервере иметь www-интерфейс. Короче, продвинутый многопоточный фрэймер, работающий через соксы.

Было это пару лет назад, программу я успешно написал и сдал. И остался для будущих проектов от нее класс работы с ftp, написанный на php. В нем нет ни одной функции пхп, начинающейся с ftp_: весь протокол ftp реализован чисто с помощью сокетов. Соответственно главный плюс – возможность работать по ftp через соксы.

Вот так выглядит использование класса:


<?php
require_once 'ftp.class.php';

// Создание объекта, через который будем управлять по ftp
$fc1 = new ftpcom();
// Можно при создании сразу указать, с каким ftp будем работать
$fc2 = new ftpcom('ftp://login:pass@domain.com');
// Можно сразу указать socks-5 прокси, например 127.0.0.1:3128
$fc3 = new ftpcom('ftp://login:pass@domain.com', '127.0.0.1:3128');

// Впрочем, можно параметры присвоить и позже:
$fc1->Host = 'domain.com';
$fc1->Port = '21'; // По умолчанию порт и так 21
$fc1->User = 'login';
$fc1->Pass = 'pass';
// Сколько секунд ждать ответа от сервера, по умолчанию 30
$fc1->ConnectTimeOut = 10;

// Коннект и логин осуществляется вот так:
// Connect без параметров подключает к domain.com, как задано
if(!$fc1->connect()) exit($fc1->Error);
$fc1->login(); // Ну и логинимся с логином и паролем, заданным выше

// Подконнектится к domain3.com, к порту 21, ждать максимум 200 секунд
if(!$fc2->connect('domain3.com', 21, 200)) exit($fc1->Error);
// При логине тоже можно задавать напрямую логин и пароль
$fc2->login('Login2', 'mysecretpass');
// Ну удобней всего конечно так:
if(!$fc3->connect() or !$fc3->login()) exit($fc3->Error);

// Остальные операции соответствуют синтаксису встроенных в пхп функций работы с ftp. Например:
$fc1->rawlist(); // Возвращает список файлов в текущей директории
$fc1->chdir('http_docs'); // поменяет текущцю директорию
// Скачает file.php с текущей директории и сохранит как file.php
$fc1->get('file.php');
// Скачает файл index.php и сохранит в temp.php.
// Режим скачивания - текстовый
$fc1->get('temp.txt', 'index.php', 'FTP_ASCII');
echo $fc1->pwd(); // Возвращает текущую директорию
// Локальный файл temp.php зальет на ftp с именем index.php
$fc1->put('temp.php', 'index.php');
// В переменной Error хранится результат последней операции
echo $fc->Error;
?>

Код класса можно скачать отсюда: ftp.class.zip



Сегодня – аналитический материал, без программ :)

Начнем пожалуй с прикола. Набирал я как-то в поисковике запрос, и вот что мне «подсказал» великий гугль:

how-to-humor

«Да уж» – подумал я, – прикольные запросы наш народ вводит. Но этот курьезный случай навел меня на одну мысль…

А теперь серьезно. Эти подсказки формируются, исходя из частоты введенных запросов за прошлый месяц. Логично? А давайте тогда сделаем так.

  1. Возьмем ВЧ-запрос, ну скажем полуторамиллионник ringtones.
  2. Добавим к нему супер-НЧ, ну скажем ringtones MyBestRTServiceDownload
  3. Сделаем лэндинг с рингтонами, и выведем в ТОП-1 по ringtones MyBestRTServiceDownload. Это несложно, так как MyBestRTServiceDownload – по условию супер-НЧ.
  4. Попросим гугля 2 милиона раз найти сочетание ringtones MyBestRTServiceDownload
  5. На следующий месяц пользователи, набирая ringtones, получат в подсказке ringtones MyBestRTServiceDownload. Часть из них нажмет на нее и попадет на выдачу, первым в которой стоит наш лэндинг.

Первый вопрос – оценка валовой прибыли. С полутора миллионов запросов в месяц считаем пусть треть вообще пользуется сервисом подсказок. Итого 500 тысяч. Из них на подсказку ткнет пусть каждый десятый. 50 тысяч. На первый результат по статистике тыкает треть юзеров – т.е. район 20 тысяч трафа в месяц – наш. Учитывая средний бид PPC по ringtones порядка 5 центов, и считая таким же конверт на нашем лэндинге (ну не хуже же чем на ППС мы его сконвертим!) – получаем $1000. Да, я сознательно несколько занизил количество тыкнувыших на подсказку – думаю их будет больше.

Второй вопрос – затраты. Вопрос мной не изучался, но тут есть мнение, что гугль в данном случае считает по кукам, а не по IP. Намек понятен?

Ну и дополнение: такого плана услугу (вывод запроса в подсказку поисковика) оказывает пару «предпринимателей» на серче, но на поток не поставлено, что кстати видно и по их ценам.

Удачной работы.