Salı, Mayıs 31, 2011

Apache CXF "Stream is closed" Exception

CXF de bir bug dan kaynaklanıyormuş.

http://repository.apache.org/snapshots/org/apache/cxf/apache-cxf/2.4.1-SNAPSHOT/

sorunu çözüyor.

Pazartesi, Mayıs 30, 2011

müzikler youtube den

gerekli komutlar

youtube-dl
ffmpeg
lame
mesela videomuz bu http://www.youtube.com/watch?v=eWPrkQws0II

videoyu download et
youtube-dl http://www.youtube.com/watch?v=eWPrkQws0II 
wav a çevir
 ffmpeg -i eWPrkQws0II.mp4 eWPrkQws0II.waw
tekrar mp3 yap
lame eWPrkQws0II.wav eWPrkQws0II.mp3 
tepe tepe kullan

Cuma, Mayıs 20, 2011

gitosis kurulumu

gitosis kurulumu

git için global ayarları yapalım


$ git config --global user.name "Hasan Basri Ateş"
$ git config --global user.email "your_email@youremail.com"



cd ~/
git clone git://eagain.net/gitosis.git
cd gitosis

eğer kurulu değilse python-setuptools u kurun

sudo apt-get install python-setuptools
sudo python setup.py install        

depoları yönetmek için git kullanıcısını oluşturalım

sudo adduser \
    --system \
    --shell /bin/sh \
    --gecos 'git version control' \
    --group \
    --disabled-password \
    --home /home/git \
    git


gitosis için rsa.pub dosyası oluşturalım

ssh-keygen -t rsa

home klasörünüze .ssh/id_rsa.pub dosyası oluşmuş olmalı bu dosyayı /tmp altına kopyalayın

cp ~/.ssh/id_rsa.pub /tmp/id_rsa.pub

daha sonra

sudo -H -u git gitosis-init < /tmp/id_rsa.pub

izinleri tekrardan düzenliyoruz

sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update

gitosis hazır

şimdide gitosis yönetimi için

git clone git@YOUR_SERVER_HOSTNAME:gitosis-admin.git
cd gitosis-admin

gitosis.conf içeriğiniz

[gitosis]              

[group gitosis-admin]
writable = gitosis-admin
members = kullanıcıadınız


kendi takımımız için aşağıdaki satırı ekleyelim

[group myteam]
members = kullanıcıadınız
writable = denemeproje

yetkileri bu şekilde ayarlayabilirsiniz yeni kullanıcı eklediğinizde
keydir klasörüne eklediğiniz kullanıcının home dizinindeki id_rsa.pub dosyasını da atın

değişiklikleri aktif edelim

git commit -a -m "denemeproje projesinde kullanıcıadınız a yazma izni verildi"
git push

proje dosyalarımızı oluşturalım

mkdir denemeproje
cd denemeproje
git init
git remote add origin git@YOUR_SERVER_HOSTNAME:denemeproje.git

proje dosyalarınızı ekleyin

git add .
git commit -a -m "proje eklendi"


değişiklikleri remote gönderelim

git push origin master:refs/heads/master


işlem tamam

Salı, Mayıs 03, 2011

Youtube, Now in Super HD

güzel bir çalışma

http://mrdoob.com/lab/youtube/superHD/#

Pazar, Mayıs 01, 2011

php ile gettext olmadan çoklu dil özelliği

po dosyalarını kullanarak ve cach destekli çoklu dil sistemi

po dosyalarını pars etmek için php poparser kütüphanesini kullanacağız.



include_once 'POParser.php';
$GLOBALS['LANGUAGE_CODE'] = 'tr';
$GLOBALS['LOCALE_PATH'] = 'locale';
$GLOBALS['CACH_PATH'] = 'cach';
function encode_lang_key($str) {  
    return base64_encode(pack('H*',sha1($str)));
}
if(is_file(dirname(__FILE__).'/cache/lang_'.$GLOBALS['LANGUAGE_CODE'].'.cache')){
$content = file_get_contents(dirname(__FILE__).'/cache/lang_'.$GLOBALS['LANGUAGE_CODE'].'.cache');
$GLOBALS['LANG'] = unserialize($content);
}else {
$langFile = sprintf('%s/%s/LC_MESSAGES/messages.po',$GLOBALS['LOCALE_PATH'],$GLOBALS['LANGUAGE_CODE']);
$pp = new POParser();
$GLOBALS['LANG'] = array();
    $res = $pp->parse($langFile);
 
    foreach ($res[1] as $entry) {      
        if (isset($entry['msgid'])){
            $GLOBALS['LANG'][encode_lang_key($entry['msgid'])] = $entry;
        }    
    } file_put_contents(APPLICATION_PATH.'/cache/lang_'.$GLOBALS['LANGUAGE_CODE'].'.cache', serialize($GLOBALS['LANG']));
}
function my_gettext($message) {
$lang_key = encode_lang_key($message);
$retVal = $message;
if (isset($GLOBALS['LANG'][$lang_key])){
    $retVal = $GLOBALS['LANG'][$lang_key]['msgstr'];
    }
 
    return $retVal;
}


// Örnek kullanım

echo my_gettext("Merhaba Dünya");