надоело в общем глазасебеломать :)
запилил
forums.kuban.ru
генерится раз в час. Последние сообщения за сутки
ну и немного кастома :)
если указать в параметре forums
номера форумов через запятую, то можно собрать свою ленту
пример
http://mr-faster.com/kubanlenta/index.php?forums=1043,1044

пользуйтесь на здоровье!

Рубрика: Programming

Пример маскировки под собственника на сайте Avito. Само собой ссылку приводить смысла нет, поскольку объява будет удалена. Признаться сам повелся и даже позвонил, ага.

Итак объява

Внешне все очень пристойно. Однако фраза в тексте объявления:

Рядом много садиков и школ, магазины и рынок в шаговой доступности.

как бы намекает - не собственник я :)

Ну и якорь - С РИЭЛТОРАМИ НЕ РАБОТАЮ!. Честно повелся.

На звонки по телефону 9672321644 никто не отвечает. Однако, через 3 дня Вам позвонит Виктория с телефона 9094595808, представившись агентом агенства типа (Городская служба недвижимости - на антиагенте у этой виктории куча объяв с этим номером), спросит: не звонили ли Вы в поисках квартиры ей. Разумеется нет :) Мы звонили собственнику конкретной квартиры выставленной на авито (с симки вообще звонили на один номер - указанный в вышеописанном объявлении). Суть развода - собрать контакты потенциальных клиентов на левую симку, по прошествии времени (от 2 дней) позвонить на них и возможно уломать кого то на договор с АН

Уже потом делаю то, что нужно было сразу сделать - а именно берем фотку наиболее уникальную из объявы и делаем поиск в яндекс картинках по этой фотке (или гугл картинках):


видим отраженную по горизонтали фотку кухни - на сайте booking.com, вуаля!

Рубрика: Programming

Теги: ,

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

function check_path($params){
$path = $params['path'];
if(!$params['folders']){$params['folders']=1;}
$params['folders']++;
#check
$parts = explode(’/',strrev($path),2);
if(stristr($parts[0],’.') || (isset($parts[0]) && !$parts[0])){
$params['folders']++;
}
#explode
$parts = explode(’/',strrev($path),$params['folders']);
if(stristr($parts[0],’.') || (isset($parts[0]) && !$parts[0])){
unset($parts[0]);
}
$parts = array_reverse($parts);
foreach($parts as $k=>$part){
if(!$_path){
$_path = strrev($part) . ‘/’;
continue;
}
$_path .= strrev($part) . ‘/’;
if(!is_dir($_path)){umask(0);mkdir($_path, 0777);exec(”chmod 777 ” . $_path);}
}
return $params['path'];
}

По умолчанию функция проверяет и создает 2 папки заданного пути, но уровень вложенности может быть указан в массиве аргументов.
Использование:

$to = check_path(array(’path’=>BASEPATH . $filename));

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

Рубрика: Programming

В общем поимев немного секса с настройкой git для Netbeans спешу поделиться появившимся опытом.
Допущения:
- не объясняем что такое Netbeans и git
- Netbeans с англоязычным интерфейсом
- проект в Netbeans уже создан
- работаем с удаленным репозиторием через ssh по ключам из windows
- репозиторий должен быть создан на сервере и иметь хотя бы одну ветку (branch)
Детали подкатом.
Читать полностью

Рубрика: Programming

Теги: , ,

Multipart parallel upload. Было допилено паблик решение для сервиса S3 от Amazon . Чье, к слову серверная часть реализована с помощью aws-sdk-php, которое не заработало с полпинка на 2 хостах (!). Было принято волевое решение послать к черту не использовать решение от Amazon (как будто бы неймспейсы и последняя версия пыха залог успеха, ха-ха) и написать свое, что и было сделано. Думается сие можно портировать будет на любой хост. Пока что в сравнении с однопоточной загрузкой получаем выигрыш в скорости минимум в 2 раза. Паблик решений нет, кому надо обращайтесь…

Рубрика: Programming, You Tube

Теги: , , ,

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

Читать полностью

Рубрика: Programming

Теги: , , , , , , , ,

Оговорюсь речь пойдет о соединении нескольких видеофрагментов закодированных одним кодеком, то есть одинаково.

Итак для соединения роликов в контейнере flv используется наш любимый mencoder:

exec(MENCODER_PATH . ‘ 1.flv 2.flv 3.flv -o out.flv -of lavf -ovc copy -oac copy’);

Для соединения роликов в контейнере mp4 используется mp4box:

exec(MP4BOX_PATH . ‘ -cat 1.mp4 -cat 2.mp4 -cat 3.mp4 out.mp4′);

Для соединения роликов в контейнере wmv также используем mencoder:

exec(MENCODER_PATH . ‘ -oac copy -ovc copy -of lavf -lavfopts format=asf 1.wmv 2.wmv -o out.wmv‘);

Рубрика: Programming

Теги: , , , , , , , ,

Многие используют для добавления мета информации yamdi и это хорошо. Однако эта утилита обладает мелким таким недостатком - не добавляет параметры width и height в мета данные (используется h264 кодек). Путем гуглопоиска была найдена альтернативная утилита работающая как нужно. Это, собственно flvmeta , логическое продолжение flvtool2. Использование:

exec(__FLVMETA . ” in.flv ” . ” out.flv”);

Рубрика: Programming

Теги: , ,

Не изменяя кодека, то есть без перекодирования. Делается с помощью mencoder’а.

exec(MENCODER_PATH . ” -o out.flv’ . ‘ -of lavf -lavfopts format=flv -ovc copy -oac mp3lame -srate 44100 source.mp4′);

В моем случае исходный кодек - h264.

Up. Как оказалась если перепаковывать через mencoder - в полученном flv возможны артефакты изображения, как в начале, так и в середине клипа, чего не наблюдается в исходном mp4. Лучшим вариантом вероятно будет использование ffmpeg:

exec(FFMPEG_PATH . ‘ -i out.flv -vcodec copy -acodec copy source.mp4‘);

Рубрика: Programming

Теги: , , , ,

Был неоднократно пойман и отбагтречен распознан. Вкратце - если не было соединения с БД, данная функция возвратит ничего, ноль, пустоту - даже не false.

Выдержка из мануала:

Функция экранирует специальные символы строки unescaped_string, принимая во внимание кодировку соединения, таким образом, что результат можно безопасно использовать в SQL-запросе в функции mysql_query().

В общем, перед тем как использовать, удостоверьтесь в наличии соединения с БД.

Рубрика: Programming

Теги: , , ,