21 Ekim 2010 Perşembe

erorlarımla başbaşa

dört bir yanımda erorlar,
terminal karanlık, shell karanlık.
sabahlıyorum,
sabahlıyorum,
zindan geceler.

benim yazdığım kodda eror yok. hep o başkalarının modülleri ya. debug ediyorum, try/except blokları kuruyorum, bir python eroru çıkmıyor. grafikler için olan revizyonları yaptım. baya da iş varmış. oturmayı becerince sabahlara kadar kalkmadım, büyük ölçüde bitirdim. ama yine segmentation fault çıkıyor. o başkalarının modülleri sorunlu ama hangisi? bunu bulamazsam çalışmalarımın kepengini indirip akademik hayatımı noktalayacağım sanıyorum. bence Polygon'da sorun var. ama geometry modülü de olabilir. umarım o ikisinden biridir. çünkü aslında biriyle diğerini telafi edebiliyorum gibi görünüyor. niye zaten ne bulduysam doldurdum ki programa? dedilerdi standart kütüphane candır, diğerlerine şüpheyle yaklaşmalı.

ah kahpe kütüphaneler,
sırtımdan hançerleyen,
dost gülüşlü modüller,
pusuda bekleşiyor,
erorlarım benim.

19 Ekim 2010 Salı

temin öyle dedindi sonra böyle dedindi

ben de onu dedimdi, biz görünmeyelim (avludayız) onlar yapsınlar, biz çekilelim onlar atılsınlar (kahve içiyoruz), bizim için değil de onlar için, biz yapmıyoruz (bizim keyfimiz yerinde), onlar yapıyor... oh ba.

biz stüdyoda yürütücü ekibi olarak anlaşamıyoruz. başka tecrübelerden geliyoruz. ilk başta arasını bulalım dedik gibi. ne ona benzedi ne buna benzedi. hiçbirimizi tatmin etmedi. sonunda da her birimiz "benim bildiğim gibi olsun" diye ısrar ettik. onda da anlaşamadık tabii. ama niye bizim anlaşmamızla ilgili olsun? asıl mesele 72 kişi olarak anlaşmaktı zaten.

tartışmalar çok sorunlu oluyor, argümanlar ve tutumlar sadece geçmiş tecrübelerimize dayanıyor. ondan sora tutarlı kalmakla kafayı bozsak hep kendimizi tekrar etmedir efendim sabit fikirliliktir, dar görüşlülüktür orlara çakılıyoruz, yok diğer sesleri dinleyelim açık fikirli olalım desek ikidebir tutarsızlıklara düşüyoruz, önce "allah mahfaza kırma çatılı ev yapacaklar" diye alarm veriyorum, sonra "ya yapsınlar romantik şey, neden yapmasınlar?" diye başkasına çıkışıyorum, oysaki gereksiz de bir tartışma, çocukların cool-sensörleri bizden iki fersah ilerleri tarıyor, üç beş aya kalmaz bizden beter kalıplanacaklar...

ben hakkaten "bizyürütücülerolarakanlaşalımsonraöğrencilerinkarşısınateksuratlaçıkalımbizsöyleyelim onlaryapsınlaryapmazlarsadasuratyapalım,günügelsinayarçekelim" tarzından başka birşeyler aramak istiyorum. stüdyonun çakma-ofis olmaktan çıkmasını istiyorum.

biz çok matah değiliz, çok bulunmaz bir bilgi dağarcığına sahip değiliz, en çok inandığımız ilkeleri destekleyen bir tek ciddi akademik araştırma bilmiyoruz, varsa yoksa spekülasyon. bizim okulda öğrendiğimiz teknikler, tavırlar, yöntemler eskidi bile, iki üç yılda bu çocuklar onda da bizden önde olacak biz neyin havasını basıyoruz stüdyoda, biraz geriye çekilelim, alanı açalım, teşvik edelim, iteleyelim yaparlarsa onlar yapsınlar.

en iyi stüdyo yürütücüsünü arka plana en çok çeken stüdyo, yürütücünün sınıftaki herhangi bir öğrencinin konumuna en çok yaklaştığı stüdyo. bu da pedagojik bir kurama dayanmıyor, daha ziyade politik-ahlaki-pragmatik bir tavır.

blogları şurda: ortanca
onlar yürütüyor ve basbayağı işliyor! bu yıl herşey kötü gitse sırf bu bile gurur verici. sergiye de çok hevesle giriştiler. yapın çocuklar. bizim orda gerekli olmadığımızı gösterseniz...

17 Ekim 2010 Pazar

otomasyon yahut çin

ayçekirdekleri
ai-weiwei adlı çinli bir sanatçının işiymiş. bakın. lütfen. tıklayıverin. programımın gizemli glibc ve segmentation error'ları beni düşüncelere ve hüzne sevketmekte. bir de cPolygon error'um oldu. sabahları uyanınca derhal çalışma sandalyesine oturuyorum, akşamdan sıraya koyduğum süreçlerin error mesajlarına melankolik bakışlar atarak başlıyor günüm. sonra kettle'ın düğmesine basıyorum. error vermeseydi daha az gergin ve daha çok mutlu olur muydum acaba? şu anda debugging tekniklerini çalışacak vakit de yok. niye bu kadar erteledimse.. ay çekirdekleri 100 milyon taneymiş. porselenmiş. hepsi elle boyanmış. iki yıl sürmüş. ama çin'de el bol ve ucuzmuş. çinli işçilerin bir milyon plan birimini özenle plan sınırları içine yerleştirecekleri bir gün de gelebilir.

12 Ekim 2010 Salı

kollarıma girip yürütenler kim?

