26 Ekim 2009 Pazartesi

18 Ekim 2009 Pazar

bitti

geldim gidiyorum.

hep iğreti hissettim kendimi dünyada. her zaman ben misafir, sizler ev sahibiydiniz. şu dünyada hiç bir şeyi arzulamadım, hiç bir şey için çaba sarf etmedim. hep içimde yanan bir tutkuydu gerçeğe ve tanımlayamadığım aşk.

sonra aşkı da tattım, aşk acısını da. onunla anlam kazanan dünyam, gene onun elleriyle yıkıldı. galiba görevimi tamamladım. en çok da, hiç anlaşılmamaış olmak ve bundan sonra da anlaşılamayacak olmak koyuyor. beni anlayacak aşkın bir varlık eğer varsa, tek tesellim onun ilahi kollarında ağlayabileck olmak. ihtiyar doğan çocuk, hiç çocukluğu tadamadan gidecek.

17 Ekim 2009 Cumartesi

sis (tamamlanmamış şiirim)

karalama halindeki, henüz tamamlamadığım bir şiirim. sonradan yapacağım eklemeleri beğenmeyeceğim için büyük ihtimalle de hiç tamamlanmayacak.



...
ne bir gemiyle bilinmeyene gideceğim
ne de karanlık bir kuyuya ineceğim

nefes olacağım
rüzgarda bir hece
yağmurda bir ıslık
ve kar tanesinde
ağıt olacağım

şiir olacağım
dolduracağım gündüz ve gecenizi
tekrar edeceksiniz
kulaklarınıza fısıldadığım dizeleri

her tohumla birlikte canlanacağım
şarkılar söyleyip büyüyecek
kuru yapraklarla döküleceğim

her şey benimle nefes alacak
ölmeyeceğim
...

12 Ekim 2009 Pazartesi

gece nöbeti

iki dolunay bekleyeceğim
gündüz ve gece
hep özleyeceğim
arada mesafeler olsa da
nefesini içime çekeceğim
toprak gözlerin girecek düşüme
her bakışında yeniden
doğacağım
öleceğim
uyanıp iki dolunay bekleyeceğim
dedim ya
özleyeceğim

gece sayıklamalarımdan biri. histeri nöbeti şiirim. özlemim. tarif edemediğim, anlatamadığım ve dahi kimseyle paylaşmamım mümkün olmadığını bildiğim hislerin bir iç çekişi, ahı. beklemek, insanın büyük imtihanı.

10 Ekim 2009 Cumartesi

bu akşam

akşam dönüştürüyor beni, pek kimse bilmez. başkaları için zorlukla çıkardığım kahkahalar anlamsızlaşıyor kendimle baş başa kalınca, kökü insanın dünyaya düşmesine kadar uzanan o meşhur "insanı olur olmaz yakalayan sebepsiz hüzün" misafirim oluyor. kimi zaman ben yıldızlara bakarken gelmiş oluyor, kimi zamansa derin bir iç çekişimde yanımda buluyorum onu. bazen de aşk sızılarımda ziyaretime geliyor. konuşuyoruz havadan sudan kendisiyle, hasbihal ediyoruz. seviyorum onu, keşke gitmesen, diyorum. güneş doğmadan evvel kapısına uğranacak epey romantik, epey şair, epey yalnız var, diyor. gidiyor.

