Проблемы с установкой iMagick на FreeBSD

Устанавливал расширения к php.
Установил GD, установил imagick из портов.

Оказалось, что iMagick использует старую версию библиотеки JPEG.

Fatal error: Uncaught exception ‘ImagickException’ with message ‘Wrong JPEG library version: library is 70, caller expects 62

Сначала рыл инет на эту тему, поставил portmaster, обновил JPEG и все зависимые либы

1
portmaster -dRrf jpeg-7

Не помогло Оо.

Решил обновить само pecl’овское расширение imagick.

Скачал imagick 2.3.0, установил по инструкции.

1
2
3
4
5
6
7
8
wget http://pecl.php.net/get/imagick-2.3.0.tgz
tar -xzf imagick-2.3.0.tgz
cd imagick-2.3.0
phpize
./configure
make
make install
echo "extension=imagick.so" >> /usr/local/etc/php/extensions.ini

Теперь у нас выскакивает проблема:

Fatal error: Uncaught exception ‘ImagickException’ with message ‘Wand contains no images `MagickWand-1′ @ magick-image.c/MagickSetImageFilename/9326′ in …

Хорошо, переустанавливаем ImageMagick!

Заходим сюда: http://www.imagemagick.org/script/install-source.php#unix, тащим последнюю сборку и устанавливаем себе.

1
2
3
4
5
6
wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz
tar -xzf ImageMagick.tar.gz
cd ImageMagick-6.5.6-2
./configure
make
make install

Рестартим апач и ура!

FreeBSD 7.2 64 bit.


21.09.2009

Тэги: , , ,

Комментарии19 Есть что сказать?

22. Старею?

Нарру В1гТНДау.

Ну его нахЪ, это страшно)))


12.09.2009

Тэги: , ,

Комментарии5 Есть что сказать?

Апалка объявлений на кубань.ру

Всем колхозникам посвящается.

Попросили меня как-то подать объявления на форум местный, но темы там быстро уходят в /dev/null и их постоянно надо апать, чтобы у людей мелькало перед глазами.

Руками заходить каждые несколько минут и писать «up!» — это не для нас, ведь?

Отличный повод заюзать DudeCurl, подумал я :) (дуд, с тебя 1000$, постпроплачен ^_^)

Вобщем, подключаем всеми нами любимый дуд курл, заводим тестовый файл с ID топика на каждой строчке, пишем пару строк кода и ставим на крон.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// подключаем дуд курл
include_once(dirname(__FILE__) . '/DudeCurl.php');
// считываем ID-ы топиков
$topics = file(dirname(__FILE__) . '/topics.txt');

// ваши авторизационные данные
$login = 'login';
$password = 'password';

// урл страницы форма (надо, чтобы вытащить некий «kodun» для авторизации)
$url = 'http://forums.kuban.ru/forum/index.php';
// урл авторизации
$login_url = 'http://forums.kuban.ru/forum/login_new.php';
// урл постинга
$post_url = 'http://forums.kuban.ru/forum/posting_new.php?page=1';

// пошли по всем топикам
foreach ($topics as $topic_id) {
    $topic_id = intval(trim($topic_id));

    // если еще не авторизовались, то делаем это
    if (!isset($curl)) {
        $curl = new DudeCurl($url);
        $html = $curl->exec();
   
        preg_match('#kodun" type="hidden" value="(.*?)"#i', $html, $m);
        if (!isset($m[1])) { die('can\'t find kodun :('); }
        $kodun = $m[1];
       
        $auth = array("username"=>$login,"password"=>$password, "kodun"=>$kodun);
   
        $curl->init($login_url);
        $curl->post = $auth;
        $curl->exec();
    }
   
    // постим сообщение
    $data = array("visible_mail"=>'OFF', "message"=>'up!', "kodun"=>$kodun, "add_post"=>$topic_id);
    $curl->init($post_url);
    $curl->post = $data;
    $curl->exec();
   
    // эту тему мы апнули
    print 'http://forums.kuban.ru/forum/viewtopic_new.php?t=' . $topic_id . '<br />';
   
    // т.к. на этом мегафоруме стоит антифлуд, то мы немного посмпим
    sleep(rand(35,40));
}

Исходнички + DudeCurl 0.2.5 Beta

Всем кубаньрушникам привет! :)


11.09.2009

Тэги: , , ,

Комментарии12 Есть что сказать?

Переехал

Переехал, 43м2.


11.09.2009

Тэги: ,

Комментарии32 Есть что сказать?

Рейтинг игроков, рейтинг Эло. Немного математика есть в каждом Оо

Ссылка на официальный ман по рейтингу эло — Рейтинг Эло.

Применим на практике?

Допустим, у нас 2 команды с рейтингами:

1
2
$rating_a = 800;
$rating_b = 500;

Расчитаем вероятность победы первой команды:

1
$e = 1/(1+pow(10, ($rating_b-$rating_a)/400));

Дальше опишу простую функцию для расчета коэффициена, необходимого для участия в финальном рейтинге:

1
2
3
4
5
6
7
8
9
10
11
12
function EloK($rating)
{
    if ($rating >= 2400) {
        return(10);
    }
    elseif ($rating >= 1000) {
        return(15);
    }
    else {
        return(25);
    }
}

Простая хуйня, иллюстрирующая, что значение равно 10 для сильнейших команд (рейтинг от 2400), 15 — для команд с рейтингом меньше чем 2400 и 25 — для новичков.

Ну и получим новый рейтинг по самой формуле:

1
2
3
4
5
6
$new_rating_a = $rating_a + EloK($rating_a) * (1 - $e);
$new_rating_b = $rating_b + EloK($rating_b) * (0 - (1-$e));

print $new_rating_a;
print ' / ';
print $new_rating_b;

Результат:

803.77448893 / 496.22551107

Вот такие пироги. Да, будет введено на Live-CS…


05.09.2009

Тэги: , , ,

Комментарии12 Есть что сказать?
Страница 7 из 251...45678910... 25

 

 

Последние Я.Фотки

Mobile PhotoMobile PhotoDSC_0612.JPG
DSC_0557.JPGDSC_0540.JPGDSC_0506.JPG