java regex pipe problem

I was trying to split a string to an array. and the special character was | (pipe).

String[] incomings=income.split("|");

and here is the out for income=”abcd|efg”


{"a","b","c","d","e","f","g"}

then I understand that this pipe char turns this issue an regex one and doing some strange stuff 🙂 after some research I found the solution. here is the solution for regex pipe


incomings=income.split(Pattern.quote("|"));

this makes the output for same situation like this:

{"abcd","efg"}

lovely

pg_dump and slowness

I am trying to make a backup of a very big postgresql(around 165 gb) for two days now. and at last I find out my mistake. never take a dump at same disk. it eats a lot of IO and kill all services which depends to dumped database.

first try I am dumping database to same disk and after around 6 hours web server started to giving timeout and lovely sitescope mails 🙂 and I had to kill that process.

then I read a lot and started to dumping the database to another machine and it was smooth took around 4 hours to dump and no web server gave any timeout.

example commands

pg_dump -Fc dbname > db.backup

and I started restore like this

pg_restore -d dbname db.backup

before that I needed to recreate the db from psql. and this have not finished I must tell that pg_restore has -j parameter which gives more thread to read the dump file and you can give cpu number to -j which will work faster.

güvenli torrent

az evel bakınırken gördüm(http://feedproxy.google.com/~r/Mashable/~3/pvkLaynvd_A/) amerikada 23bin kişiye torrentden expandables çekti diye dava açılacakmış. ISP ler böyle bir durumda adres ve isimlerinizi vermek durumunda. kafa başıda 150 bin$ gibi bi fiyat biçilmiş. habere göre bu iş 3000$ a halledilebiliyormuş. derken len dedim bende download yapıom torrentden. ISP nin yani ttnet yada smileadsl in izleyememesi için yapılması gereken bütün trafiği şifreli duruma getirmek. bu sayede trafiğinizi okusalarda ne trafiği olduğunu anlayamayacaklardır. ben debianda vuze/azureus kullanıyorum.

çözüm basit

Tools -> Options
Connection -> Transport Encryption

bu paneli resimdeki gibi yaparsanız. yani “Require encrypted transport” ve listeden RC4 seçilecek. bide aşşadaki iki allow ile başlıyan seçilmicek. bu sayede bütün trafiğiniz sizin için p2p download ettiğiniz dava olacak. ve ISP için şifreli data olucak 🙂

linuxde transmission kullananlar için

transmission torrent encyption

apache shiro linuxde nasıl derlenir

dökümantasyonda görmedim not alim dedim. evvela shiro nedir.

shiro kısaca java için bir güvenlik sistemidir. kullanıcı yönetim sistemi ve role tabanlı ulaşım sağlar. yada asp.net membership sisteminin benzeridir denebilir. üstün özellikleri biraz cryptosu fazla bide ldap falan desteklemesi neyse konumuz o değil.  mvn daha çok ram istermiş. pom xml i okurken fark ettim. yapılması gereken

export MAVEN_OPTS=”-Xmx512m -XX:MaxPermSize=128m”

yaptıktan sonra mvn komutunu vermek. bide dökümanları eskide kalmış gibi. mvn site demeniz yeterli. neyse kurcalayam bakam hoş duruyor uzaktan kullanırken ne cilveler yapıcak acaba 🙂

openjdk olmadan mvn kurmak

debian da mvn kurmam gerek direk apt-get install mvn dedim yimedi. sonunda paket isminin maven2 olduğunu anladım. da bu sefer yükliceklerinin içinde openJDK ve gcj vardıki bunlar java geliştirirken çileden çıkarıcak hatalara sebep olabilir. mvn yi yancıları olmadan kurmak için gereken komut:

apt-get --no-install-recommends install maven2

debian hyper v disk problemi ve çözümü

debain squeeze kurulu bir hyper V var ve üstüne 200gb disk takılı ekstradan bişeyler test edicem formatlıom formatlıom fdiskle bakıom diski nedense hep 127gb görüyor. ararrken ararken buldum. hyper V için scsi network otu boku ayrı driver istermiş. ve debianla gelen kernelde bu derli değildi. çözüm linux kerneli derlemek.

ilk adım linux indiriyoruz derliyoruz ve kuruyoruz.


cd /usr/src
wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.tar.bz2
bunzip2 linux-2.6.38.tar.bz2
tar -xf linux-2.6.38.tar
cd linux-2.6.38
make menuconfig

önümüzde duran şey linux kernel derleme opsiyonları Device Drivers -> Stagging Drivers –> Microsoft Hyper-V Client Drivers ‘a gidin. stagging drivers biraz aşşağıda. neyse gerekeni işaretleyin like this

sonra çıkıp sırayla bu komutları verin

make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-hyper-v kernel_image kernel_headers

sonrasında /usr/src altında iki dene deb dosyası çıkıcak bunları dpkg -i ile kurun. şimdide /etc/initramfs-tools/modules dosyasına aşşağıdakileri ekleyin

hv_vmbus
hv_storvsc
hv_blkvsc
hv_netvsc

sonrada

update-initramfs –u –k 2.6.38-hyper-v

şimdi besmeleyle reboot edin ve şükür debian diski olması gerektiği boyda görmeye başladı 🙂 hatta disk yetmedi 400gb yapıp gparted ile resize da ettim temiz çalışıyor.