7 fitness prosedürü ve büyük ölçüde kendinden-adaptif parametreler ile ilgili revizyonlar bir haftadır test edilmeyi bekliyordu. kafam dağılmıştı. bugün stüdyodan 8'e doğru çıktık [indik], nezle etkisindeki boğazım 6 saat konuşmaktan şişmişti. odanın önünde kokteyl vardı 10 dakka ayakta durup bir bardak şarap içtim. boğazıma iyi geldi. gece eve gelince yattım biraz. bacaklarım ağrımaktaydı fena halde. sonra kalktım. çalışmaktan yana umudum yoktu. ama apansız geliverdi. SPE editor'u açtım. ufak tefek düzeltmelerle programımın yeni versiyonu çalışır hale geldi. [şimdi de çalışmakta, aferim.] yarın prosedürleri tek tek test etmem lazım. yalan yanlış şeyler olmasın. ondan sonra da başlangıç parametreleri için 2'li 3'lü testler, sonra da 5'li 6'lı nihai denemeler ile bu seri bitecek. o esnada grafik tasarıma yönelik paralel projeyi hale yola koyup makalesini yollamam lazım. kabul ettiler zira. bir ay içinde yetiştirebilirsem kışa milan'dayım. ondan sonra da ilk çalışmaya dönüp feature dağılımları üzerinden bir deneme serisi yapmak. bu esnada izleme raporumun imzalar için dolaştırılıp enstitüye götürülmesi, tez hocamla görüşme tarihi tespit etmek, araştırmamla ilgili berraklaştırma çalışması, metin taslağının oluşturulması, delft ile irtibatın yenilenmesi ve stüdyo saatinde alarma geçip bakınmak vazifelerini sürdürüyorum. vites düşüreyim, sakin olayım, ayacıklarım ağrımasın artık diyorum ama zamanlar öyle zamanlar ki icabında ölüyü aralarına alıp uygunadım yürütmekteler.

10 Ekim 2010 Pazar

orda şimdi onu şöyle yani o

çok konuşmamak lazım zaten, enflasyon oluyor. neden böyle oldu? neden sürekli ne söylesem kendimle çelişiyorum? yani geçen yıl söylediğim bir sözle çelişsem sorun olmaz ne de olsa zaman geçmiş fikrim değişmiştir belki ama geçen dakika söylediğimi yalanlayıp durur oldum, dinlemiycim bundan sonra başkalarını, hak falan veriyorum herkesin haklı olduğu her hususu söylemime katmaklar oluyor o zaman diyalog oluyor diyalog iyi ama insanın kendi ağzından monolog çıkmalı değil mi efendim. hiç konuşmasam mı ama o da sıkıcı oluyor tabii çelişkilerini kucakla tabii o şekilde.. ama kucaklayamıyorum rahatsız oluyorum hayır biliyorum ufak nüans farkları üzerinden uzun uzadıya açıklamalar ile nasıl aslında kendimle çelişmemiştim gösterebilirim ama 1. öf 2. yalan ya galiba sanki, basbaya ağzımı açtım samimiyetle konuştum ama geçen dakika da samimiyetle konuştum.. bırakacağım stüdyo işlerini, beni baya yalancı çıkarıyor. kendimi bir kere bile tekrar etmemek ve her söylediğimi bir kainat yasası gibi sapasağlam ebediyete. ama bu işin bu kadar kişilere dayalı olmamasını. çocuklar orda ağlaşmaktalar bir daha patates yiyemeyen yiyemeyene, patates bitti mi şimdi sonuçsuz bence bitti diyeler bence bitmedi şimdi biz presizyon sunum sergi postprodüksiyon dedik mi, vallahi bitmedi, aman bırak onlar dedilerdi sen hıı dedin, hıı diyorsun, o zaman da onların ağızları yanağıma takıldı, 4 ağızdan konuşuyorum, bu. olmaz.

öğrenciler haklılar canlarım, bu yıl bir ebeveyn gibi bakıyorum, kuzularıım, hayat işte n'apıcaksınız, sabahlıyıcaksınız daha da sabahlıyıcaksınız ha kuzucuklarım, tepenizde de 1. hoca, 2. beğenmeyen surat, 3. ayar, 4. ödev: stüdyonun 4 kırbacı. hani iş çıkmamış? yoksa sabahlamadınız mı? sineği sıkacağa koyduk sıkıyoruz. sıkılıyorlar. nerden çıktı ya presizyon? neden düzeylerine uygun basit işler vermedik? neden sormadık kendilerine nasıllar diye? ben yorgunum onlar da yorgun ben onlara "kuzularıım" onlar bana "kuzuum", ben onların arasına inip şööyle bi[!!] enerji verecekmişim, sonra motor çalışıyor. bir yerdeki bir yanlışlık bir türlü çözülmüyor, doktoramdan sonra bu konuda doktora-ertesi yapacağım. çok çalışarak çalışmanın öteki ucuna ulaşacağım, orada da işte bir adam varmış, onunla bu meseleyi konuşacağım, arkadaşlarımız çalışıyorlarmış orda, bu meseleyi çözecekmişiz.

[onun dışında çocuklar sonsuz hızda öğrendiler. mevzuyu kavradılar yani. bundan sonra da hayatları çile-hayalkırıklığı-tatmin döngüsü. olur gider.]

7 Ekim 2010 Perşembe

anlaşılamadıklarımızdan mısınız

çalışmamı anlaşılabilir bir biçime sokmak gibi çok kolay olmayan bir görevim var. bir seri paket oluşturmayı düşünüyorum [ve kafam fena halde direnmekte, işten güçten kaldım, günlerdir hiçbişey yapamıyorum, kodlara ve denemelere de dönemiyorum.]:

1. amaç, bağlam, yöntem
2. problem tanımı - kapsam
3. çözüm önerisi - çerçeve
4. doğrulama - projeler

tüm bu maddeler için ayrı ayrı [ve birarada] defalarca raporlar, özetler, proje dosyaları yazdım. ama şimdi sanki yazdıklarım inandırıcı değilmiş, laf olsun diye yazmışım gibi geliyor. bir de şöyle bir sorun var, her yazılanın arkasını sağlama yaslamak gerekiyor. ama tasarım kuramı alanında neyin sağlam olduğu konusu biraz belirsiz. saygıdeğer akademik bey/hanımın çok muteber bir eseri var. bu eserde ortaya atılan bir kavram üzerinden tartışmayı yürütmek muteber bir tavır. fakat insan bir yandan da biliyor [eğer o metni düzgünce okumuşsa], bu saygıdeğer metin büyük ölçüde anektot-yorum-eleştiri türünde yazılmış [misal b. lawson]. ya da mesela protokol analizi denen bir alan var. ama o da o kadar zahmetli ve zaman alan bir çalışma türü ki insanın nasıl tasarladığı hususunda "şu şudur bu ise bu değildir" demeyi sağlayacak kadar veri toplamak pek kolay değil [ama eldeki bol gözenekli veriyi şöyle karşına alıyorsun, onlar üzerinden kuramını oluşturuyorsun, bakınız n. cross.] yani mimari tasarım üzerine güncel kaynak kabul edilen bazı kuramsal çalışmalar bile diyelim ki tıp alanının ya da mühendislik alanlarının çalışmalarının yanında kahvehane söylevi gibi duruyor. bu gevşek tarzı aşıp daha yüksek eleştirel eşikleri ve daha özenli bir metodolojisi olan bir mimari tasarım kuramcılığına yönlenmenin olanağıyla ilgili soru benim anladığım kadarıyla hala yanıtsız. [tasarımcı davranışı/düşünmesi hususlarına psikiyatri ve nöro-bilim araştırmacıları el atsa daha sağlam bir kuramsal altyapıya kavuşacağımız kesin görünüyor. bkz: makale 1, makale 2 henüz makalelere göz atamadım ama başlıkları tam bu hususta.]