(http://blackcloudconnected.deviantart.com/art/Alone-29284646)

birisinin nazarında onun "deniz feneri" olmuşum. ben yolunu kaybetmiş ve üstelik yolu bulma telaşından bile sıyrılmış bir meczupken hem de. bu beni mutlu etti, ama itiraf etmeliyim ki bir o kadar da şaşırttı.

sahi, deniz feneri hüzünden başka ne çağrıştırabilir insana? sislerle kaplı bir sahilde kayaların üzerinde yalnız bir kule. gemicikler kaybolmasın diye ışığıyla dağıtıyor sisleri. ama kendisi de kayıp aslında. nereden gelip de çakılı kaldığını bilmiyor o lanet kayalığın üzerine. ama yine de var içinde, sislerin ve kayaların elinden alamadığı yegane şeyi, ışığı. kendisi kirlendi belki, gelip vuran dalgalar yıprattı. ama o ışığıyla anlattı. kadim kayıp, gemileri kurtardı.

masaldan gerçeğe dönersek, gemi ile bu akşam kah konuştuk kah susuştuk. konuşmayı pek sevmem ama onunlayken çok konuşuyordum bu aralar. "deniz feneri" payemi onca lafın içerisinden bir iki doğru söz çıkmasına borçluyum galiba. ama farkımız şu ki, o susarak bile benim ışığım olmuştu.

7 Ekim 2009 Çarşamba

altın pasajlar (dalgalar - virginia woolf)

"Kargaşa gittikçe yaklaşıyor," dedi Bernard, "Burada üniversitede, yaşamın gürültü patırtısının ve baskısının böylesine doruğa ulaştığı, yalın yaşama coşkusunun günden güne daha gerekli olduğu yerde. Kocaman, kepekten yapılma pastanın içinden her saat yeni bir şey kazılıp çıkarılıyor. Ben neyim, diye soruyorum. Bu mu? Hayır, ben şuyum. Özellikle şimdi bir odadan, konuşan insanlardan ayrıldığım, yapayalnız adımlarımın altında kaldırım taşlarının çın çın öttüğü, ayın görkemle, ilgisizce eski kilisenin üzerinden yükselişine baktığım zaman iyice anlıyorum, bir tek ve yalınkat değilim, karmaşık ve çoğum."

(http://hreidstudios.deviantart.com/art/Waves-119341516)

geç ve (neredeyse her favori yazarım gibi) tesadüfen keşfettiğim bir değer virginia woolf. yazarlığında büyük bir isme sahip olmasının yanı sıra gerçek bir entelektüel. ne yazık ki, bu hüzünlü bakan kadının sonu da yaşama kendi elleriyle son vermek olmuş.

dalgalar'dan bir kısa pasaj. alıntılanabilecek o kadar çok yeri var ki aslında. ama satırlar, sayfalar da birbirine o kadar bağlı ki hiç bir parça terk başına iken "bütünde yer alırkenki güzelliğini" yeterince sergileyemiyor.

"dalgalar" inanılmaz bir kitap. roman-şiir-tiyatro karışımı bir eser. altı kişinin ağzından sahnelenen bir oyun gibi. zaman ilerliyor, yeni bir perde başlıyor. altı kişi çocukluktan yaşlılığa ilerliyor. daha ilk sayfalardan itibaren, harikalar diyarına giden alice'in yaşadığına benzer bir şaşkınlık yaşadım. inanılmaz anlatımlar ve enteresan benzetmeler başımı döndürdü. woolf'u, dehasını kıskandım. çünkü uzun zamandır yazmayı düşündüğüm, kafamda şekillendirdiğim "şiirsel roman" türünün (pek çok zekice buluş gibi) yıllar önce, hem de ulaşılması mümkün görünmeyen bir seviyede yazıldığını gördüm.

4 Temmuz 2009 Cumartesi

içimdeki mavi adam

9 Haziran 2009 Salı

birleşme üzerine

"akşam, yine akşam, yine akşam
göllerde bu dem bir kamış olsam!"


anlaşılmak için çabalamayan büyük şair ahmet haşim'e selam olsun. dostumla güzel bir akşam sohbeti gerçekleştirdik. yürüdük, konuştuk ve yürüdük. aşk üzerine konuştuk, sevgi üzerine. kavuşmak, ayrılmak, reddedilmek, reddetmek üzerine. bağlanmak, kopmak üzerine. evlilik bağı üzerine. bu arada şunu da eklemek istiyorum, insanın kalbinin ve beyninin uyumlu olduğu bir dostu olması kadar güzel şey azdır. hesse de iki erkeğin samimi dostluğundan daha güzel ve gerçek bir şeyin nadir olduğunu söyler.

evlilik bana saçma gelirdi önceleri. çünkü çok büyük bir külfet. çok büyük bir sorumluluk. sonunda mutlu olup olmayacağından habersiz bir boyunduruğun altına girme eylemidir evlilik. bir insan bunu niçin yapar allah aşkına? işte bu yürüyüş esnasında çözdüm bu bilmeceyi. cevap basit. aşk. aşkın o itici ilahi gücü olmasa, o gaz olmasa, insan ne için bu kadar saçma sapan bir işe kalkışsın ki? niye evlensin?

aptal "evlilik aşkı öldürür mü?" tartışmasından da bahsedelim bu arada. evlilik tabi ki aşkı öldürür. hatta sevdiğinin yanında rahat davranmaya başlayan bir aşık da aşkı kaybetmiştir. aşkın en yüce hali en büyük reddedilme ve imkansızlıktan doğar. kainat bu temel üzerine kurulmuştur. entropi kanunu da işte budur. seven sevilmez, bu kadar basit. hale hele "ben seni seveyim, sen de beni o kadar sev" aşkına inanmak aptallıktır. işte bu keskin noktayı anladığın zaman hayat hiç bir zaman eskisi gibi olmayacak. hep bir seçim yapmak zorunda kalacaksın.

seveceksin dostum, yahut sevileceksin. sevmek sana çok şey katacak, kendini bile bu yolla keşfedeceksin. ama o seni sevmeyecek hiç bir vakit. seni lütfedip hayatına kabul ettiğinde bile. veya sevilmek üzere serbest bırakacaksın kendini. seni delicesine seven birini bulabilirsin. ama sevilmek, bir hayaletin öpmesi gibidir. hissedemezsin, sana bir şey katmaz. o seninle birlikte olmaktan mutludur. ama senin kalbin hep boş ve bilinmeyen bir sevgilinin özlemiyle dolu kalacaktır.



cibran'a yer vermemek olmaz. el mitra soruyor el mustafa'ya evliliği. ermiş yanıtlıyor.

"Yeryüzüne birlikte geldiniz ve sonsuza dek birlikte yaşayacaksınız,
Ölümün ak kanatları günlerinizi bölene dek birlikte olacaksınız,
Tanrı'nın suskun anıları katına eriştiğinizde bile birlikte olacaksınız,
Ama bırakın da bunca beraberliğin arasında biraz boşluklar olsun,
Ve Tanrısal alemin rüzgarları esip dolanabilsin aranızda,
Birbirinizi sevin, ama sevginin üzerine bağlayıcı anlaşmalar koymayın,
Bırakın yüreklerinizin sahilleri arasında gelgit çalkalanan bir deniz olsun Sevgi
Birbirinizin kadehini onunla doldurun ama aynı kadehe eğilip içmeyin,
Ekmeğinizi bölüşün, ama aynı lokmayı dişlemeye kalkmayın,
Şarkı söyleyin, dans edin, eğlenin birlikte, ama ikinizin de birer Yalnız olduğunu unutmayın,
Çünkü lavtadan dağılan müzik aynı, ama nağmeleri çıkaran teller ayrıdır,
Yüreklerinizi birbirine bağlayın ama biri ötekinin saklayıcısı olmasın,
Çünkü ancak Hayat'ın elidir yüreklerinizi saklayacak olan,
Hep yanyana olun, ama birbirinize fazla sokulmayın,
Çünkü tapınağı taşıyan sütunlar da ayrıdır,
Çünkü bir selvi ile bir meşe birbirinin gölgesinde yetişmez."


diyor el mustafa. son olarak ben de diyorum ki:

"aşkı tatmamış insan pisliktir, gübredir. ancak o güzel tohum içine girerse çiçek açar ve pis kokusunu güzel ilahi bir rayiha kapatır."

6 Haziran 2009 Cumartesi

titrek

uyuyamıyorum
yakacak kadar yakın
bu aşk dedikleri
koklayamayacak kadar uzak
bekliyorum

3 Haziran 2009 Çarşamba

geceye

Uykusuz gecem... Dönmeyen saat ve dağılmayan bulutlarım... Karanlığın ve sabah kızıllığının üstüne.

İşte bu saatlerde, zaman artık beni taşımaz da sanki üstünden atmaya çalışır. Tutunmak da gelmez artık içimden. Yetmedi mi bunca cefa, bunca hüsran derim. Ey zaman, bırak artık beni durayım. Yetmedi mi sürüklendiğim?

Damlayan su, saat tıkırtıları ve bitmeyen hesaplaşması ruhumun. Gökyüzü lacivert, iner üstüme. Yıldızlar sönsün artık benimdir tüm karanlık. Gece bende hüküm sürsün, artık doğmasın güneş. O varken burkuldu kalbim, aşkı taşıdım. Hep mutsuzdum, hep gündüz...

Gece bende hüküm sürsün. Siz uyusanız. Yaşasam bu hüznü ta fecre kadar, dalıp da seyreylesem alemi penceremden.

(lisede yazmıştım, şimdi bakınca epey amatör duruyor)

sıfır saniye

yan yanayız. bir karış mesafe ancak var aramızda. beynimin içerisinden yazılmamış şiirler, söylenmemiş sözler geçiyor birbiri ardına. cesaret edemiyorum bu uçan harfleri uç uca ekleyip ona sunmaya delicesine. kalkıp haykırmalıyım, hatta onu sarmalı sarmalı içine akmalıyım. bütün bu gelgiti yaşarken ona bakmamaya çalışıyorum hem de. gözlerim ileride ufukta çakılı. camın önüne konan kuşlar olur ya bazen. o vakit davetsiz misafirin güzelliğini doya doya seyreder, gitmesin, ürküp uçmasın diye dua ederim hep. kalbimden onu sarmak kucaklamak kanatlarını avuçlarıma almak isterim de ürkütüp uzaklara kanat çırpmasından endişe ederim. işte bu kuşları anımsadım o anda. ne kadar zaman geçti hiç hatırlamıyorum. belki de masallarda bahsettikleri gibi zaman durmuş bile olabilir, inanırım.

1 Haziran 2009 Pazartesi

mide ağrısı

bir sonraki otobüse binsen
şey diyecektim de
nasıl desem
soracaktım da
hani söyleyemedim ya
saçmalık neyse boşver sen

28 Mayıs 2009 Perşembe

altın mısralar (yol işareti - bahtiyar vahapzade)

sevdinse
aşkında yitip yok oldun
karıştıracaksın günü ayları
sevgi yollarında ne kaide kanun
kendin aşmalısın bu dolayları

eriyip kendini yok sanacaksın
bu derdin olmayıp özge çaresi
sen hız hız "kazaya" uğrayacaksın
yoktur bu yollarda yol işareti

(bahtiyar vahapzade)

26 Mayıs 2009 Salı

şiir üzerine

"şiir nedir" sorusunu sormak gibi bir saçmalık yapmayacağım. bu soru en az "sen nesin" veya "hayatın anlamı nedir" kadar çetrefilli bana göre. bu arada, bu sorular şiirle direkt bağlantılı. şiiri çözersen bunları da çözersin. bir de "ben şair değilim, ne haddime" gibi konuşma kalıpları var. eğer şiir yazıyorsan şairsin arkadaş. yok eğer yazdıklarını, şiirlerini, evlatlarını küçümsüyorsan diyecek bir şey yok. o zaman uğruna aşk şiirleri yazdığını da küçümsüyorsun. acılarını, mutluluklarını, içindeki o tarif edemediğin rahatsız kıpırtıyı da küçümsüyorsun. daha da fenası belki tevazu kılıfı altında kendini yüceltmeye çalışıyorsun.

ilham perisi denen şeye pek inanmazdım küçükken. tam bir mekanik model içerisinde düşünürdüm şiiri, adeta bir düz yazı kompozisyonu gibi.karar verirsin masaya oturursun arkadaş, yazarsın birbiriyle uyumlu kelimeler kullanırsın, "beğenmediğin yerin üstünü çizersin, düzeltirsin, böyle bir kaç saat uğraşıp ortaya güzel bir şey çıkarırsın" derdim. iş öyle değilmiş ve iş öyle değil.

kişisel sürcimi anlatmak istiyorum müsaadenizle. herhangi bir yerde, bir anda aklımdan bir cümle, bir kaç kelime, bir tamlama gibi bir şey çıkıyor istemsizce. belki de bilinç altım bana sunuyor demeliyim. ardından bu "kendim tarafından bana hediye edilen ifadenin" etrafını dolduruyorum. tüm bu anlattıklarım bir iki dakika sürüyor. ve genellikle yanıma kalem kağıt olmuyor, süreç kafada cereyan ediyor. daha sonra kağıda döküyorum. eğer kağıda dökme kısmında çok fazla "şurası pek olmamış" dersem, kırpa kırpa şiirciğimi mahvediyorum. bu nedenle pek düzeltme yapmam. bir de işin şu boyutu var. şiir, o anki ruh halin içerisinde, kendi içerisinde anlamlı bir bütün. o halden, o moddan, o düşten çıkınıca anlamsızlaşabiliyor.

şiir yazmak istiyenlere tavsiyem, "şiir okuyun, çok şiir okuyun" falan değil. o zaten bana göre insan olmanın gerek şartı. şiir yazmak istiyorsan başına bir "iş" gelmesi lazım. dua etmeli başıma bir "iş" gelsin diye. aşık olmadan yazılmıyor. şu dünyada bana verildiği için en sevindiğim hediye şiir. hayata şiir nazarıyla bakmak tarifsiz. şiir ruhu hem bir lanet hem bir mükafat. onu o haliyle sevmek, lütfuyla, kahrıyla sevmek en güzeli. hem, "aşk" mazoşist değil midir zaten?

(resim: http://www.flickr.com/photos/radonic/2326116144/ )

25 Mayıs 2009 Pazartesi

yürümek iyidir

sıkışıyor bazen içim. burnum sızlıyor, genzimde bir yanma hissediyorum, bilirsin boğazıma bir şeyler düğümleniyor. atıyorum kendimi yollara, yürüyorum. salak gibi yürüyorum bildiğin. hayır, bir yere gitmek de istemiyorum. neye yaklaşıyorum veya neyden uzaklaşıyorum ben de bilmiyorum.

( resim : http://pmartike.deviantart.com/art/Lonely-walk-68123610 )

zaman gelmeyecek

şimdi beni dinle
artık biliyorum
zaman gelmeyecek

başıboş hayallerim uçuşacak
yaramı unutacağım
anılar parlayacak ve sönecek
gözümü kapatacağım
o hisle belki başım dönecek
seni bile göreceğim
işte o anda bulutlar dağılacak
gerçeğe çakılacağım

eskisi gibi olmayacak
yenisi gibi olmayacak
zaman gelmeyecek

24 Mayıs 2009 Pazar

yol

hayat sahnesinde neredeyim
karanlık mı aydınlık mıyım
ve yıldızlar akar ellerimden
ben kör ışığa hasret gözlerim

23 Mayıs 2009 Cumartesi

dadaist koleksiyon

kullandığım her paxera kutusunu, bittikten sonra kutunun kulakçıklarından birini kesip saklayarak koleksiyon haline getirmeye karar verdim. ancak bu biriktirdiğim şeylerle ne yapacağıma henüz karar vermiş değilim. bekleyip görelim.

anne ve bir garip endişe

koca bir adam olsan dahi, hatta asıl koca bir adam olduğunda başlıyor bu endişe atakları hastalığı. çünkü sen koca adam olana kadar kadar, o koca bir ihtiyar oluvermiş oluyor.

kapıyı çalıyorsun bir kaç kere, cevap gelmeyince başlayabiliyor hemen endişe atağı. “onu ne çok seviyormuşum” diyorsun belki, belki de “n’olur ölmesin onu yeterince mutlu edemedim”.

o kapıyı açınca gene eski sakin haline geliyorsun aniden. belki de “niye geç açtın yahu, ağaç oldum” diyorsun. az önceki endişeni unutuyorsun galiba.

18 Mayıs 2009 Pazartesi

altın mısralar (yenilgi - halil cibran)

Yenilgi, yenilgim, yalnızlığım ve kimsesizliğim.
Binlerce yengiden de bana değerli olan sen!
Dünyadaki tüm parlak başarılardan
sensin yüreğime yakın olan!

Yenilgi, yenilgim, baskaldırım
ve de benim kendimle tanışmam.
Sayendedir ki,
hala ben ayağı yere basan
ve solmuş defneler peşinde koşmayan
biri olduğumun bilincindeyim;
ve sende, yalnızlığımı buldum
ve de herkesten uzak,
ve de gururlu olmayı.

Yenilgi, yenilgim, benim parlak kılıcım
ve de kalkanım.
Gözlerinde okudum
tahtı arayanın
kendi kendisinin kuluna dönüştüğünü.
Ve, bir kimsenin derinliklerindeki
esasını anlayabilmemiz için
onun gücünü söndürmemiz gerektiğini.
Ve ancak böylesine olgunlaştıktan sonradır ki,
bir meyvenin tadına varılabildiğini.

Yenilgi, yenilgim,
benim sözünü sakınmaz yol arkadaşım
şarkımı, bağrışmalarımı, sessizliklerimi
hep duyacaksın.
Ve senden baska hiç kimse
bana söz etmeyecek
kanat çırpınmalarından
ve deniz kabarmalarından
ve de geceleri yanan dağlardan.
Ve sen, tek başına
ruhumun sarp ve kayalık
yollarından tırmanacaksın.

Yenilgi, yenilgim, benim ölmez cesaretim
sen ve ben fırtınada birlikte güleceğiz;
ve biz ikimiz, derin mezarlar kazacağız
içimizde ölmekte olanlara;
ve tutunacağız, tüm gücümüzle,
güneşin karşısında;
ve de tehlikeli olacağız.

(halil cibran)

7 Mayıs 2009 Perşembe

pyqt programlama

uzun zamandır hep yazmayı düşünüp ertelediğim yazımla nihayet karşınızda olmaktan mutluyum. ben de pyqt öğrenme sürecinde sıkıntı çektim. bu nedenle mümkün olduğunda faydalı bir şey ortaya çıkarmak için uğraştım. umarım faydalı olur.

python gün geçtikçe popülerliğini artıran bir dil malumunuz. esnekliği ve kolay okunup yazılabilen söz dizimi ile öne çıkıyor. bazı özel durumlar haricinde programları bir görsel arayüz ile hazırlıyoruz. python'la birlikte çalışan bir çok farklı arayüz seti mevcut. wxpython, tkinter, pykde, pygtk ve bugünkü yazımızda inceleyeceğimiz pyqt. gelişmiş bir platform bağımsız arayüz framework'ü olan qt'nin python bağlayıcısı olan pyqt bize python kodlarıyla qt arayüz elemanlarına erişim imkanı sunuyor.

şu an qt4 versiyonu kullanılıyor. biz de örneğimizi bu versiyon üzerinden vereceğiz. şimdi gereken paketler, python, qt4, qt4 tasarımcı ve pyqt. yalnız qt'nin ve qt designer'ın eski versiyonları da paket deposunda yer alıyor. onları da yeni versiyonlarla birlikte kurarsanız uyum problemleri ve sorunlar ortaya çıkıyor. buna dikkat edelim.

qt arayüzlü python uygulama geliştirme yani pyqt çok yeni sayılabilecek bir alan. kaynak bulmak zor. internetteki çok az sayıdaki örnekler de genellikle çok basit örnekler ve ilk adımın ardından ikinci adıma geçmek sizin kendi becerinize ve çabanıza bakıyor. kendi çektiğim sıkıntıları çektirmemek için bu ilk programımızda “hello world” geleneğini bozuyoruz ve bir basamak daha ileri bir uygulamayla merhaba diyoruz.

kmenü'den uygulamalar > geliştirme > qt4 tasarımcı yoluyla arayüz tasarlama programımızı açıyoruz. daha önceden netbeans, visual studio, delphi gibi görsel bir geliştirme ortamı ile çalışmışsanız yabancılık çekmeyeceksiniz. sol tarafta parçacıkların (component) dizilmiş olduğunu görüyoruz. sağ panelde ise formumuza eklemiş olduğumuz elemanın özelliklerini ayarlayıp görebildiğimiz bir özellik düzenleyici var.

ilk açılışta nasıl bir form oluşturmak istediğimiz soruluyor. biz Main Window'u seçip oluştur diyoruz. bunun ardından boş bir pencere görüntüsü geliyor. bu pencereyi boyutlandırabilirsiniz. sağ taraftan özellik düzenleyiciden de bir çok özelliğini kurcalayıp karıştırabilirsiniz.

şimdi bu boş formumuza, sağ taraftaki parçacık menüsünde Input Widgets başlığı altından sırayla bir lineedit, bir tane de spinbox seçip sürükle-bırak yöntemiyle formumuza ekliyoruz. şimdi ise bu elemanlar arasında bir bağlantı, bir ilişki kuracağız. buna sinyal-slot ilişkisi deniyor. bu ilişkileri oluşturma ve düzenlemek için qt4 tasarımcı'da çok hoş bir özellik var. bunun f4'e basarak tasarım modundan çıkıp sinyal düzenleme moduna geçiyoruz. bu modda, fareyi bir elemanın üzerine getirdiğimizde o eleman kırmızı kırmızı renk ile belirtiliyor. sinyali gönderecek elemanın üzerine tıklayıp basılı tutarak, alıcı elmana götürüp bırakıyoruz. bunun üzerine bir pencere açılıyor

sol taraftaki metodlar (sinyal) göndericinin, sağ taraftaki metodlar (slot) ise alıcının metodları. mesela bizim örneğimizde gönderici elemanın (spinbox) valueChanged() metodu, alıcı elemanın (lineEdit) setText() metoduyla bağlantı kuruyor. tamam diyerek sinyalimizi oluşturma işlemini bitiriyoruz. ihtiyaca göre farklı metodlar kullanılabilir. sinyal işlemleri bittiğine göre sinyal düzenleme modundan varsayılan tasarım moduna geçmemiz lazım. bunun için de f3 kısayolunu kullanıyoruz. işlemler tamamlanmışsa, dosyamızı uygun bir yere kaydediyoruz.

dosyanın bulunduğu dizinde konsol açıyoruz. bunun için o klasörü açıp f4 tuşuna basmak yeterli olacaktır. ardından pyuic4 girendosya.ui -o cikacakdosya.py komutuyla .ui uzantılı dosyamızı .py uzantılı bir python dosyasına çeviriyoruz. yani pyuic4 komutu, xml tabanlı olan qt4 tasarımcı arayüz dosyasını python'un anlayabileceği bir dosya haline getirmiş oldu. şu anda Ui_MainWindow adlı bir bu arada, örneğimizde ben giriş dosyasıyla çıkış dosyasına aynı adı verdim. ama bu zorunlu değil, hatırlatayım. ayrıca yapacağımız düzenlemeleri .ui dosyasında yapacağız ve her düzenlemenin ardından yukarıdaki pyuic4 komutunu kullanarak dönüştürme işlemi yapacağız.


yeni oluşan python dosyasını açıp inceleyecek olursak, bir Ui_MainWindow sınıfı ve altında tanımlanmış setupUi ve translateUi fonksiyonlarını görebiliriz. setupUi, eleman özelliklerinin, translateUi ise elmanların yazılarının ifade edildiği metodlar. asıl önemli kısım, yeşil ile işaretlediğim satır. yani hatırlarsak, düzenleyicide oluşturmuş olduğumuz sinyal bağlantısı.

şimdi elimizde bir adet ana pencere sınıfı var. bu tek başına Hiçbir işe yaramaz. bunu işe yarar -yani çalışır- kılmak için bir çok farklı yöntem var. eğer internette pyqt konusunu inceleyecek olursanız neredeyse herkesin farklı yol izlediğini görürsünüz. ben de bu yazımda size kendi uyguladığım ve pratik bulduğum yöntemi göstermek istiyorum. bunun için diğer dosyalarla aynı dizinde bir baslat.py dosyası oluşturalım ve içini aşağıdaki dolduralım.


şimdi ilk çalışan programımızı elde etmiş olduk. buna yavaş yavaş eklemeler yaparak farklı yöntemleri örnekleyeceğiz. ama şimdi programı çalıştırmamız gerek. dosyaların bulunduğu dizinde f4'e basıp konsolu açtıktan sonra python baslat.py komutuyla programı başlatabiliriz. spinbox'tan yukarı ve aşağı ok'a basarak değeri değiştirdiğimizde lineEdit'teki değer de bununla aynı oluyor. qt4 tasarımcıda oluşturduğumuz sinyal bunu sağlıyor. şimdi qt4 tasarımcıyı açarak formumuza bir tane düğme ekleyelim. daha sonra bu düğmeyi de farklı bir yöntem için kullanacağız. düğmeyi (pushButton) parçacık seçiciden ekleyip dosyayı tekrar kaydediyoruz. pyuic4 ... komutunu tekrar vererek dönüştürme işlemini tekrarlıyoruz. şimdi de baslat.py isimli başlatıcı dosyamızı açarak bir takım eklemeler yapmamız gerekiyor.


kendimiz yazarak oluşturduğumuz yeni sinyal tanımlayıcımız aracılığıyla, düğmeye her basıldığında dosyamızın içinde harici adı altında tanımladığımız yeni fonksiyonu çalıştıracağız . bu değişiklikleri yapıp baslat.py dosyamızı kaydediyoruz. dosyaların bulunduğu dizinde f4'le konsolu açıp python baslat.py komutunu girerek programımızı çalıştırıyoruz. artık bir önceki aşamadaki özelliğe ek olarak, eklediğimiz düğmeye bastığımızda lineEdit'in yazısı “harici..” oluyor.

şimdi bir aşama daha ileri giderek farklı bir class'ın mevcut programımız içerisinde nasıl kullanılabileceğini gösteren bir örnek yapıyoruz. bunun için önce sinifDosyasi.py adıyla yeni bir python dosyası oluşturup aşağıdaki gibi dolduralım.


gördüğünüz gibi basit bir sınıfımız var. aylar dizisi, ayOku ve ayYazdir metodları var. şimdi qt4 tasarımcıyı açarak formumuza bir düğme daha ekleyip dosyayı kaydedip pyuic4.. komutuyla tekrar dönüştürelim. şimdi geriye bir tek işimiz kaldı. o da baslat.py dosyasına son şeklini vermek. hemen kolları sıvıyoruz.


baslat.py dosyasını da şekildeki gibi düzenledikten sonra tekrar konsoldan python baslat.py komutunu vererek programı çalıştırıyoruz. programımız önceki özelliklerinin yanı sıra artık ikinci düğmeye basıldığında lineEdit'e, sinif class'ından türettiğimiz ayYorumlayici nesnesinin ayYazdir metodundan gelen yazıyı yazıyor. yani spinbox'ta hangi sayı varsa, senenin o ayının adını lineEdit'te görüyoruz.


şimdi neler yaptığımızı hatırlayalım. ilk versiyonda sinyalimizi tasarımcının sinyal oluşturma moduyla kod yazmadan yapmıştık. ikinci versiyonumuzda başlatıcı dosyanın içerisinde kendi fonksiyonumuzu ve dahi sinyalimizi yazmıştık. en sonunda ise harici bir sınıfı, bu sınıftan nesne türeterek kullanıyoruz.

şimdi akla takılma ihtimali yüksek olan bir konuyu açıklamak istiyorum. anlatım karışmasın diye sona saklamıştım. kodlarımızda epey bir “self” ifadesi kullandık. gerek metotları, gerekse değişkenleri çağırırken bu takıyı kullandık. bu ne anlama geliyor? bir sınıf oluşturmuşsanız, ve bu sınıfın farklı metotları aynı değişken üzerinde işlem yapıyorsa, bu değişkeni “self.degiskenadi” şeklinde tanımlamamız ve kullanmamız gerekiyor. ayrıca eğer metotlar birbirini çağıracaksa gene aynı şekilde “self.metod()” şeklinde kullanılması gerekiyor. ancak bir fonksiyon kendi içerisinde bir değişken oluşturup kullanıyor ve değişkene bu fonksiyon dışından erişilmiyorsa başına self koymadan “değişken“ şeklinde kullanılabilir. ayrıca bir class'ın içerisinde fonksiyon oluştururken de “def fonksiyon(self, x, y):” şeklinde tanımlıyoruz. yani fonksiyon “self”i argüman olarak alıyor.

bir de unutmadan, bu pyuic4... şeklindeki konut kullanımı çok can sıkıcı olabiliyor, biliyorum. bunun için kendime yazmış olduğum bir python programcığı var. uitopy. bu sıkıcı dönüştürme işlemini kendisi otomatik yapıyor ve eğer kendisini ilk defa kullanıyorsanız o dizinde, baslat.py benzeri bir dosyayı da kendisi oluşturuyor. ilginizi çekerse http://code.google.com/p/uitopy/ adresindeki proje sayfasından kullanmak veya incelemek için indirebilirsiniz.

şimdilik bu kadar. görüşmek üzere.

6 Mayıs 2009 Çarşamba

bir bahar gecesi rüyası

30 Nisan 2009 Perşembe

seymgeym



aklıma bir algoritma problemi getirip veya (daha güzeli) yaratıp onu çözmeye uğraşmak en büyük zevklerimden birisidir. bunun uygulanması için de "oyun"dan daha iyi bir alan olamaz. bu ara same game ismiyle bilinen efsane oyunu kafaya taktım. isim belki tanıdık gelmeyebilir. aynı renkten blokları bir araya getirip patlatarak yok ettiğimiz oyun. bir kaç temel algoritma var. aynı renkten ve birbirine komşu taşların tespiti, bu tespit edilen taşların yokedilmesi sonucu bunların üstünde kalan taşların bir kare aşağı inmesi, bir sütunda hiç taş kalmamışsa sağındaki bloğun tümünün en az bir kare yanaşarak sola yapışması, oyunun bittiğinin yani birbiriyle aynı renkte olup birbirine değen birden fazla taş olmadığının tespit edilmesi. çok zor problemler değil esasen, ama asıl olan kendine özgü bir yöntem geliştirmek, kod kopyalamamak ve en az döngü ve işlemle halletmeye çalışmak.

teknik detaya girmeden yapısal olarak anlatacak olursam, oyunun temel sınıfını içeren bir dosya ve bir de görsel olarak oyunu oynanabilir kılan pyqt'yi kullandığım dosya var. kısacası bir adet oyun motoru ve bir adet de oyun kaportası var. mümkün olduğunca genişletilebilir, değiştirilebilir bir ana oyun sınıfı yazdım. renk sayısı, oyun alanının kare sayısı vs her şey esnek. ve hatta renklerin kendisini bile (onlarca renk sayısına kadar) otomatik türeten bir kod parçası mevcut.

seymgeym'i de uitopy gibi google code sayfama attım. http://code.google.com/u/penguen@linux.erciyes.edu.tr/ adresinden erişilebilir. kodunun hepsini buraya koymam biraz abes olur. onun için google code'dan inceleyebilir, indirebilirsiniz. sadece aynı renkten olan ve birbirine komşu olan taşların tespit edildiği fonksiyonu ve tespit edilen bu grubun yıkılması fonksiyonununu yazayım örnek baabında.
    def etrafaBakin(self, yG, xG):
self.grup[yG][xG] = self.hangiRenk
for x, y in [[-1, 0],[0, -1],[1, 0],[0, 1]]:
if (yG + y in range(1, self.tahtaY + 1)) and (xG + x in range(1, self.tahtaX + 1)) and (self.tahta[yG + y][xG + x] == self.hangiRenk) and (self.grup[yG + y][xG + x] == 0) :
self.grup[yG + y][xG + x] == self.hangiRenk
self.etrafaBakin(yG + y, xG + x)

    def yik(self):
for n in range(1, self.tahtaX + 1):
for m in range(self.tahtaY, 0):
if self.tahta[m][n] == self.grup[m][n]:
for y in range ((m - 1), 0):
self.tahta[y + 1][n] = self.tahta[y][n]
self.tahta[1][n] = 0
if self.tahta[self.tahtaY][n] == 0:
for x in range(n+1, self.tahtaX + 1):
for y in range(1, self.tahtaY +1):
self.tahta[y][x-1] = self.tahta[y][x]
if x == self.tahtaX:
self.tahta[y][self.tahtaX] = 0

29 Nisan 2009 Çarşamba

nevbahar


bahar, bir nevi negatif entropi kaynağı. inanılmaz bir şey. ölüm uykusuna giren doğanın bir kuvvet eliyle mucizevi bir şekilde yeniden dirilmesi.

geçenlerde iki arkadaşımla pek tanınmayan bir mekanda çok güzel bir doğa yürüyüşü yapmıştım. yürüyüş, tepe tırmanışı, akarsudan karşıya geçme çabaları, kayalar, ağaçlar... tavsiye ederim, mutlaka bir fırsat yaratıp, insan eli pek değmemiş yerlere açılmalı. parkla bahçeyle olmuyor.

(resim: http://run4w4y.deviantart.com/art/Barfuss-118575565 )

28 Nisan 2009 Salı

google code

google'ın güzel bir hizmeti bildiğiniz gibi. proje yayınlamak ve ekiplere katılmak için güzel bir platform. ben de boş durmayayım dedim. daha önce burada açılışını yaptığım uitopy'cığımı google'ın sunucularına emanet ettim. bu süreçte hem svn kullanımında da pratik yapmış olacağım olacağım. bir de logo çiziktiriverdim gimp'le. kendim yaptım diye demiyorum, güzel oldu. ancak logo projeden 5 gömlek fazla oldu. fazla iddialı. bu logoya yakışır bir program için kamçılanmalıyım.

http://code.google.com/p/uitopy/

projemize bekleriz. yengeniz de çay yapar.

python ne abi?

1991'de doğan güzide bir programlama dili olan python, adını sanıldığı gibi bir yılan türünden değil, monty python komedisinden alıyor. ancak şu günlerde yılan sembolüyle özdşleşmiş durumda. pyqt'nin simgesinde (değiştirin abi çok kötü) ve dahi python'un simgesinde yılan görmek mümkün. buradan incelediğimizde, kendisinden daha yeni olan bir düzine uyuz (amatör veya özelleşmiş dilleri saymıyorum, onlara saygı duyuyorum) programlama dili mevcut. örneğin, visual basic, borland pascal, borland delphi. delphi demişken, allah belanı versin delphi. şimdi elimden geldiğince ön plana çıkan özelliklerine değinmek istiyorum.

  • python son derece üst seviye bir programlama dili. konuşuyor gibi kod yazabiliyoruz. programcı dostu. sentaksı çok güzel ve yazmanın dışında bazı dillerde bela olan kod okumayı da kolaylaştırıyor..

  • çok esnek,kemiksiz bir dil. programlama yaparken "şu şöyle olsa ne süper olurdu" dediğiniz fanteziye kaçan bir şeyi düşünüyorsanız o şey python'da muhtemeln mümkündür. ayrıca bir çok dilde ömür çürüten o tip tanımlamaları yok. önemsiz gibi görünüyor, ama göreecksiniz ki tip tanımlamalarının olmaması fantastik şeylere imkan tanıyor.

  • yüksek seviye dinamik tip desteği var.

  • uyumluluk abidesi. c, c++, java (jython), .net (ironpython) uyumlu. linux/unix, windows os/2, mac, amiga ve başka ne varsa onda çalışıyor. çalışabiliyor demiyorum dikkat ederseniz çalışıyor. yani çalıştırabilmek için zorlama şeyler yapmanıza gerek yok.

  • çok geniş yelpazede, çok çeşitli kütüphane desteği

  • e, bu kadar özelliği olan bir dil tabi ki nesne tabanlı programlamaya son derece uygun


klişe cümle kalıpları kullanmayı sevmem, bu da bir exception olsun bari. insanlar ikiye ayrılır python dilini sevenler, python diliyle henüz tanışmayanlar. wiki'den de şöyle diyorlar; "django, youtube, bittorrent istemcisi, pardus linux dağıtımı python kullanan önemli projelerden bazılarıdır. ayrıca google, nasa ve cern gibi büyük kurumlar da python kullanmaktadır. ayrıca gimp (sevdiceğim), inkscape, scribus and paint shop pro gibi bazı programlarda betik dili olarak kullanılır."

"ee, çok konuştun, kod görmedik" diyebilirsiniz (show me the code and nobody hurts). bu yazıda göstermeyeceğim. ancak çok yakında python dersleri yazıp yayınlamayı düşünüyorum. geçenlerde müthiş bir "cheat-sheet" tabir edilen doküman buldum. mutlaka indirilip, göz gezdirilmesi gerekli. fizikçiler, bütün tmel kuvvetleri birleştiren "theory of everything"i (T.O.E) bulamadı. ama dokümanın müellifi "document of everything in python" gibi bir şey bulmuş. belgeler.org'da da bir türkçe doküman var efe'nim.

sonium -> someone speak python here?
lucky -> HHHHHSSSSSHSSS
lucky -> SSSSS
sonium -> the programming language


bu da böyle bir chat log'u. bash.org'da binlerce eğlenceli chat log'u var. aptal youtube videolarından sıkılanlara tavsiyemdir.

otomatik portakal (clockwork orange'a saygılarla)

geleneksel staj şenlikleri ve ateşe-tapan yay burcu afro-iskandinav kültürü şenliği başladı malumunuz. iş başvurusuna benziyor bu staj dedikleri. "öyle olmalı zaten", bu da iş hayatının ın bir simülasyonu, bir alıştırması dediğinizi duyuyorum. ancak iş hayatında ciddiyet bakımından benzemiyor maalesef. ahbab, çavuş ilişkisiyle benziyor. kod görse ayet-el-kürsi sanacak adamların isimli yerlerde staj yaptığını duyuyoruz. veya formalite staj yapanları, veya temizlik yaparak staj yapanları.

açık kaynak yazılım dostlarını daha da zor bir dönem bekliyor kuşkusuz. stajınızı, bir şeyler öğrenmek ve daha da önemlisi bir şeyler meydana getirip bir değer üretmek için araç olarak görüyorsanız, doğru düzgün bir yer bulmak son derece güç. microsoft teknolojileri'ne bağlı olmayan bir staj dönemi çok zor. "kill bill" tarzı espri yapan fanatiklerden değilim, microsoft'a garezim de yok. ancak ms teknolojilerine mahkum olmak istemiyorum. özgürlük istiyorum. geçen dönem tembellik etmeyip qt'ye iyice ağırlık vermiş olsaydım, pardus 2009 staj'ında yer alma zevkini yaşayabilecektim.

ha, portakal diyorduk. işte ben de geçenlerde portakal teknoloji'ye staj başvurusunda bulunayım dedim. türkiye'de açık kaynak denilince akla gelen öncü bir şirket. en son, açık kaynak tarafından domin edilen bilmök 09'da sponsor da olmuşlardı. neyse efe'nim, staj prosedürü biraz değişik bana uyar diyorsanız bora :et: boragungoren.com adresine bir mail atın.

yukarıdaki kaynaktan gerekli bilgiyi alabilirsiniz. ben kısaca şöyle anlatayım, cv'nin yanısıra, kendinizi gerçekten ortaya koyabilmeniz için bir özgür yazılım projesini inceleyip, kurcalayıp, hakkında bir inceleme yazısı hazırlayıp net'e (kişisel sayfanıza) koymanız istenmekte. mesela ben dm-crypt adlı bir dosya sistemi şifreleme programı'nı inceleyeceğim (incelemekteyim :) ). bu süreç sonunda staj programına kabul edilmeyenlerin bile süreç sonunda büyük bir adım atmış olacaklarına inanıyorum. benzeri bir olay yaşamıştım lisede. saygıdeğer bir geometri hocamız, sömestr tatili için 10.000 geometri sorusu çözmemizi istemişti. tabi hiç kimse bu devasa sayıyı yakalayamadı. ben de bir 4.000'de falan kalmıştım herhalde. ama en başında hocaya her dakika başı küfrettiğimiz bu süreç, sonunda bizi (en azından beni) geometri sevdalısı haline getirdi. şu an bile geometri ile uğraşmak en zevkli şeylerden biri benim için. açık kaynak camiası içerisindeyseniz veya kapı eşiğindeyseniz portakal iyidir.

bir de son olarak, otomatik portakal'la tanışmadıysanız kesinlikle kitap haliyle tanışın, sinema filmini izlemeyin. çünkü o kadar ağır sahneler var ki, bunların canlandırılması, görselleştirilmesi yaygın etik kurallara aykırı. o yüzden film kitabı layığıyla ifade edemiyor.

26 Nisan 2009 Pazar

menekşelendi sular



menekşelendi sular, sular menekşelendi
esmer yüzlü akşamı dinledim yine sensiz
leylak pırıltılarla bahçeler gölgelendi
inledi yine bülbül, olmazmış gül dikensiz

dikensiz gül olmazmış
çilesiz bülbül ayşe
her kuş bülbül olmazmış
her çiçek de gül ayşe

ne bülbül gülü sevdi seni sevdiğim kadar
ne böyle seven gönül, ne de senden güzel var
içli bir özleyişle bırak beni yanayım
gözlerinde gördüğüm rüyama inanayım

dikensiz gül olmazmış
çilesiz gönül ayşe
her kuş bülbül olmazmış
her çiçek de gül ayşe

altın pasajlar (peter camnzind - hermann hesse) 2


"yaşamım ne anlam taşımıştı, bunca sevinç ve acının üzerinden geçip gitmesinin hikmeti neydi? şimdiye kadar içimde hissettiğim, hala hissetmekte olduğum, 'gerçek'e ve 'güzel'e karşı bu susamışlık nedendi?
...
Madem yalnızlıklar içinde pek sevilmeden yaşayıp gitmek alnıma yazılmıştı, o işine akıl ermez tanrı, sevginin yakıp kavurucu özlemini ne diye yüreğime yerleştirmişti sanki?"


(resim: http://8088.deviantart.com/art/BLACK-AND-WHITE-DREAMS-28240118 )

23 Nisan 2009 Perşembe

uitopy (pyqt için pyuic otomatı)

qt4 designer ile çalıştığımızda .ui uzantılı tasarım dosyaları oluşturuyoruz biliyorsunuz. bunları pyqt ile kullanmak için pyuic4 dosya.ui -o pythondosya.py şeklinde bir komut kullanmamız gerekiyor. tasarımda yapacağımız değişiklikleri dosya.ui dosyasında gerçekleştirdikçe bu komutu verip derleme işlmini gerçekleştirmemiz gerkiyor. bu, özellikle uzun vadede ve çok sayıda ui dosyasıyla çalışıyorsak çok can sıkıcı bir hal alıyor. bu konuda işimi kolaylaştırmak için uitopy adlı (isim iddialı olmuş ütopya'yı çağrıştırıyor) bir python programcığı yazdım. bunu pyqt projemizin dizinine atıp çalıştıdrığımızda, dizinin içindeki tüm ui dosyalarına pyuic komutuyla dönüştürm işlemi gerçekleştiriyor. şöyle bir şey;
import os ,glob

for dosya in glob.glob("*.ui"):
os.system("pyuic4 " + dosya + " -o " + dosya[0:(len(dosya)-3)] + ".py")
print str(((glob.glob("*.ui")).index(dosya))+1) + "- " + dosya
print "\n" + str(len(glob.glob("*.ui"))) + " files converted"

bu arada, bu glob kütüphanesi gerçekten de çok işe yarıyor.

23 nisan enerjisiyle geliştirmeye hız kesmeden devam ettim. şimdilik bu. bir de arayüz yazmayı planlıyorum. aslında arayüz yazmak da biraz saçma, belki kde servis menüsü felan da olabilir. hadi bakalım.

uitopy'miz önceki haline göre bayağı gelişti. artık sadece ui dosylarını python dosyasına çevirmekle kalmıyor. bir de baslatici dosya oluşturuyor. orada ana pencere class'ından nesne türetiyor. init metodunu yazıyor bu başlatıcı dosyaya. yani başlangıç seviyesindeki pyqt kullanıcıları için angarya olan ne varsa yapıyor.
import os ,glob, re
from time import gmtime, strftime

dosyalar = []
siniflar = []
baslatici = "calisan"
anapencerehangisi = -1

for dosya in glob.glob("*.ui"):
dosyalar.append(dosya)
os.system("pyuic4 " + dosya + " -o " + dosya[0:(len(dosya)-3)] + ".py")
print str(((glob.glob("*.ui")).index(dosya))+1) + ") " + dosya
print "\n" + str(len(dosyalar)) + " files converted"

for i in range(len(dosyalar)):
f = open((dosyalar[i])[0:(len(dosya)-3)] + ".py", "r")
metin = f.read()
bas = re.search('class ', metin).end()
son = re.search('\(', metin).start()
f.seek(bas)
siniflar.append(f.read(son-bas))
if siniflar[i] == "Ui_MainWindow":
anapencerhangisi = i
f.close()

if os.path.isfile(baslatici + ".py") == 0:
f = open(baslatici + ".py","a+")
veri = "# -*- coding: utf-8 -*-\n\
# generated using 'uitopy' - mustafa yilmaz (penguen@linux.erciyes.edu.tr)\n"
veri += "# " + strftime("%d %m %Y - %H:%M:%S", gmtime())
veri += "\n\nimport sys\n\
from PyQt4 import QtCore, QtGui\n"
for i in range(len(dosyalar)):
veri += "from " + (dosyalar[i])[0:len(dosya)-3] + " import " + siniflar[i] + "\n\n"
veri += "class StartQT4(QtGui.QMainWindow):\n\
def __init__(self, parent=None):\n\
QtGui.QWidget.__init__(self, parent)\n\
self.ui = Ui_MainWindow()\n\
self.ui.setupUi(self)\n\
#QtCore.QObject.connect(self.ui.pushButton,QtCore.SIGNAL('clicked()'), self.fonksiyon)\n\
\n\n\n\
def main():\n\
app = QtGui.QApplication(sys.argv)\n\
program = StartQT4()\n\
program.show()\n\
sys.exit(app.exec_())\n\
\n\
if __name__ == '__main__':\n\
main()\n"
f.write(veri)
f.close()

os.system("python " + baslatici + ".py")

21 Nisan 2009 Salı

kafa kağıdı

anahtarı almadan kapıyı vurup çıktıysanız, kapıyı açmak için kafa kağıdınızı güvenle kullanabilirsiniz. kendimden biliyorum. kola şişesini kesip pvc'sini kullanmak vs. geyiklerini duymuştum. kapıda kalınca, nüfus cüzdanım geldi aklıma. pet şişe aramaya, kesmeye ne gerek var? nüfus cüzdanımız yanımızdaysa, güvendeyiz.

18 Nisan 2009 Cumartesi

altın pasajlar (peter camenzind - hermann hesse)

"hüznümün ve yaşama yeteneğinden yoksunluğumun nedenleri üzerinde bir türlü arkası gelmeyen düşünüp durmalarım sonuç vermiyor, beni yoruyordu. işimin bittiği, gücümün tükendiği gibi bir duygu benden uzaktı, yüreğimde karanlık dürtüler kaynaşıyordu daha çok, vakti zamanı gelince şöyle derin ve eli yüzü düzgün bir şeyler yaratacağıma, kuru ve yavan yaşamın elinden hiç değilse bir lokma mutluluk koparıp alacağıma inanıyordum. iyi ama, vakti zamanı gelecek miydi? içimde bir burukluk, kendilerini binlerce yapay uyarılarla sanatsal çalışmalara heveslendiren asabi mizaçlı çağdaş beylere gidiyordu aklım; oysa bendeki azımsanmayacak güçler harcanmadan varlığımda saklı yatıyordu. derken benim kabına sığmayan vücudumda nasıl bir engelin ya da şeytanın yuvalanıp ruhumu eli ayağı bağlı duruma soktuğunu ve giderek daha bir hantallaştırdığını düşünmeye başlıyordum. üstelik başkalarına benzemeyen, nasılsa kendinde doğuştan bir eksikliği barındırıp çektiği çileleri kimsenin bilmediği, anlamadığı ya da paylaşmadığı biri olduğum düşüncesi kafama yerleşmişti. hüzün denen şeyin lanet olası bir yanı varsa, adamı hastalandırmakla kalmayıp aynı zamanda kendini beğenmiş, burnunun ucunu göremeyen, hatta neredeyse kibirli biri yapmasıdır. insan kendini öyle görür ki, tıpkı heine'nin atlas'ı gibi sanki dünyanın tüm acı ve bilmeceleri sırtına yüklenmiştir, sanki aynı acılara göğüs geren ve aynı labirent içinde yitip giderek çıkar yol bulamayan binlerce başka kişi yoktur."

( bu arada portrenin orijinali, http://shalpin.deviantart.com/art/Wolf-of-the-Steppes-66375903 )

benim bile tam olarak tanımlayamadığım, boğazımın düğümünde, burnumun sızlayan çatısında, yaşaran gözlerimde, sebepsiz buhranlarımda büyüyen derdimi anlatmış üstad hesse. bu da benim grafik çalışmam,

10 Nisan 2009 Cuma

evrim geyiği

öncelikle evrim yaratılışla çelişmez diyor ve eteğimle reverans yaparak konuşmaya başlıyorum.

allah'ın yaratması ve geliştirmesi kademe kademedir. bunu her alanda görebiliriz. evren 7 günde (safhada) yaratılmıştır. insan annesinin karnında aşama aşama gelişir; kalbi, beyni, gözleri... veya şöyle anlatalım. önce büyük bir enerji vardı, bunlar kuarklara dönüştü, kuarklar hidrojene, hidrojen daha kompleks elementleri oluşturdu. güneş sistemi gezegenleri de yavaş yavaş oluşmuştur, önce güneşten parçalar kopmuş, bunlar kütle çekimi gereği dönmeye ve belli yörüngelere yerleşmeye başlamışlar, soğuyup dönme etkisiyle küreselleşmişlerdir.

evrim yok diyelim hadi bunları görmezden gelerek. o zaman öneri nedir? tüm canlılar aynı anda kütürt! diye yer kabuğundan mı çıkmışlar? kıtalar tek parça iken (bunu da reddedebilirler, belli olmaz) sonra ayrılması ve canlı türlerinin buna göre evrimleşmesi nasıl olmuştur? özellikle -af edersiniz- dna sarmalı görse mertek sanacak insanların kestikleri ahkamlar adamın canını sıkıyor. evrim teorisinin -haşa- allah'ın yaratmasının eksik olduğunu ima ettiği şeklindeki yorumlar da son derece abes oluyor. o zaman biz niye sperm ve yumurtadan oluşuyoruz, pat! diye olsak fena mı olur?

allah'ın meleklere adem'i yaratacağını söylemesinden sonra meleklerin "yeryüzünde fesat çıkaracak, kan dökecek bir şey mi yaratacaksın?" şeklindeki sorularının temelinde de bizim "adem"imizden evvel nice ademler olduğu gerçeği yatabilir. ancak insan olma özelliğini taşıyan atamız adem halife olma şerefine nail olmuştur. bu da diğer insansılardan üstün olduğunu ve yaratılanların en şereflisi olduğunu gösterir.

netice itibariyle bir müslüman evrim teorisi var diyene de inanmamalı, yok diyene de inanmamalıdır. önce "nedir ne değildir?" şeklinde konu hakkında bilgi sahibi olmalı, düşünme yetisini kullanmalıdır. özellikle de bazı post-modern mehdi kılığındaki popüler kişilerin (aslında bir tane var, meşhur) arkasına müslümanlığı alarak, yarı bilimsel yarı sallama iddialarının arkasına kuzu gibi takılmamalıdır. sonunda o adamın ve dolayısıyla kendinizin yanlış yolda olduğu ortaya çıktığında "din"inizi de kendinize yalancı şahit yaptığınızı anlarsınız, çok geç olur.

yav o değil de... (hep bu kalıpla bir yazıya başlamak istemişimdir) evrim teorisini takım tutar gibi savunmak/reddetmek ortaya çıktı ki felaket. daha da felaketi hiç bir birikim ve de kendi öz düşünce nüvesi olmadan bu tartışmanın içerisine balıklama atlayan cengaverler. bu fanatik minik teorisyenler iki takım halinede: evrimi reddedenlerin okudukları yegane şey harun yahya. daha vahimi; evrimi savunanlar ise genellikle hiç kitap okumamış benim gözlemlerime göre, bakmış gençlikte bu prim yapıyor, o ayak olmuş.

9 Nisan 2009 Perşembe

bir'den başka sayı bilmem


güzel bir hikaye.

derviş, eteğinde taşıdığı bir kucak dolusu elmayla bozkır sıcağında bayırları aşan bir genç kıza rastladı. dorgunluktan al aldı kızın yanakları. derviş kıza "niye doldurdun eteğini? Nereye gidiyorsun böyle alı al ,moru mor bu sıcakta?" diye sordu. Uzaklarda bir tarlayı gösterdi kız, dolu elleri yüzünden ,burnuyla ve "sevdiğim o tarlada çalışıyor. ona elma götürüyorum" dedi. boş bulunan derviş "kaç tane ?" diye soruverdi. kız şaşkın ve kınayan gözlerle yanıtladı soruyu "insan sevdiğine götürdüğü şeyi sayar mı hiç?" hiç belli etmeden ama utançla koparıp dağıttı elindeki tesbihi derviş.

düşündüm. ben ona sepetimde hediye taşımıyorum ki sayısını sayma gafletinde bulunayım. onun ismini dilimde zikretmiyorum ki zikrimi sayıp hesaplayayım. gözümü kapatıyorum bir anlığına, yarattığım düş ülkemde gözlerimi açıyorum. ülkemin duvarları o. nehirleri o. rüzgarları o. ateşleri o. öfkesi o. neşesi o. düş ülkemin tamamı o. bir tek o var her gözümü kapattığımda. bu durumda nasıl saymaktan söz edebilirim?

pardus grub ekranı makyajı

öncelikle, bununla ilgili bir projenin pardus 2009 yol haritasında yer aldığını belirtmek isterim. sevindim, güzel bir düşünce olmuş. benim de aklıma gelmişti çok öncelerden (şerefsizim benim aklıma...). zaten hangi kıyıda köşede özelleştirme varsa orada ben varım. pardus 2007'de ilk özelleştirdiklerimden biri grub açılış ekranı resmini, yazılarını değiştirmek olmuştu. daha sonra açılış yöneticisi tasma'ya eklenip kullanılmayan açılış seçeneklerini temizlme seçeneği eklenmişti pardus'a. neyse efe'nim, ben bu yazımda grub açılış ekranı arkaplanını değiştirmeyi göstermek istiyorum.

resmi gimp ile .xpm formatında 640x480 ebatında ve 8 renkli hazırlayacağız. başlayalım.



resmi hazırladıktan sonra renk sayısını 8'e indirme işlemini yapalım. bunu da gimp'in "posterize" filtresiyle sağlıyoruz.





kaydet dedikten sonra, dosya isimi kısmına acilis.xpm (acilis kelimesinin doğaüstü özelliği yok :) ) yazıp uygun bir yere kaydediyoruz.

bundan sonra yapacağımız işlemler için root yetkisi gerekiyor. konsoldan "su root" yazıp root şifrmizi giriyoruz ve ardından "sudo konqueror" diyerek root kipinde başlatıyoruz dosya yöneticisini. /boot/grub dizinine geçiyoruz. hazırladığımız dosyayı (acilis.xpm) kopyalayıp yapıştırıyoruz buraya. daha sonra sağ tıklayıp "sıkıştır > acilis.xpm.gz olarak sıkıştır" diyoruz.

dosyayı düzenlerken bir halt etmemiz ihtimaline karşı orijinal grub.conf dosyasının bir yedeğini alalım. şimdi grub.conf dosyasını kopyalayıp başka bir isimle kaydedip yedekleyelim. şimdi grub.conf dosyasını kwrite ile açıp düzenlemek için bir mani kalmadı.
default 0
background 10333C
timeout 10
splashimage (hd0,5)/boot/grub/splash.xpm.gz

title Pardus 2007.3 [2.6.18.8-86]
root (hd0,5)
kernel (hd0,5)/boot/kernel-2.6.18.8-86 root=/dev/sda6 video=vesafb:nomtrr,pmipal,ywrap,1024x768-32@60 splash=silent,fadein,theme:pardus console=tty2 mudur=language:tr quiet
initrd (hd0,5)/boot/initramfs-2.6.18.8-86

title Windows (ntfs) - sda1
rootnoverify (hd0,0)
makeactive
chainloader +1

muhtemelen buna benzer bir dosya karşınıza çıkacak. şimdi daha yakından bakalım.

"default 0" ifadesi varsayılan başlangıç seçeneğinin hangisi olduğunu ifade diyor. benim grub.conf dosyamda mesela, "title Pardus..." paragrafı ilk sırada olduğu için varsayılan açılışım pardus. eğer varsayılan windows olsun demiş olsam "default 1" olarak değiştirirdim ifadeyi. veya 3. seçenek olarak başka bir işletim sistemim olsa onu varsayılan yapmak için de "default 3" derdim.

"background 10333C" ifadesi açılış seçeneklerini gösteren yazılarda gezerkenki arkaplan rngini tanımlayan hex değeri. web tasarımdaki renk sistemi yani. sadece başında diyez "#" yok.

"timeout 10" zaten çok açık bir ifade. grub, 10 saniye geri sayıyor ve eğer kullanıcı diğer seçeneklerden birini seçmediyse varsayılan işletim sistmi başlatılıyor. bu değeri de kafanıza göre değiştirebilirsiniz. 0 yaparsanız, otomatik başlamış gibi olur.

"splashimage (hd0,5)/boot/grub/splash.xpm.gz" ifadesi de açılış ekranının arkaplan resmini tanımlıyor. (hd0,5), dosyanın hangi disk bölümünd olduğunu gösteriyor. buna ilişmiyoruz. "/boot/grub/splash.xpm.gz" ifadesinin yerine bizim resmimizi giriyoruz "/boot/grub/acilis.xpm.gz". hayırlı olsun.

"title" ifadesi ile başlayan her paragraf bir açılış seçeneği oluyor. eğer güncellemeler yapmış ve açılış yöneticisinden hiç bahar temizliği yapmamışsanız, "title Pardus..." ile başlayan birden fazla paragraf olacaktır. bunların en son versiyon dışındakilerini silebilirsiniz güvenle. "mudur=language:tr quiet" satırında da dil seçeneğinin yanında otomatik giriş seçeneği var. bu seçenek, varsayılan kullanıcının, şifr kranı hiç görünmedn direk giriş yapmasını sağlıyor.

http://www.kde-look.org/content/show.php/pardus+green+grub+splash?content=56581 burada daha evvelden hazırlayıp kde-look'a yüklediğim bir arkaplan resmi var. şe'yapabilirsiniz.

esen kalın. cizız krayst.

aşka riyayı bulaştırmayın

sırdır aşk. tanımlanmaz, yaşanır. yaşayana da öyle bir çarpar ki, aklını alır onun, anlatamaz. anlatsa da kimse dinlemez o deliyi. ama, süslü sözler söyleyen yalancı ozanların meclisleri dolar taşar. riyakar ozanlar, dinleyen herkesin aşkı tatmamış kimseler olduğunu bildiğinden rahattır. ne de olsa, aşık olanlar artık onun meclisinde değildir, aşık olanlar dünyada bile değildir, yer ile gök arasında bir tül perde üzerinde yaşarlar.

ve seslenmek istiyorum bu riyakar ozanlara. aşkı istekleriniz için, kendinizi farklı göstermek için kullanmayın sizi aşağılık fareler. gerçek aşıklar sizin gibi bağıra çağıra aşk nutukları atmaz. aşık giz taşır içinde. söyleyeceği her söz aşkını kirleteceğinden susmayı tercih eder.

8 Nisan 2009 Çarşamba

youtube engel kaldırma şeysi

pardus altında, youtube dışındaki yasaklanan sitelrin yasaklandığını bile başkalarından duyuyordum, wordpress vs. gibi. etkilmiyordu beni yani. ekstra bir ayar falan da yapmamıştım. ama youtube'a konulan engel harbi bir engel. hala youtube engelini kaldırmadıysanız (gülmeyin ben kaldıralı pek fazla olmuyor. üşengeçlik) belki bu işinize yarar. root olup, konsoldan

sudo konqueror

komutunu verin. /etc/ klasörünü açıp, oradaki "hosts" dosyasını açın.

127.0.0.1  localhost makinenizinadiburadaolacak

dosyanın içeriği muhtemelen bu şekildedir. neyse efendim,

208.117.236.70 youtube.com
208.117.236.70 www.youtube.com

ifadelerini dosyaya ekleyip kaydediyoruz. bu kadar.

homunculus

hayatlarını diğer madenlerden altın yapma ideali uğrunda harcayan zavallı simyacıların bir başka kızıl elması homunculus. insanı oluşturan temel unsurları kullanarak, yapay bir ortamda bir insan yaratma arzusunun ortaya çıkardığı bir kavram.

miller deneyi geliyor aklıma. dünyanın ilkel atmosferini taklit eden bir ortam simüle edilmiş laboratuvarda ve protein üretilmeye çalışılıyor. ama proteini elde etsen bile, ona bir ilk nefes, bir sihirli dokunuş, kutsal ruh, chi vs. (adına ne dersen de) bahşedemiyorsun zavallı ve cahil insan.

cahil cesareti diye bir deyim vardır. sonuna kadar katılırım. yüzyıllar önce orta çağ karanlığında, doğa bilimleri açısından 0 noktasına yaklaşmış avrupa. ama tüm bu cehaletinin ortasında sıfırdan tastamam bir insanı yaratabileceğine inanıyor. günümüze dönelim: insanlık maddeye, en küçük bir organik yapıya bile canlılık sağlamak için kıçını yırtıyor. bir homunculus ise düşten bile uzak.

ne diyelim, insanlık yaratıcını dillerinden biri olan doğa bilimlerinde ilerledikçe, haddini bilmeye başlıyor. okyanusta bir damla bile olmadığını anlıyor. kısacası insanoğlu zalim ve cahildir.

5 Nisan 2009 Pazar

kitap

bir araya gelmiş, hoş kokan matbuu kağıtlar bütünü. aslında sadece bizim anladığımızı yazan sihirli parşömenler. çünkü bazı an olur ki, daha önce bir kaç kez okuduğunuz halde bir cümleyi yeni görmüş gibi hissedersiniz. evet, sanki bir büyü yapılmış ve o cümle bir yerlerden süzülüp gelip kitabın satır arasına yerleşivermiştir. bu nedenle bazı eserleri tekrar tekrar okumak, her seferinde ruh halinize ve olgunluğunuza göre değişik tatlar almanızı sağlıyor. bu büyülü özellik keşfedildiğinden beri kitap fenomeni insanın medeniyetinde çok özel bir yere oturmuş durumda.

kişisel serüvenime gelince, bazen hiç ummadığım kitaplar bende ummadığım çağrışımlar yaptı, düşünce ufkumu genişletti, zihnimde yeni patikalar oluşturdu. aslında şiir/kitap incelemelerine temelde karşı olan birisiyim. bunun bir tecavüzden farkı olmadığını düşünürüm veya utangaç bir kızın elbisesini yırtmaktan.

körü körüne savunulan kitap okuma çılgınlığına karşıyım. genç beyinler daha ilk yıllarından itibaren kafalarını lüzumlu lüzumsuz gereksiz kitaplarla doldurmamalı. aksine onlara seçici olmayı ve sentezi öğretmeli. çünkü ne yazık ki okunan her satır, insanın özgür algısının etrafına eklenen bir parça çit haline geliyor. bir cinle yapılan antlaşma gibi adeta, bir şey öğrenmek karşılığında, içinde delicesine yanan özgür düşünce ateşinden bir parçasını kaybediyorsun.

onlar kimilerinin dediği gibi dostlarımız değil. dost veya düşman değiller düşler kurmak için aldığımız uyku haplarımız.

4 Nisan 2009 Cumartesi

kartanemiz



siz bu saf bu kar tanemiz
tozlu dünyamıza niçin geldiniz

süzülerek göklerden beni seçtiniz
yüzümde tebessümü keşfettirdiniz

ayrılık rüzgarı esmeseydi belki
günahımın ateşiyle erirdiniz

sahi niçin geldiniz

3 Nisan 2009 Cuma

sözde bilgisayar mühendisliği

bir üniversitenin bilgisayar mühendisliği bölümünde delphi ve basic öğretiliyorsa, özellikle de delphi öğretiliyorsa, o üniversitenin hayat damarlarından biri kopmuş demektir. daha da vahimi, sefil bir ülkede yaşıyoruz demektir. aptallar tarafından yönetiliyoruz demektir. ingiliz sömürgesi iken logaritma cetveli ezberletilen hint yavrucaklardan bir farkımız yok demektir. o hint yavrucaklar, şimdilerde kendilerinden kat ve kat salak insanlar için bilişim ameleliği yapıyorlar.

hint yavrucaklar demişken, bir olay geldi aklıma. anlatmadan geçemeyeceğim. "pi coşkusu" diye bir kitap okumuştum. david blather tarafından yazılmış bir kitap. kitap, tübitak popüler bilim kitaplarından. dolayısıyla üst düzey bilimsel ögeler taşımıyor fakat son derece akıcı olan kitabı okuduğunuzda gerçekten epey şey öğrendiğinizi anlıyorsunuz.

kitabın çok hoş düşünülmüş bir de ayrıntısı var. ilk sayfadan başlamak üzere sayfaların alt kısımlarında devam eden karınca duası gibi rakamlar var, pi'nin virgülden sonraki tam bir milyon haneleri. neyse, konumuzla alakası ise şu:



sanıyorum bizim eğitimimize göre liseye kadar okuyabilen bir fakir aile çocuğu ramanujan'ın tam manasıyla allah vergisi bir matematiksel zeka, analiz gücü, sezgisel sıçramaları ve inanılmaz içgüdüsüyle ortaya çıkardığı pi formüllerinini insanı hayrete düşünüyor.

kendisini anlayacak hiç kimseyi bulamayan ve düşük seviyeli bir memur olarak çalışan bu genci bir ingiliz profesörün keşfediyor tesadüfen. adam bir umut, hiç bir akademik matematik yöntemi bilmmesine rağmen, müsveddelerini sağa sola yolluyor keşfedilmek umuduyla. neyse, şans yüzüne bakıyor bizimkinin ve profesör ingiltere'ye çağırıyor. birlikte çalışmalar yapıyorlar. ramanujan, hastalanıp 32 yaşında ölüyor. tesadüfi bir olay, adamın hayatını şekillendiriyor.

allah ramanujan'lara kolaylık versin. sistemi işleten ve zaman ilerledikçe kendi gibi aptalları sisteme dahil eden aptallar karşısında kolaylık versin.

pyqt geliştirmek - insan-ı kamil olma yolu


python dili için en gelişmiş arayüz seti qt. ancak dökümantasyon eksikliği ölümcül düzeyde. qt dökümanları çok çok büyük bir çoğunlukla c++ üzerine. nadiren, allah yüzüme bakıyor da bir kaç kaynak bulabiliyorum. burada da başka bir sorun baş gösteriyor. bazı vatandaşlar qt designer'da hazırlanan arayüz (ui) tasarımlarının modifiye edilmesine dayanan bir teknik için hazırlamış, bazıları da qt designer kullanmadan, direkt kod olarak tasarım yapıp, kodlama yapmış. kafam davul oldu. sırf fare tıklama etkileşimini bulmak için kaç saat uğraştım, kaç deneme yaptım.

ben de sırf çalışan, doğru dürüst bir uygulama yapmak için qt designer'u kullanmadan kod bazında çalışıyorum şimdilik. dama uygulaması var kafamda. daha doğrusu az buçuk çalışıyor. "prc dama" şeklinde bir isim koydum şimdilik. taşları birbirinin üzerinden atlatıyoruz falan fıstık. splash (açılış ekranı)'ı bile var. hatalar da var tabi ki. bu qt'nin kapısını bir kırıp içine tam anlamıyla girersem, o zaman tam manasıyla azacağım. yarım yamalak ve bazısı sırf düşüncede kalan projeciklerimi salacağım etrafa.

eric, meric de kullanmıyorum henüz, ne de olsa genellikle 1 dosyalık programcıklar yazmaktayım. bir de eric'i öğrenmeye kalksam işler arap saçına dönecek. kwrite yeter de artar.

2 Nisan 2009 Perşembe

python imaging library (pil) - içimizdeki andy warhol



kodun çalışabilmesi için pil modülü sisteminizde kurulu olmalı. ne yapıyor bu kod, işte bunu yapıyor.

import glob
import Image

def andyWarhol(im):
imx, imy = im.size
thumb = im.resize((imx/2, imy/2))
r, g, b = thumb.split()
box1 = (0, 0, imx/2, imy/2)
thumb = Image.merge("RGB", (r, b, g))
im.paste(thumb, box1)
box2 = (imx/2, 0, imx, imy/2)
thumb = Image.merge("RGB", (g, r, b))
im.paste(thumb, box2)
box3 = (0, imy/2, imx/2, imy)
thumb = Image.merge("RGB", (r, r, g))
im.paste(thumb, box3)
box4 = (imx/2, imy/2, imx, imy)
thumb = Image.merge("RGB", (g, b, r))
im.paste(thumb, box4)
return im

for infile in glob.glob("*.jpg"):
ima = Image.open(infile)
andyWarhol(ima)
if infile[0:7] != "POPART_":
ima.save("POPART_" + infile, "JPEG")

sus söyleme

duygularımızı, sıcak yüreğimizden sıfırın altında bilmem kaç derece sıcaklıktaki dış ortama yolladığımız nefesimize benzetiyorum. duygularımızın yüreğimizde tatlı kaşıntılar yaratması onun latif özelliğinden kaynaklanıyor. ve buhar halinde olduğu için belirli bir şekli de yok. ancak bunu diğerleriyle paylaşmak istediğimizde küp şeklinde, hatları gayet kat'i bir cisim elde ediyoruz. ve tabi ki şekil kazanmışlığın bir kaçınılmaz getirisi olan ağırlık onu yükseklerden yere indiriyor. kırıyor. tuz buz.

"insanın kürsüsü suskun yüreğindedir; geveze aklında değil." (halil cibran)

gnuplot - esaslı grafik çizdirme programı

merhabalar, bu yazımızda özgür yazılım camiasının göz bebeklerinden birisini tanımaya çalışacağız. gnuplot, komut satırı tabanlı, veri ve fonksiyon grafiği çizdirme uygulamasıdır diyebiliriz. 1986'dan beri geliştirilen ve gün geçtikçe güçlenen; UNIX, IBM OS/2, MS Windows, DOS, Macintosh, VMS, Atari ve bunlardan başka bir çok sistemde çalışabilen bir uygulama. 2 boyutlu ve 3 boyutlu grafikler oluşturabiliyor. vektör, yüzey, çizgi, izdüşüm vs. bir çok farklı grafik tipi türetebiliyor ve ürettiği bu grafikleri bir çok output yöntemiyle dışa aktarabiliyor: ekrana görüntü olarak, dosya olarak(eps, fig, jpeg, LaTeX, metafont, pbm, pdf, png, postscript, svg ...), direkt çıktı olarak, web'de. eğer tüm bunlardan başka fantastik bir çıktı alma opsiyonunuz varsa o cihaza da kolayca uyum sağlayabilir. bu profesyonel özellikleriyle bir çok ciddi projede, kurumda, bilimsel araştırmada yoğun olarak kullanılmaktadır.

öncelikle paket yöneticisinden “gnuplot”u aratıp, kuruyoruz. artık kullanıma hazır etkileşimli bir komut satırı bizi bekliyor. python diliyle ilgilenmiş olanlar için, bu etkileşimli komut satırı tanıdık gelecektir. evet hemen bir konsol açmak için sabırsızlanıyoruz. konsolu açıp, gnuplot yazıp enter'liyoruz.

evet gnuplot komut satırına giriş yapmış durumdayız. kodlarımızı buradan gireceğiz. ve girdiğimiz komutların ardından ekrana grafiğimiz yeni bir pencere içerisinde gelecek. uygulamadan çıkmak içinse ctrl+d tuş kombinasyonunu kullanabiliriz. bu arada, programımızın özellikleri, yetenekleri saymakla bitmeyeceği için ben sadece bir parmak bal çalma çabası içerisinde olacağım. vereceğim örnekleri ve kendi türeteceğiniz örnekleri müteaddit defalar deneyerek eğlenerek öğreneceğinizi umuyorum.

ilk uygulama için sabırsızlanıyoruz. “hello world” yazmayacağız. onun yerine, basitçe bir grafik çizdirelim. mesela, sin(x)*cos(x)'in grafiği. plot sin(x)*cos(x) yazıp enter'lamamız yeterli.

grafiğimizin gösterileceği alanı sınırlamak istersek plot [-pi/2:pi/2] [-pi/2:pi/2] sin(x)*cos(x) şeklinde sınırlandırma da yapabiliriz. yani grafiğimizin sadece bizim belirlediğimiz bölgesi görüntüleniyor ve zoom'lanıyor gördüğünüz gibi. birinci [] ifadesinin içerisine x ekseninin başlangıç ve bitiş sınırları araya : konularak yazılıyor. ikinci [] için de aynı değerleri y ekseni için giriyoruz. bu ilk uygulamamızda plot komutu ile çizdirdik grafiği. plot, gnuplot'un 2 boyutta çalışan çizdirme komutudur.


ilk örneğimizde tek değişkenli bir grafik çizdirdik. şimdi çok parametreli bir grafik çizdirelim. plot x**2+5*x+4, x**3-7, 15*x+5. ifademizi inceleyelim. plot komutunun ardından, virgüllerle ayırarak istediğimiz sayıda fonksiyon yazarak bunların grafiğini çizdirebiliyoruz. gene bu kodumuzda da sınırlar belirtebilirdik. ancak bu konuyu önceki örnekte öğrendiğimiz için gerek görmedim. bu arada ** sembolümün ^ yani kuvvet anlamına geldiğini hatırlatalım. (2**3=8, x**2= x kare)

şimdi fantezi boyutumuzu bir basamak daha ilerletiyoruz ve üç boyutlu grafiklere geçiyoruz. 3 boyutlu grafikleri çizdirmek için ise plot'un yerine splot komutunu kullanacağız. ve artık x'in yanında bir de y değişkenimiz oldu. yani iki değişkenden gelen değerler işlenebilecek. ve tabi ki az önceki örneğimizde yaptığımız gibi virgüllerle ayırarak birden çok fonksiyonu gösterebiliyoruz.

x*y gibi basit bir ifadeyle başlayalım 3. boyuta isterseniz. splot x*y. ve artık 3. boyuta geçtiğimizi anlamak istiyoruz. bunun için fareyi grafik alanına basılı tutarak çevirelim. veya ok tuşlarını da kullanabilirsiniz. hmm, işte şimdi biraz eğlenceli olmaya başladı. o zaman tadında bırakalım.

bu yazımda, çok sınırlı özellikleri anlatabildim ve bu programla yapabileceklerimizin yanında bunlar hiç bir şey. devamı sizin ellerinizde. http://gnuplot.sourceforge.net/demo_4.3/ bu örnekleri inceleyerek, özgür bir yazılımın ne kadar farklı amaçlara uygun olarak kullanılabileceğini görebilirsiniz.

gnuplot'un münevver geliştiricilerine ve siz müşfik okurlara teşekkür ediyorum. bu arada, bu yazıyı hazırlarken, aldığım ekran görüntülerini küçültmek için kısacık bir python programcığı kullandım. ve bu vesileyle bir kez daha python'a sevgilerimi sunuyorum. kodu da yazayım şuracığa.

import glob

import Image

for infile in glob.glob("*.png"):

im = Image.open(infile)

im.thumbnail((256,256), Image.ANTIALIAS)

if infile[0:2] != "t_":

im.save("t_" + infile, "PNG")

gplot'un resmi sitesi http://www.gnuplot.info 'dan çok çeşitli örnekleri inceleyebilir, farklı tip grafik çeşitleri oluşturmayı öğrenebilir, sağlam tutorial'lerini indirebilir ve programa ek özellikler katan 3. parti eklentilere ulaşabilirsiniz. size bir kodla veda ediyorum. bunu kopyala, yapıştır ile gnuplot komut satırına yapıştırıp çalıştırabilirsiniz.

çizim dolu günler.

set dummy u,v

set parametric
set urange [ -pi : pi ] noreverse nowriteback
set vrange [ -pi : pi ] noreverse nowriteback
splot cos(u)+.5*cos(u)*cos(v),sin(u)+.5*sin(u)*cos(v),.5*sin(v) with lines, 1+cos(u)+.5*cos(u)*cos(v),.5*sin(v),sin(u)+.5*sin(u)*cos(v) with lines


sihirli değnek mektubu (yaşanmış masal)



uyuyamıyorum.

bu satırları okumaya başladıysan, Hiçbir şeyin artık eskisi gibi olmayacağı bir sürece girmeye cesaret edebildim demektir. sihirli, gizemli bir değnek değecek artık hayatıma. bu bir iyilik perisi dokunuşu da olabilir, bir cadının kara büyüsü de. ayrıca şunu bil ki, artık dayanacak takatim kalmadığı için yazıyorum. ve emin ol yazmadığım her gün yavaş yavaş eriyordum.

sen, bir sonbahar günü benim tahtaları eskimiş, boyası kavlamış, camı kirli pencereme konan bir serçeydin. hazanımın tüm o kasvetini dağıtmaya yettin. seni hep daha yakından seyretmek, hatta avucuma almak isterdim. ama bunu yapamayacağımın da farkındaydım. elimden uçacaktın. daha yakınında olmak isterken seni büsbütün kaybedebilirdim. bunu için yaklaşmaya cesaret edemedim. uzaktan iç çekişlerle seyretmeye devam ettim. bu haldeyken her geçen saniye, her içime çektiğim nefes hayat canımdan bir parça koparıyordu.

hayatlarımızın belli bir yerde kesişmesi, ilahi bir mucize. belki hayata geliş sebebim seni bulmaktı. bu hissi tatmaktı. buna her geçen gün daha da coşkun duygularla inanıyorum. kapılarımı kırdın, içeri aniden girdin. ne iyi ettin kartanemiz. bizim; benim ve meleklerin kartanesi.

“siz bu saf bu kar tanemiz
tozlu dünyamıza niçin geldiniz

süzülerek göklerden beni seçtiniz
yüzümde tebessümü keşfettirdiniz

ayrılık rüzgarı esmeseydi belki
günahımın ateşiyle erirdiniz

sahi niçin geldiniz

ben aşkı seninle tanıdım. ve belki de seni aşkla tanıdım başından. ilk gördüğüm andan itibaren serseme döndüm. ne yapacağımı şaşırır oldum. sen benim islerle kaplanmış, kapısı hiç açılmamış kalbime düşen bir beyaz kar tanesi oldun. elime almak, avucumda tutmak istedim. eriyeceğinden korktum. hatta seni kalbimde saklamaya korktum. kalbimin kirleriyle kirlenmenden korktum. sen kalbimin ortasında bir kartanesi, kartanemiz olarak duruyorsun öylece. ah işte bu bekleyiş beni eriten. sen içimdesin ama ellerim sana yaklaşamıyor. korkuyor ellerim, sana bakmaktan bile endişe duyuyor ağlamaktan şişmiş gözlerim. ben yaklaştıkça, uzaklaşacağını hissetmekteyim. mengenedeyim.

aşk buymuş demek ki, aşık olmadan önce aşk üzerine şiirler, yazılar okumayı severdim. artık delicesine biliyorum ki; aşkın bir zerresi bile sözlere, bestelere, resimlere aktarılamayacak kadar yüce ve ilahi. aşkım bir kuş gibi. özgürce uçan, yüce melodilerle ve eşsiz renkleriyle gönüllere uğrayan bir kuş. onu, başkasına dinletmek için kafese koyduğunda ötmüyor, rengi soluyor ve kanatlarını çırpamıyor. bu satırlarımın da aşkımı anlatamayacağının farkındayım. ancak başka çarem yok. aşk artık benim için susmak ve içimdeki misafir kuşu dinlemek. o ruh gibi tülden ince, şeffaf, buhardan kuşu dilimle rahatsız etmemem gerektiğini biliyorum artık.

“bir minik dudak kıvrılmasıydı sadece
tebessüm değil gülücükten bile uzak
sönmeyen bir anı oldu şimdi zihnimde
yirmi yılın saniyeden küçük hissesi

bir tebessümün bile bana ilahi bir dokunuş, bir meleğin kanatları gibi geliyor. zamanı dondurmak istiyorum böyle anlarda. ruhum, her çiçekten bir damlası alınmış bir parfümle yıkanıyor baştan aşağı. kokusu silinmiyor hiçbir zaman. ne zaman siyah hayatımdan bıkacak ve son vermek isteyecek olsam o koku bana seni hatırlatıyor. çiçekler dökülüyor başımdan aşağı. hayata sen bağlıyorsun beni. anla.

sana layık olmadığımı biliyorum. senden hiçbir bir beklentim yok. ama yazmasam ölecektim. anla lütfen. ellerim titriyor, o yüzden ellerimle yazamadım. hem böylesi daha az acı veriyor kalbime. daha az ağlıyorum yazarken.

hepsini okuduysan teşekkür ederim. okumayıp, buruşturup attıysan da teşekkür ederim ve ayrıca rahatsız ettiğim için özür dilerim. incitmek istemem. okuduklarına canını sıkma ne olur. ben bir meczubum. boş ver beni. ne dersen, ne düşünürsen haklısın. lütfun da hoş, kahrın da hoş. sen benim kartanem, kartanemiz olarak kalacaksın. kalbimde yaşayacak nazenin kartanemiz. artık hiçbir şey eskisi gibi olmayacak değil mi? şiirlerim öksüz mü kaldı?

elveda demem gerekecek sanırım.