sadece dar sayılabilecek bir alt-alanı taradığım halde okuduğum makaleler ve kitaplardan ortak bir terminoloji devşiremedim. [dolayısıyla varmış gibi davranamam] ayrıca tasarımcı davranışı ve yapay-zeka çalışmaları/uygulamaları arasındaki ilişkiyi tarifleyecek kuramsal alan beklediğimden daha "geniş gözenekli". boş demeye dilim varmıyor, bir takım çalışmalar var [protokol analizi çalışmaları yanında j. gero gibi bazı saygıdeğer şahsiyetlerin kurmaya çalıştığı kuramsal çerçeveler var] ama bunlar da sadece noktasal spekülasyonlar sağlıyor [şöyle kullanılıyor: "x. hanımın ortaya attığı y. kavramı üzerinden düşünülecek olursa..." ama şöyle kullanılamıyor: "x. hanımın y. araştırmasının ortaya koyduğu gibi..." ya da: "x. hanımın y. araştırması da z. sebebiyle önerdiğimiz görüşü destekler mahiyettedir."]

bu ahval ve şerait içinde dahi doktora metnim için yönergelerim şunlar:
1. büyük-jargon, laf kalabalığı, güncel felsefenin büyük isimlerinden -ya da bünyenin meselelerinden- devşirilen belirsizlikler, ya da savunma polemikleri üretilmemesine,
2. doktora metninde genel bir kuramsal çerçeve değil, pratiğe yönelik bir 'uygulama çerçevesi' oluşturulmasına,
3. kaynaklar ve ortaya konulan çalışmanın sonuçları üzerinden ne söylenebiliyorsa sadece bunun öne sürülmesine,
4. genelinde hesaplamalı tasarım konuları ve yapay zekayla ilgili olarak sadece çalışmayı doğrudan ilgilendiren konuların tariflenmesine, bir tartışmaya girişmekten kaçınılmasına,
5. şu tezlerin savunulmasına: tasarlanan nesne üzerinden: a. tasarımda çözüm önerisinin bütüncüllüğü ve aşamalı gelişimi, b. bütüncül önerinin biçimsel düzenlemeler üzerinden işlevsel talepleri çözümlediği çok katmanlılığın ayrışmazlığı, tasarlayan üzerinden: c. bu ayrışmazlığın olası bir otomatik tasarım sistemine nasıl yansıyacağı, d. [sadece bu araştırmanın alt-projelerine konu olan plan ve kütle tasarımı alanlarındaki örnekler üzerinden] GOFAI yaklaşımlarının bu hususu bir ölçüde görmezden gelişi [görmezden gelmedikleri taktirde pratikteki sorunlar yüzünden işlerliklerini yitirecekleri] e. evrimsel hesaplamalar gibi yaklaşımların bu alanda ne gibi [ve neden ve nasıl [doğrulama aşaması]] katkılar yapacağı, f. evrimsel hesaplamaların bu araştırmanın alt-projelerinde kullanılan varyasyonları ve insan tasarımcının tasarım süreci arasında kurulacak benzerlikler.

6 Ekim 2010 Çarşamba

halamın...

bir an bir durup sakin sakin düşüneyim sakin sakin çalışayım diyorum, sonra e bu kadar iş nasıl yetişecek diyorum, deadlinelar olmasa tüm makaleleri yetiştirirdim, jüri olmasa izlemelerim iyi geçerdi, bütün bu sıkıntılar olmasa doktora güzel bişey aslında.

kılıçdaroğlu tez izlemeyi kaldıralım demiş tayyip de gel meclise konuşalım demiş, galiba, öyle olmuş..

tez izleme jürim benden tüm araştırmamı kısa bir zaman aralığında anlatabilecek bir haritalama ya da sunum istiyor. kendileriyle temin görüştüm. haklılar. araştırmam çok genişledi. anlamak-anlatmak kolay olmuyor. benim için de gerekli bu özet çabası. ama ben bu çabaya girişmiş durumdayım zaten. ayrıca benim haritam vardı. çalışmadı. freemind'ın versiyonuyla ilgili bir ihmal. ayarlamalıydım. onda da haklılar. zaten daha iyi bir harita yapmış olabilirdim. ama çok içim sıkıldı. ona da özel bir emek harcamak gerekiyor. ben bu kadar işin arasında 1,5 gün ayırdım. hiç fena değil. ama konsantre olmaya çalışırken geçti gitti 1,5 gün. en az bir hafta uğraşmak ve düşünmek lazım. zihnin bir seri işi bırakıp bambaşka bir işe geçmesi kolay olmuyor. oysaki ne hayallerim vardı! bu sefer böyle dataşovlu bir toplantı odasında detaylı bir şekilde herşeyi başından sonuna anlatmayı düşlemiştim. organize olamadım.

bugün internetin de kesileceği tuttu!? ihmalleri telafi de edemedim. cumhurbaşkanının kadrolu jammerları mı yoksa? bunları hesaba katmak gerekliydi. murphy kuralları. tüm bunların üstesinden gelecek vaktim vardı dün. öngöremedim. jürimin önüne az önce koyduğum son raporları abstraktları posterleri onlara önceden göndermiş olabilirdim. tez hocamla geçen ay boyunca buluşmuş olabilirdim. o da haklı.

tüm bunlara rağmen asıl mesele şu oldu bu jüride: sadece yurtdışındaki danışmanlarımı ciddiye alıp buradakileri ihmal ettiğimi düşünen bir jürim var!!? bunda haksızlar. [geldim geleli delft'le temas kurmadım hala. önce bir doktora taslağı hazırlayıp, üniversitelerarası sözleşmeyi bulup inceleyip öyle temas kuracağım. artık geç oldu derlerse de yapacak bişey yok. sürat bu. bir tane kafam var.] nötr değil negatif bir jüri geçirdik. bu tavır esas olarak getirdiğim malzemeden kaynaklanmıyordu. buradaki jürimi ihmal ettiğim doğru. e sebeplerini biraz da kendilerinde aramalılar. yürüttüğüm projeye haksızlık oluyor. jüri ortaya konan işle ilgili eleştiri yapmayı görev edinse daha iyi olurdu. [aslında engellemeseler yeter: "sen bunu yapamazsın, yapma, girişme" [hocam işte yapıyorum farkında değil misiniz?]]. "sen bizim varlığımızı görmezden gelirsen sana doktoranı dar ederiz" dercesine bir tez jürisi yaşadım. rahatsızım. haksızlık yani. niye böyle kişiselleşsin ki? ilk yarım saat sözlerim sürekli negatif yorumlarla kesildi, anlattıklarıma yönelik anlama çabası ancak o dakikalarda başlar gibi oldu... ben anlatamadım onlar da anlattırmadılar. ["biz sana bir tepki vermek istiyoruz" dercesine?] hem bu tavır yüzünden hem hazırlığımın yetersizliği yüzünden anlatacaklarımın yarısını bile anlatamadım. ben de başımı önüme eğiyorum. nefes alıyorum. kendime diyorum ki, haklı oldukları yönleri düşün, savunmaya geçme, alttan al, şimdi gerginlik çıkartırsan bunun kimseye faydası yok...

herkes jürisinde sorun yaşayabiliyormuş. jüri araştırmacıdan ilgi istiyor!? fakat bu jüri değil mi bugüne kadar gönderdiğim hiç bir metni doğru düzgün okumayan? bu jüri değil mi jüri oturumu için ta baharda gönderdiğim metnin bir satırını okumadan bugün oturuma gelen? bu jüri değil mi bugün verdiğim metinleri de okumayacağını açıkça deklare eden? [çeşitli jüri üyeleri "burdan çıkınca benim için artık biter, bi daha bu metinlere bakmam" dediler] e neden bahsediyoruz ki biz o zaman? ben bir yıldır çalışıyorum, bir saatte nasıl anlatayım? [anlatılır anlatılır sen onu öyle bir özetlersin ki, zaten kendin hakim isen anlatabilirsin onu sen, değilsen anlatamazsın işte, evet değilim, nasıl olayım durmadan geliştiriyorum projeyi, çünkü düğmesine basıp çalıştırmadığım sürece size ne kastettiğimi anlatamayacağım, ama düğmesine bastığımda da takdir edeceksiniz biliyorum, metni yazdığımda "hmm demek öyle demek istemişsin" diyeceksiniz, ancak o zaman oturup anlamlı bir konuşma yapabileceğiz, ancak o zaman bana faydanız olacak, yine de ben projenin eşiklerinde ne var ne yok yazıyorum bir güzel, sizlere gönderiyorum, okursunuz belki diye, okumuyosunuz.]

delft'te tez izleme jürisi yok, final jürisi var. tez yapılıyor. ondan sonra taslak metinden itibaren işin içine giriyorlar. daha doğru geliyor bana bu. burda jüri üyelerinden biri yaptığın şeyin doktora olmadığını ilan edebiliyor, iyi de daha ne yaptığımı görmediniz anlamadınız ki. oysa yazılmış taslağı görse hiç öyle düşünmeyecek. ara aşamalarda bu şekilde jüriye çıkmanın geliştirici bir yanı olduğundan emin değilim.

29 Eylül 2010 Çarşamba

kürkçü dükkanı | belki de artık bunları ingilizceye çevirmem?

bu yılki stüdyo için tema olarak "katılımcı"yı önerecektim, ama arkasını kovalayacak gücüm enerjim zamanım yok. enerjisi olanın peşine takılmak yoluna gittim. "presizyon" gibi bir kelimenin peşine düştük. bunun içine orasına burasına "katılım"ı ekler gii olacağız sanki. ama gerçek anlamda katılımcı ya da kararların tartışma ve konsensüsle oluşturulduğu bir stüdyo olmuyor. katılım daha ziyade stüdyoyla ilgili işlerin ve ilgili kararların öğrencilerle bi miktar paylaşılmasından ibaret... ama stüdyonun ne olduğu ve içinde nasıl faaliyetler olduğuyla ilgili olarak öğrencilerle tartışmadık. ister istemez katılımın anlamı "ölene kadar stüdyo"ya dönüyor. ve hiyerarşi geleneksel formlarında işliyor. talep, tehdit, yönlendirme...

"presizyon" da benim açımdan bir deneme olacak. geçen iki stüdyoda daha ziyade karman çorman ve çaçaron bir üsluba takılmıştık, güzel olmuştu. sonuçlar göz doldurmuyordu elbette, ama süreç eğlenceliydi, öylesi benim hoşuma gidiyor, öğrenciler de bir nebze daha ferah oluyorlar. ama sonuçlar tasarımcıların içine sinmiyor. presizyon öğrenciler için daha çok sıkıntı demek. gerginlik, deadline'lar, alçak tonda ama dinmeyen bir eleştiri mırıltısı, zor beğenmek.. bol bol örnek göstermek gerekebilir... bunlar kaçındığımız şeylerdi.

ilk haftalar bir sosyal psikoloji deneyi gibi geçiyor. öğrenciler yavaş yavaş şahsiyetlerini gösteriyolar. bazıları kendini tanıtmaya çalışıyor, bazılarının zaten içinde tutulmayan bir girişkenlik var ve hocaları yoklayıp duruyolar, bazıları hata arıyor, tutarsızlık arıyor (bulmakta da zorlanmıyorlar. güzel olan, meselenin oralarda olmadığını da hızlı kavramaları), bazıları bir kenarda duruyor ilgi gösterildiğinde yavaş yavaş güven kazanmaya başladıklarını gözlemek keyifli oluyor... belirsizlik karşısında şikayetçi bakışlardan ibaret ilk tepkilerin harıl harıl işe koyulup anlamaya çalışmaya doğru dönüşmesi de keyifli oluyor.. ama bunlar her yıl böyle oluyor zaten.

kitaba dönüş | back to the book

600-700 kadar deneme yaptım programın şu haliyle. yaklaşık yarısını sonuna kadar çalıştırıp süreç grafiklerini elde ettim. bir takım parametreler için uygun değerler buldum. ama aslında biraz düzensiz denemeler oldu, sistematik olmadı. kafam da epiy karıştı. çok olasılık var. ben de teoriye geri döndüm. eiben ve smith'in kitabına bakıyordum, ama o sadece bir giriş kitabı gibi, de jong'un güzel bir kitabı var, oldukça bilgilendirici, onu bir baştan sona elden geçirmeyi planlıyorum. ondan sonra revizyonları yapıp sistematik bir deney programı yapacağım. son olarak da en iyi sonuç veren parametre aralıkları için çözünürlüğü ve test sayısını artırarak bu seriyi sonlandıracağım. sonrası yayın.. şu anda çalışma hazırlamakta olduğum bildiriye sığmıyor. şimdilik sığdıracağız. sonra her bir bileşenini teker teker ve daha sistematik biçimde, efendim yöntemini, validasyonunu elden geçirerek birer metne dönüştürebilirim gibi geliyor... yeter ki zamanım olsun.

abstraktlarımın birini kabul etmişler. yazıp yetiştirebilirsem metni de ayrı değerlendirecekler. filtre üstüne filtre. şu kitabı okuyacağım, bir elim varsa... içimden de gelmiyor yani. yavaaş yavaş uğraşsam yazıp yayınlayacak konularım oldu gerçekten. sakince ele alıp her birini başlı başına bir... uf..

26 Eylül 2010 Pazar

hoşçakal windows çok yaşa ubuntu | farewell to windows

epu makinasını kapattım, e ekran kartının utilitelerini kapattım, e güç kaynağını devreden çıkarttım.. e windows'u güncelledim.. ne yaptımsa olmadı. program çöküp duruyor. python sayfalarına bakıyorum onlar çok eminler, python artık iyicene stabildir, python çökmez arkadaşım diyorlar. programda da bi sorun yok, en çok çökmenin yaşandığı periyottaki prosedürleri ayırıp test ettim, milyonlarca kere çalıştırdım, hiç bi sorun çıkmadı. en kolayından xp'yi yeniden yükleyeyim dedim. fakat okulun bilgi işleminin verdiği cd'lerde aslında xp yokmuş ki.. [fesup.. okulunu da bilgi işlemini de..] bios'u falan da bozuyordum az daha. bozulabiliyor mu acaba? xp'yi çökerttim ama. açılmıyordu bilgisayar. gözümü kararttım, ubuntu cd'sini aldım. o da ubuntu değilmiş. [fesup.2!?] bunda da başka bir acayip utilite vardı. bu sefer bios'u halletmeyi becerdim gibi geldi. [amma cahilim bios ne ki?] hazırladığım bootable usb de çalışmadı. ağlamaklı oldum. ttnet neden bana kampanyalı fatura kesmemiş diye sinir krizine girdim. sonra eeepc'mde yeni bir bootable usb hazırladım. çalıştı, ubuntu yüklendi. yaşasın eeepc, yaşasın eeebuntu, yaşasın ubuntu ve yaşasın ttnet [ttnet? teknoloji fakirleri! nasıl oluyor da bunların hiçbir internet aplikasyonu düzgün çalışmıyor? internet sağlayıcısı ya bunlar bu ülkenin!? [edit:] sistemleri de bir geliyor bir gidiyor, tutarsız aralıklarla, 3 kere aramam gerekti mevzuyu öğrenene kadar (onlar da ubuntu'ya geçsin), aslında ince düşünmüşler, kampanya ilk 30 günlük faturadan itibaren başlıyormuş.] hafifledim. sora synaptic sağolsun, kullandığım programları teker teker işaretledim, tıkır tıkır indirip yükledim. tıkır tıkır yükleyemediğim programları da yükleme direktiflerini takip ederek elle yükledim. linux'ta bulunmayan programların alternatiflerini buldum... sürücüler zaten kendiliğinden çalışıyor, bişey yapmaya gerek yok. bi gecede iş bitti. sadece Polygon diye bir python modülü var, kaynak kodundan derlemem gerekiyor [konsolu açıp (ctrl-alt-t) ilgili klasöre gidiyorsun (cd ve cd .. komutlarını kullanarak), "python setup.py install" yazıyorsun, o kadar.] ama c kısmını derlerken hata veriyor. [hani o kadardı lahhn?] neyse en önemli paket değil. [setup.py'yi düzeltmem gerekiyor hı? ne yaziyim oraya?] Shapely modülü üzerinden de yapabileceğim işlemler sanıyorum. bir takım os-specific düzeltmeler ve Polygonu ikame edecek düzeltmeleri tamamlayıp belki bu akşam düğmesine basacak hale getirebilirim. eh.. belki de getirmem. yorgunum ben.

[akşam:] Polygon'u yükledim. ufak tefek revizyonlarla programımı çalıştırmayı becerdim. şaşkın ve umutluyum. üç adet versiyon yaptım, yanyana çalıştırdım. şimdilik çalışıyor. bakalım görelim.

24 Eylül 2010 Cuma

allah kanepeden razı olsun | god bless the couch

ben bunlarla uğraşırken dönem başladı. ya da dönem başlarken benim aklım bu işlerdeydi. "kapatıp açsam olur mu ki?" birinci sınıf. bir gurup öğrenciyi etrafıma toplayıp sanki hepsinin yaptığı her işe söylenecek laf varmışçasına hepsine söyleyecek bir söz bulmak kısmını hiç özlememişim. dolayısıyla bundan kaçıyorum. sebat ve gayret ile ne kadar çok cevap verilirse o kadar aslında cevabı olmayan yeni sorular soruluyor ve oradan hızla kaçılmazsa sorular devam ediyor. "2.6.2'yi mi yüklemem lazım?" insanın kendini kandırmaması lazım. aslında bu soruların bazılarının cevabı yok. bu soruların bazıları gerçekten saçma. bu soruların bazılarının cevabı anlaşılmıyor. bazılarının cevabı anlaşılsa da öğrenciyi geliştirdiği yok. "kapatıp açtım olmuş mu?" ve bu soruların bazılarıyla ilgili düşündüklerimizi gerçekten söylemeye başlasak kendimizden nefret etmeye ve ettirmeye başlayabiliriz. hadi komikli bir tepki vereyim. eeh. veremedim. bu lafı daha önce söylemişimdir ki ben. hep aynı sorular. biz de hep aynı tepkileri mi verelim? "güç kaynağını hattan çıkarayım?" en iyisi bir an evvel cevapsız soruların hangileri olduğunu hissettirmek. bu işlerin en iyi yaparak ve tekrar yaparak öğrenildiğini hissettirmek. "epu engine ne demek, kapatayım mı?" bir haftada üstümden silindir geçti gibi. bişey de yapmadım. asıl gırtlak yoranlar diğer yürütücüler oldu. gurubumuz güzel. öğrenciler de iyi. sadece bunlar çok soru soruyor, bunlar da çok cevap veriyor. ben de izliyorum. sıkılıyorum biraz. bu uzaktan kumandayı kim geri verecek? babam kapının kilidini yağlamış. onlar girip çıkarken ben uyanmayayım diye. ben uyanamıyorum ki. ben çok yorgunum. ama pazartesi sabah arayacaklar. telefonumu kapatayım ben. pazartesi sabah arayacaklar o kumanda acil lazımmış diye. bir hoca hanım "olmaz ki efendim biz de asistan olduk hiç bu kadar uyumadık" diye koridorda gıcırdıyor olacak. biz uyuduk hocahanım. rüyamızda bir milyon kiloluk bir gres yağı tenekesi görüyoruz. döküyoruz taşkışla'nın üstüne. düzgün çalışsın. bir dönemin başında da kayıtta kuyutta değişen sistemde şunda bunda olan aksaklık bize gelmesin. gerçi bana gelmedi. yani geldi de ben oralı olmadım.

araştırmacıyı aşan konular (kapatıp açtın mı peki?) | surpassed

evdeki bilgisayarda python sürekli eror veriyor. çok da tutarsız. programın bir orasında veriyor bir burasında veriyor. çat kesiliyor süreç. eror verdim kapanıyorum diyor bakıyorum nereye varmış, hep farklı farklı noktalarda. bazen de sorunsuz çalışıp gidiyor. insan ağlamaklı oluyor tabi, hatanın yazılan programla ilgisi yok. ama neyle ilgisi var? bu mevzu beni aşar elbet. python'la ilgisi vardır belki dedim, daha stabil sürüme yükselttim. ama hiç bir değişiklik olmadı. sonra laptop'ta çalıştırdım programı. laptop'ta canavar gibi çalışıyor!? bi dakka bu iyi. sorun ne python'da ne yazdığım programda. sorun bilgisayarda yani. e iki bilgisayarda da xp kullanıyorum!? yoksa otomatik güncellemeler gerçekten önemli miymiş? [bu arada linux daha stabil diyeler. geniiş ve ferah bir dönemde artık, kısmetse..]

23 Eylül 2010 Perşembe

düğmesine basıversendi ya? | just copy it, then double-click

bütün gün parallel python (pp) ve psyco modüllerini birlikte çalıştırarak programımı ne kadar hızlandırabileceğimi anlamaya çalıştım. nihayetinde hayretle tüm çabama rağmen işlemleri diğer çekirdeklere yaymanın sonucu hızlandırmadığını gördüm. oysaki cpu kullanımını %25'ten %70ler seviyesine çekmiştim... alternatifler yöntemler düşündüm. sonra da aklıma geldi, ya şu dg3_exe.py dosyasını (çift tıklayınca programı çalıştıran dosya) kopyalayayım, biri çalışırken öbürsü de çalışsın dedim. hakikaten de çalıştı!!!? :] bi tane daha kopyaladım. o da çalıştı! e her biri de bir çekirdek kullandı. şimdi her bir dg3_exe.py'de arka arkaya seri olarak sıralanmış istediğim kadar süreç var. diyelim ki 10 tane. aynı anda da 4 exe kopyası çalıştırsam 40 tanesi bir gecede hallolacak. hey allahım ne revizyonlar yaptım, tüm gün uğraştım, bi de pp erorlar vermekte n'apacağımı şaşırdımdı, sonra da şu işe bak.. :].. her bir dg3_exe versiyonu için ayrı bir log dosyası ve klasör hazırlarsam hiçbir çakışma olmadan gayet güzel çalışıp gideceklerini sanıyorum... güzel oldu güzel... neyse pp'ye de giriş yapmış oldum o da lazım olur...

21 Eylül 2010 Salı

evrimsel hesaplamacılığımızın sorunları | problems of our evolutionary computing

algoritmanın istenen işi yapması için 1. uygun fitness fonksiyonu/fonksiyonları üretilmeli. sistem fitness fonksiyonlarının beğendiği yöne doğru bireyleri dönüştürüyor. sistemin istediğimiz işi üretmesi için fonksiyonların istediğimiz ürünü tanımlamasını sağlamak zorundayız. 2. doğru parametreler bulunmalı. bu parametreler çeşitli şekillerde bireylerin dönüşüm hızını tayin ediyor. sistem doğru parametrelerle çalıştırılmazsa istenen sonuçlara ulaşılamıyor. bir makina gibi hakikaten. doğru düzgün çalışmıyor ya.. süreç erken ya da geç "yakınsayabiliyor", yerel optimaya takılıp kalabiliyor, ilerlemiyor vd... zaman harcayan, moral bozucu süreçler bunlar... o zaman belirli fitness fonksiyonları, operatörler ve temsil tarzları üzerinden ulaşılabilecek en iyi sonuçlar da bilinemiyor. belki de fonksiyonlar doğru tanımlandı ama parametreler yanlıştı... 3. temsil ve operatörler: sürecin kısaltılması ama kısalırken de erken yakınsama sorununun ortadan kaldırılabilmesi için mutasyon operatörlerinin eldeki probleme özel, tercihan bilgi-içeren bir tarzda üretilmesi gerekiyor. bunlara ait parametrelerin ayarlanması da ayrı sorun.

şu anda 4 (+1) fitness için çalışan parametreler bulmuş durumdayım! oh ba. yaklaşık 5000 kuşakta bu 5 fitness için birden kabul edilebilir değerlere ulaşabiliyorum. bir 5000 kuşak daha devam edilirse de fitnessların bazıları için oldukça iyi değerlere varılıyor. ancak bir de kompaktlık fitnessi eklemem gerektiği görülüyor. çünkü verdiğim plan sınırları içinde boşluklar kalıyor. tabi kompaktlık fitness'ı diğer fitnessların ilerlemelerini bozabilir. belki de belli eşiklerde dışa-genişleme türünden bir operatör de eklemem gerekecek. yay metaforu kullanan bir örnek görmüştüm. plan birimleri sanki bir yayla birbirine bağlıymış gibi davranıyolar, bir genişleyip bir tekrar aynı noktaya toparlanarak aşama aşama uygun düzenlemeyi oluşturmaya çalışıyolar. periyodik dışa genişleme ve kompaktlık fitness'ı birlikte sürece eklenirse benzer bir etkisi olabilir diye umuyorum. bunlar zor işler değil. ölçek mutasyonu ve kompaktlık fitness'ı için birer örnek hazırlamıştım zaten.

tabii parametre meselesinde nihai çözüm adaptif, hatta kendinden-adaptif süreçler kurgulamak. şimdilik bazı parametreleri adaptif hale getirdim. bu parametreler süreç boyunca dönüşüyorlar. bu parametrelerin bazıları tüm sürece ait, bazıları belirli bir fitness türüne özel... sürecin kendinden-adaptif olması için bu parametrelerin bireylere, hatta daha iyisi genlere (burda plan birimlerine) ait olmaları gerekiyor. aslında uygulaması o kadar zor değil. ancak nüfusu artırmak gerekeceğini tahmin ediyorum. teoriye göre (el kitabımın yazdığına göre) süreci kendinden-adaptif hale getirmek için harcanan ek mesaiye değiyor, süreç hem kısalacak hem de daha iyi ürünler verecekmiş. ki 8-10 fitness türü ve diyelim ki 15 türden 50 plan birimi ile yürütülecek bir süreçte verimlilik çok daha önemli hale gelecek. hadi biriki kere çalıştırmak sorun değil isterse 24 saat sürsün, ama bir de doğrulama aşaması olacak. süreci aynı parametrelerle diyelim ki 100 kere çalıştırıp ortalama başarımını tespit etmem gerekiyor ki sonucun tesadüf olmadığını gösterebileyim.

5000 kuşak yaklaşık 45-50 dakika sürüyor. yeni fitnessları eklediğimde (zannediyorum şimdilik 7 tane olacak) daha çok kuşak gerekecek. şimdilik bilgisayarın sadece tek çekirdeğini kullanabiliyorum. python'da diğer çekirdeklerin kullanılmasını engelleyen bir kilit varmış. global değişkenlerin durumu belirsiz kalacağı için. neyseki bu sorunu aşmayı sağlayan paralel hesaplama modulleri var. ilk işim değerlendirme ve mutasyon işlemlerini diğer çekirdeklere paylaştırmak olacak. bir de böcek var programda. 8-10 bin kuşakta bir program hata verip çöküyor. oysaki günlerce sorunsuz çalışabilmesi lazım (şu anda ben burdayken o evde çalışıyor mesela, ama eminim çoktan hata verdi, sonraki süreçten devam etmek için benim tamam dememi bekliyor :[ )

o zaman, işbaşı.

15 Eylül 2010 Çarşamba

saygıların en saygılısıyla | kinder than the kindest

bir abstrakt daha yollandı, vardı, karşılıklı teşekkürleri edildi, tabii ya best regards diyecektim hatırlayamadım öküz gibi oldu, bak cevaben kindest regards demişler, kindest. neyse oldu gitti, bir best regards'a kurban olacak bir çalışma daha belki, ama fotorafım sevimliydi, yoksa karikatürü mü kosaydım hakattan, ne de olsa üretken sanat konferansıydı.. niye bu konferansın otomatik bir arayüzü yokmuş ki? insan görünce sarsalanıyorum.. sarsalanıyorum. sarsalanıyorum? aman ya... nası yetişecek bu işler şimdi? soru bu. neyse belki de kabul etmezler zaten.

13 Eylül 2010 Pazartesi

deadline öncesi kayıp gün acısı | mourning for the day lost before deadline

düğmeye bastım, hatalar çıkıyor düzeltiyorum, biraz dağınık biçimde çeşitli parametreler için uygun değerleri anlamaya çalışırken bir yandan da eldeki fitnessları bir bir sisteme taktım, sonra adaptif mekanizmayı revize ettim, arka arkaya ve adım adım her bir fitness için istenen eşiği geçiyor... eğer bir fitness fonksiyonu için süreç stabilleşirse, yani ortalama (ya da azami) performans yükselmeyi keserse diğer bir fitness'a ve ona uygun mutasyon operatörlerine geçiyor, yine olmazsa diğerine, bu esnada mutasyon parametreleri de değiştiriliyor.. karışık biraz.. üzerinde daha fazla düşünmem lazım... sakin bir zaman bulup el-kitaplarını falan açıp.. ayrıca şu bilgisayardaki 4 çekirdeği de kullanabilmek ve süreçleri daha hızlandırmak için yapmam gerekenler var.. gel gör ki bugün [12 eylül pazar] elimden kaydı gitti... ülke öyle kutuplaştı ki ben bile kutuplaştım 14 yıldan sonra tuttum sandığa gittim [oysaki temsili demokrasiye yüz vermemeyi erdem bilmişimdir oldum olası][ayrıca sandık mecidiyeköy'deydi, yağmur yağıyordu, çok zor uyanmıştım yine de gittim], mührümü bastım geldim, derken temizlik yaptım (annemler geliyo), derken voleybol maçını izledim, derken referandum sonuçları gelmeye başladı, derken basket maçını izledim, derken bu önemli gün bitti. yarın araş. gör. koşturmacası başlıyor. annemler evde olacak (ben onların evinde yaşıyorum), hafta sonu bir adet kuzen düğünü var, ve 3 gün sonra bir deadline... kolay bir abstrakt şablonu var ama yollamadan önce en azından bir iki deneme yapmak istiyordum, çıkacak imajları da eklemek istiyordum, bir günlük işi vardı, yarın gece o denemelere girebilirdim ama kafayı toplayamadım, ne güdem var ülkede, savurdu attı konsantrasyonumu... neyse pazar günü allah bile dinlenmiş diyeler.

10 Eylül 2010 Cuma

düğmesine bastım basacağım | almost fired

aslında bastım, şu haliyle çalışıyor, tabi rafinman gerekiyor.. düşününce, görselleştirme rutini tamam, otomatik loglar tamam, genel log tamam, inisiasyon tamam, generative art için başka bir inisiasyon yazılacak, neyseki o kolay, değerlendirme prosedürleri tamam, ama çoğu denenmedi, bi de histogram değerlendirmesi yazılacak, beklenmedik sorunlar çıkabilir, mutasyonlar tamam, mutasyon ruletleri tamam, bazılarının testleri yapılacak... şu anda mekanizma sorunsuz çalışıyor ama her eklemeden sonra yeni testler yapmak gerekebiliyor. testlerden sonra ilk parametrelerin belirlenmesi için bir seri deneme yapmak gerekiyor. ondan sonra da sürecin adaptif parametreleri için mekanizmaların belirlenmesi gerekiyor ki bu kolay iş değil. ve ondan sonra da düğmesine basılacak, her gece çalışacak, 1000'lerce deneme yapılacak... yani hayal öyle de her denemede başka eksikler çıkıyor, onları tamamlıyorum aklıma başka şeyler geliyor, program sürekli geliştikçe de bir durup parametreleri düşünemiyorum... şimdi de çakışma-üstüste düşme ve komşuluk kontrollerinin yanında dolu-boş alanların kayıtta tutulması üzerinden bir akıllı-mutasyon eklemeyi düşündüm... aslında bunların hepsini bi kaç yıldır düşünmekteydim, iş görecek asgari listeyi uygulamaya çalışıyorum... yine de ekle ekle bitmiyor...

6 Eylül 2010 Pazartesi

parametre patlaması | parameter explosion

ikinci bir sorun parametrelerin belirlenmesi. diyelim ki bir evrimsel deney yapacaksınız. ve yine diyelim ki, işte nüfus büyüklüğü, tur sayısı, mutasyon oranları (kaç tane birey mutasyona uğrayacak ve kaç genleri mutasyona uğrayacak ve nasıl uğrayacak), eşeyleme oranları, seçim yaklaşımı (efenim en iyi bireyler sıralamasına göre mi? yoksa turnuva mı), fitness fonksiyonları, bu fonksiyonların parametreleri, e değerlendirmede kullanılacak karşılaştırma dizilerinin elde edilmesiyle ilgili parametreler ve daha niceleri, bu parametrelerin en uygun olanlarının bulunması gerekiyor. doğru parametrelerle çalıştırılmadığında süreçten düzgün sonuç alamıyoruz, en azından yöntemin potansiyellerini doğru değerlendiremiyoruz. diyelim ki 10 adet çok önemli parametre var ve bunların her biri için 10 adet olası değer belirledik (aslında bu olasılıklar bir çok durumda sonsuz sayıda, ama biz sürekli değişkenleri süreksiz adımlara bölüyoruz ve mümkün olduğunda üst ve alt sınırlar vermeye çalışıyoruz, yani 0-10 arasında herhangi bir değeri alabiliyormuş mesela, biz [0, 2, 4, 6, 8, 10] gibi 6 değeri deniyoruz), neyse ne yaparsak yapalım eğer bu parametre değerlerinin optimum bileşimini deneye deneye bulmak istersek 10**10 (pythoncada 10 üzeri 10) adet deneme yapmamız gerekiyor. 10 milyar mı eder? zaman alır :].

şöyle yapılıyor, belki tek tek, ayrı ayrı sadece birer parametreyi değiştirerek 10*10 (10 çarpı 10 yani 100) adet deneme yapıp, her bir parametre için diğerlerinden bağımsız olsaydı en iyi değer ne olurdu gibi bir değeri yaklaşık olarak bulmaya çalışıyoruz (ama esasında bilemeyiz, parametreler birbirinden bağımsız olmuyor genelde) daha sonra da bu parametrelerin süreçte o evrimin koşullarına göre değişmesini sağlayacak bir süreç kurguluyoruz. buna da adaptif evrimsel algoritma diyorlar. bir değer ile başlıyoruz, sonra süreç içinde o değer de evriliyor ve en uygun değerini kendisi bularak dönüşüyor. kulağa hoş geliyor. ama kaç parametreyi bir arada verimli biçimde evriltebiliriz, burda da sürecin verimsizleştiği bir eşik olabilir, buna göre popülasyon ya da tur sayısını nasıl değiştirmeliyiz? bunla ilgili bir malumat bulamadım daha, işte bir yöntemin derli toplu teorisi olursa bu tip sorulara hazır yanıtlar buluyor insan. olmaz ise deneyip görmek gereken pek çok husus oluyor. ama hangi biriyle uğraşılacak?

5 Eylül 2010 Pazar

dizisini örüntüsünü işte..

ilk olarak, "levenshtein uzaklığı" dedikleri bir metrik var, iki harf/sembol dizisinin ["string" diyeler] benzerliğini-benzemezliğini ölçmek için kullanılabiliyor (bir dizinin öbürüne dönüştürülmesi için çıkarma, ekleme ve değiştirme türünden kaç işlem yapılması gerektiği üzerinden..) , sonra "difflib" diye bir python modülü var, onunla da iki dizi arasındaki çakışmalar aranabiliyor. bir de "re" diye güzel ve kafa karıştırıcı bir modül var, bir sembol örüntüsünü bir sembol dizisi içinde aramayı sağlıyor. nerde, ne kadarlık bir kısmı, kaç adet bulundu vd... ilk bakışta elimde yeteri kadar araç var gibi.

bir plan düzenlemesi önerisinden plan birimlerinin dizilimini satırlar ve kolonlar halinde elde ediyorum. sonra onların içinde bir takım kelimeleri [örüntüleri ya da sembol dizilerini] arıyorum. bunun için doğru yöntemi bulmam lazım. sorun şurda, elimdeki araçlar bir örüntüyü bir dizide aramak, ya da iki diziyi karşılaştırmak üzerine kurulmuş gibi görünüyor. ama benim bir diziyi bir örüntüde (örüntüyü dizide değil) aramak için bir yöntem bulmam lazım. bu tip problemler uğraştığım konuların hem heyecanlı hem de korkutucu kısımları işte. belki problemi tersten kurgulayabilirim? örüntüyü dizide arayarak çözülebilecek şekilde...