9 Ağustos 2009 Pazar

Netbeans'te Vi

# Netbeans'in C/C++ için hazır make file'dan proje üretme (compile ve include edilecek dosyaları anlama), projedeki tüm dosyalardaki ve include edilen kütüphanelerdeki tanımları kullanabilen muhteşem code-compilation, semantic highlight (scope'u anlayarak, aynı scope'taki aynı adlı değişkenleri parlatması), projedeki her yerde değişkenin yeniden adlandırabilme vs. gibi özelliklerini kullanıyorum. SVN ve gdb entegrasyonu, "remote development" gibi unsurlarını da kullanmak istiyorum.
# Ama emacs ve özellikle de Vi'nin edit özelliklerinin eksikliğini hissediyordum. Arada bir acaba tüm işlerimi emacs'le ya da vim'le yapabilir miyim diye düşünüp, sadece ssh'la bir yere bağlandığımda değil, elimin altındaki bilgisayarda da Vim kullanma teşebbüsünde bulunuyordum. Ama işte bazı basit işlerde, browserdan bir yerden copy-paste yaparken kasılıyordum.
# İşte tüm dertlere deva bir çözüm: http://jvi.sourceforge.net/ Adresinden, jVi plugini indirilir, arşiv bir yere açılır. Netbeans açılır. Tools > Plugins > Downloaded > Add Plugins'ten açılan arşivin içinde .nbm dosyaları seçilir. Netbeans yeniden açılınca Vi kısayollarını kullanan bir Netbeans'e kavuşulmuş olunur. İki muhteşem ortamın güçleri bir arada!

6 Temmuz 2009 Pazartesi

Simetri Fizikçinin Dostudur

# Bu sabah okula giderken Murray Gell-Mann'ın TED'deki "On beauty and truth in physics" konuşmasını seyrettim.

# Konu güzellik'le başlıyor: Güzellik nedir? Matematiksel olarak basitçe ifade edilebilendir.
# Gell-Mann ve arkadaşları 1957'de zayıf kuvvetin teorisini yapmışlar. Ve halihazırdaki bir çok deney sonucuyla çeliştiği halde "o kadar güzel ki, doğru olmalı" diyerek makalelerini yayınlamışlar ve sonunda da haklı çıkmışlar.
# Doğru kelime güzellik mi bilmiyorum. Okkam'ın usturasıi basitlik, bir fikrin (zip arşivi anlamında) en sıkıştırılmış şekilde ifade edilmesi gibi farklı terimler de kullanılıyor ama kastedilen sanırım aynı. Güzellik denildiğinde duruma estetik bir vurgu da katılmış oluyor.

# Sonra benim ilgimi çeken yanı simetriye geçiyor.
# Simetri ne zamandır kafamda tam oturmamış, fakat önemli olduğunu bildiğim bir kavramdı. Anladığım kadarıyla simetri, (bir eksene göre) simetrik dediğimiz görsel örneğinden yola çıkılarak anlatılabilir.
# Simetrik resim dediğimiz, simetri ekseninde aynalandığında aynı kalan resimdir. Bu "aynı kalış"a "(bir eksene göre) aynalanma altında simetri" denir.
# Keza çemberde de noktasal simetri vardır. Merkezi etrafında döndürdüğümüzde aynı kalır. Buna da döndürme altında simetrik denir. Küre de 3 boyutlu uzayda (merkezi etrafında uygulanacak bir) döndürme altında simetriktir.
# Yani simetri, bir operasyon ve bir nesne gerektirir. Bu nesne, bir geometrik nesne, resim ya da bir betimleme, açıklama, fizik yasası (veya fizik yasasının matemaitksel ifadesi) olabilir. Operasyon da, koordinat sistemi dönüştürmek, aynalamak, muhtelif transformasyonlar olabilir.
# Buradan sonra Gell-Mann Maxwell yasasının muhtelif simetrilerinin açığa çıkarılmasıyla nasıl matematiksel olarak daha zarif bir sunum kazandığını anlatıyor ki, konuşmanın benim en beğendim yeri burasıydı.
# Maxwell denklemlerini ilk yazdığında, her biri bir skalar eşitlik olan 8 tane denklem oluşuyordu. (2 skalar, 2 vektörel...)
# Oysa fizik yasalarının, içinde bulunduğumuz uzayı döndürdüğümüzde (yahut uzayda bulunan her nesneyi bir nokta etrafında döndürdüğümüzde) değişmeyeceğini bildiğimizden bu simetriyi ifşa edecek bir notasyona geçilebilir. 19. yüzyılda Gibbs ve Heaviside vektör notasyonunu bulmuşlar. (bunu da arada öğrenmiş olduk.) Vektörlerle yazıldığında her boyut için ayrı bir denklem yazmaya gerek kalmıyor. Denklem sayısı 4'e iniyor.
# Einstein'ın özel göreliliği ise aslında Maxwell denklemlerinin başka bir simetrisinin ifşasından geliyordu. (Sanırım burada kastettiği koordinat sistemi dönüşümleri.) Fizik yasaları bir koordinat sisteminden (ona göre sabit hızla giden) başka bir koordinat sistemine geçildiğinde değişmemeli. Maxwell denklemleri, Galileo koordinat dönüşümü altında (birbirine yaklaşan cisimlerin hızlarının basitçe toplandığı bildiğimiz lise fiziği) aynı kalmıyor. Bu durumda herkes Maxwell denklemlerini suçlarken Einstein hatanın koordinat sistemlerini dönüştürmede kullandığımız formülde olduğunu söylüyor. Lorentz'in bulduğu Maxwell Denklemlerini aynı bırakacak koordinat dönüşümünün fiziksel anlamını açıklıyor. (uzay-zamanın ilişkisi, ışık hızına yaklaşınca belirginleşen fenomenler vs.)
# İşte bu koordinat dönüşümü altında simetrik oluşu ifşa eden notasyonlarla gösterilince Maxwell yasaları iki satıra düşüyor! (İkinci denklem olan, "tüm manyetik alan elektrik akımlarından şu şekilde kaynaklanır, başka da bir kaynağı (manyetik monopolü ima ediyor) yoktur"un ileride yanlışlanabileceği notunu da düşmeyi ihmal etmiyor.)
# Ama hikaye burada bitmiyor ve benim bilmediğim yerlere geliyor. Yang ve Mills denklemleri daha da genelleştirip, daha yüksek simetrileri içine katmışlar. (yani kesin öğrenmem gereken bir teori!) ve Y-M teorisine yapılan genelleştirmeler, güçlü ve zayıf kuvvetlerin açıklamalarında kullanılmış.

# Sonra evren tahayyülüne ve epistemolojisine geçiyor.
  • Existence of a basic unified theory
  • steps toward unification
  • symmetry
  • self-similarity across the scales
# Yani: Temel ve tüm etkileşimleri izah eden (izah etmesi determinist olmasını gerektirmiyor) bir yasa vardır. Hali hazırda bildiğimiz yasalardan yola çıkarak adım adım daha temel olana (daha hassas değerler veren, daha geniş kapsamlı olana) doğru ilerliyoruz. Bunu yaparken fizik yasaları ve fenomenlerinin simetrilerini ifşa ediyor ve farklı düzeyler boyunca matematiksel yapılar arasındaki benzerlikleri kullanıyoruz.
# Determinist olmayan temel yasaya dair fikri şöyle: "Her şeyin teorisinin her şeyi açıklayacağı fikri yanlıştır." diyor.
Kuantum mekaniği determinist değil, istatistiksel olduğundan. Yani geçmişte olanlar verildiğinde, gelecekte olacakların olma ihtimallerini verdiğinden, kainatın tarihi temel yasalar ve tahayyül edilemez uzunluktaki bir tesadüfler silsilesince beraberce belirlenir (co-determine).
# Yani her şeyin teorisi aslında her şeyi açıklamaz. Sadece olasılıkları verdiğinden, "neden bu anda burada bu şekilde olduğumuz"un açıklaması temel yasaların yanında upuzun bir tesadüfler zincirini de gerektirir.
(# David Deutsch da, aynı bağlamda, evrenin başlangıç koşullarının her şeyin teorisiyle (yani tüm temel parçacık etkileşimlerinin teorisiyle) açıklanamayacağını, çünkü onların geçmişte olanla gelecekte olacak olan arasındaki köprü olduklarını söylüyordu.
# Ama kendisi hem başlangıç koşullarının teorisine, hem de birleşik alan teorisine sahip olmanın da "her şeyin teorisi"ne denk gelmediğini iddia ediyordu, ama o artık başka bir girdinin konusu.)

# Herkes self-similarity kavramını kendince kullanıyor. Gell-Mann da tüm fizik yasalarını tek çatı altında toplama ve bu yolda özbenzerlik kavramını şöyle ele alıyor:
Newly encountered phenomena are described rather simply, and therefore elegantly, in terms of mathematics close to what was already developed for phenomena studied earlier. That is a property of the basic law, not of the human observers. The manifestations of the law at different scales exhibit approximate self-similarity.
# Fizik yasalarının soğan modeline göre, soğanın katmanını her soyuşumuzda (daha yüksek enerji seviyesini, daha çok fenomeni açıklayan yasayı buluşumuzda) kullandığımız matematik, bir önceki katmanı açıklamada kullandığımıza epey benziyor. (Bu fikrini daha çok sayıda örnekle çeşitlendirmesi gerekiyor bence.) Ve bunun gözlemcilerin, fizik üretenlerin bilgi yapısının değil temel yasaların bir özelliği olduğunu iddia ediyor ki bu da epistemoloji yaparken ontoloji yapmaya başlaması demek oluyor.
# Coulomb'un bulduğu elektrik çekimi yasasının Newton'un kütle çekimi yasasına benzemesini de self-similarity'ye bir başka örnek olarak veriyor.

# Bir son dakika golüyle emergent özelliklere değiniyor. "daha fazlasını açıklayabilmek için daha fazlasına gerek yoktur", "yaşam fizik kimyadan ve muhtelif tesadüflerden çıkabilir." diyor. Yaratılış aldatmacasına tepkisini gösteriyor.

# David Deutsch'un da kullandığı kavramların farklı bir bakış açısında kullanımları...

1 Mart 2009 Pazar

Griffiths'in el yazısı r harfi fontu ve gelişmiş mathbb

# Latex'te iki konuda takıldım:
# Kuantum çalışmalarını kayda geçireyim, onlar zamanla büyür ve Türkçe bir bilgi kaynağı haline gelebilirler diye düşündüydüm. Anlattıklarımı yazarken, Griffiths'in kaynak yükü ile hedef yük arasındaki yer değişimini ifade eden vektör için kullandığı el yazısı bir r harfini nasıl yapacağımı bilemedim. 
# Dün de bayağı bir vaktimi, Haluk Hoca'nın Phys 531 (quantum 1) dersinin ödev cevaplarını bilgisayara geçirirken kullanmak için, identity, zero, x ve k operatörlerinin, hani şu harfin hemen yanına düşeyde bir çizgi daha çekerek operatör olduğunu belli eden o notasyonu, Latex'te yapabilme uğraşıyla geçirdiydim. \mathbb sadece büyük harfleri öyle yapıyor, sayıları ve küçük harfleri yapmıyordu.
# İki sorumun cevabını da The Comprehensive LATEX Symbol List'in 65. sayfasında buldum.
# Operatör notasyonu için preamble'ye
\usepackage{mathbbol}
# komutunu ekledim. Böylece \mathbb'lerim gelişti.

# El yazısısı için önce Miktex'in paket yöneticisi ile calligra paketini kurdum. Preamble'ye şunları ekledim:
\usepackage[T1]{fontenc}
\usepackage{calligra}

\DeclareMathAlphabet{\mathcalligra}{T1}{calligra}{m}{n}

\DeclareFontShape{T1}{calligra}{m}{n}{<->s*[2.2]callig15}{}

# 3. komut math modunda \mathcalligra deyip script karakterleri yazmayı sağlıyor. 4. komut ise küçük kalan karakterleri, standart matematik fontlarıyla aynı büyüklüğe getirecek şekilde ölçekliyor.

# Ve insanlığın Latex karşısındaki zaferi!


24 Şubat 2009 Salı

Oscar Adayı Kısa Animasyonlar

  • Yalnızlık, aşka özlem, bekleyiş, çekingen ilan-ı aşk: Lavatory Lovestory
  • Bir arada kalmaya çalışan aşık ahtopotların maceraları: Oktapodi (HD)
  • Pixar'dan, Portal oyunundaki solucan deliği temalı bir slapstick: Presto
  • Tabut taşırken başa gelen talihsizlikler: This Way Up
  • ve oskar La Maison en Petits Cubes'e gidiyor. Yaşlılık, geçmiş, anılar, metaforlar: Bölüm 1Bölüm 2
# Zannımca kazanan ödülü haketmiş. Doğru bir deyişle: ben jüride olsaydım, kendime hakim olup ödülü Pixar'a vermemeyi becermeye çalışarak, bu animasyona verirdim.

22 Şubat 2009 Pazar

Terminator: The Sarah Connor Chronicles


# Bugün, bu yeni dizinin ilk sezonunu, 9 bölüm tekmili birden seyrettim. (Bahadır'ın USB harddisk'inde hepsi bir arada görünce, dayanamadım,  kendi bilgisayarıma atıverdim.) Filmde olanların, filmin fikirlerinin üstüne yeni pek bir şey eklemese de epey eğlenceliydi.
(# Dizileri romanlara benzetiyorum. Karakter geliştirmek, tanıtmak, gerilimi sürdürmek, olay anlatmak vs. için filmlere kıyasla epey fazla vakit var. Dizi için harcanan roman, kalınca bir roman okumak için harcanan zamana denk sayılabilir.)
# Kader konusu işleniyor: "Hani skynet'i yok etmiştik, nereden geldi bu robotlar yine?" derken, kendilerini kurtarıcı robotla beraber 1999'dan 2007'ye gönderiyorlar. Bu esnada peşlerinden gelen T800'yü havaya uçurmasınlar mı? Sen, robotun kafası, zaman portalı topundan bunlarla beraber geçmesin mi? Kafasının geldiğini fark eden, 99'dan beri hurdacıda çöplerin arasında bekleyen gövde, canlanmasın mı? Al sana, Skynet'in yaratımında kullanılabilecek malzeme 2007'ye geldi bile. Kader...
# Geçenlerde Ufuk ve Cem ile konuştuğumuz, "bazen insan sırf yapabildiği için, yaptığını görebilmek için yapar" konusu da işleniyor: Bilim adamlarımız opsesifçe, neye hizmet edeceğini düşünmeden kötü T800'ümüze (nasıl yapıldığının formülü karşılığında) sentetik epidermis, yüz transfer ameliyatı vs. yapıyorlar. Bu bağlamda atom bombasını yapanlara değinmeden olmaz. 3. bölümün başında, Sarah Connor'ın günlüğüne yazdıkları:
When I was in the mental hospital I became obsessed with science. Not all science actually, and not really science at all. Scientists. And then only nuclear scientists. The ones who invented the bomb. Oppenheimer, Heisenberg, Fermi, and Teller. Pioneers. Geniuses, all. I read every book I could. I wanted to understand. Why couldn’t they stop? These fathers of our destruction. And why wouldn’t anyone stop them? And if I had the chance, would I?
# Heisenberg arada kaynadı sanırım. Anılarında o işe hiç bulaşmadığını anlatıyordu. Ben de doğruluğuna inanmıştım.
# Fullmetal Alchemist'te de bu konu bolca işleniyordu. Hatta filminin girişinde fizikçi yaptığı bombayla övünüyordu, simyacıları yeriyordu. Kötü şan mesleğimize böyle yapıştı.
# Keza robotla insan arasındaki farklar benzerlikler konusu da işlenmezse olmazdı: Cameron, yeni koruyucu dişi robotumuz, (gerçek hayatta oyuncu balerin imiş), The Turk adlı yapay zekanın nereye satıldığını öğrenmek için satanın kardeşiyle yakınlaşmaya çalışır. Kardeşi bale eğitimcisidir. Onu seyredip taklit eder. O bölümün sonunda kendisini Chopin eşliğinde odasında bale yaparken görürüz. Arkadan Sarah Connor günlüğüne şöyle şeyler demektedir: "Robotlar insan yaptığı şunu bunu yapamazlar. Fakat yaratmaya çalıştıklarında vs., o zaman bizi anlayacaklardır, çünkü o zaman insandan farkları kalmaz, insan olurlar" Evet bu siberpunk klişesinden sonra fizikçiler için utanç kaynağı olacak diğer günlük alıntımızla post'umuzu kapatalım:
On July 16th, 1945 in the mountains outside of Los Alamos, New Mexico, the world’s first atomic bomb exploded. A white light pierced the sky with such intensity that a blind girl claimed to see the flash from a hundred miles away. After witnessing the explosion,J. Robert Oppenheimer quoted a fragment of the Bhagavad Gita declaring, “I am become death, the destroyer of worlds.” His colleague, Ken Bainbridge, put it in another way when he leaned close to Oppenheimer and whispered, “Now we are all sons of bitches.” Now we are all sons of bitches.

19 Şubat 2009 Perşembe

Sakurai'nin Kapağı YA DA Degenerate Perturbation Theory

# Haluk Hoca bugün nondegenerate perturbation theory'yi işledi. Bu aralar çok sık tekrarladığım gibi "ilk defa perturbation theory'nin ne olduğunu, nasıl türetildiğini anladım" Basit matris cebirine dayanan bu metodun zorluğu diagonalize etmemiz gereken matrisin sonsuz boyutlu olması. Neyse ki bu sayılabilir bir sonsuz. Bu sayede matrisin alt gruplarını kendi içlerinde diagonalize edebiliyoruz.
# Haluk Hoca zayıf bir elektrik alanındaki hidrojen atomunu işlerken n=1, n=2 stateleri için bu matrisi hazırladı. diagonalize etti. Her n değeri sonsuz büyüklükteki matrisin diagonali üzerine yerleşmiş başka bir kare oluyor. Şekli görünce "bu Sakurai'nin kapağı değil mi?" diye sordum. Haluk Hoca da düşünüp "evet" dedi. Daha sonra bunu fark etmiş oluşumun cins bir durum olduğuna hükmettim.

17 Şubat 2009 Salı

PortAudio'yu nihayet Windows altında compile edebilmem

# Barış sağolsun, hızır gibi yetişti. Byzantine: The Betrayal oyunu karşılığında Visual Studio'da portaudio'yu derlememe yardım etti. Böylece freqazoid'in içinde kullanabileceğim.
# N'aptığımı hemen buraya yazayım ki, ileride görüp hatırlayabileyim.

i) Son kararlı sürümü şuradan download ettik.
ii) Tutorial'da anlatılan adımları izledik: Yeni bir proje yarattık. Muhtelif kütüphane dosyaları için MSVC jargonuyla filter denen proje klasörleri yarattık. İlgili dosyaları explorer'da seçip sürükleyip bırakmak suretiyle ilgili filter'lara attık. Proje'nin adına sağ tıklayıp, özelliklerine gidip, All Configurations deyip, include directory'leri (relative path olarak) ekledik. Dandik bir main dosyası oluşturup, "portaudio.h" i include ettik.
iii) "pa_win_hostapis.c" e orada yazan #define PA_NO_WMME #define PA_NO_DS satırlarını ekledik.
iv) Build deyince bir takım hatalar verdi. Barış "bu 2008 versiyonu, nazlı bu ondandır" dedi. Hakikaten hatalar "bunu cast edemedim, sen et" tarzındaydı. Bir takım char[]'ları L(birşey)STR'lere cast edince build etti.
v) patest_saw.c örneğini projeye esas main dosyası olarak ekleyip build edince çalışmadı. Çünkü sürücü bir şey bulamadım dedi. 
vi) #define PA_NO_WMME satırını comment out edip, tekrar build edince, hallaah! o anda göbek atarak arkamda anime seyretmekte olan Erol'u korkuttum. İşte tarihi an, errorsuz, çökmesiz, realtime bir ses ortamını Windows'ta hazırlamış oldum.

# Kaç seferdir Cygwin ile Unix araçlarını kullanarak Portaudio'yu kurmaya çalışmıştım becerememiştim. Geçenlerde RtAudio'yu kurmayı başardım. Ama o da çözemediğim bir şekilde kapatırken veya açılırken çökme hataları veriyordu. Nihayet, make, Netbeans güzelliklerinden feragat edip, bilmediğim bir ortam olan MSVC'ye geçerek portaudio'ya ulaşmayı başardım.
# Hayırlı uğurlu olsun!
# Test klasöründeki hemen bütün örnekleri hatasız derleyip çalıştırabildim. Bir tek blocking read write örneği çalışmadı, o da eksik kalsın.
# Şimdi callback'e gelen input sample'larını bir array'de biriktirip, array dolduğunda ayrı bir thread'de FFT'sini hesaplatabilmek için (kastırıcı işlemleri callback'te yapmamak gerekiyormuş) cross-platform threading olayını nasıl yapacağımı öğrenmeye çalışıyorum.

Sukai kurora YAHUT The Sky Crawlers YA DA Sinemada Seyrettiğim İlk (ve tek) Mamoru Oshii Filmi


# IF İstanbul 2009'un Hit Filmler kuşağında Mamoru Oshii'nin adını görünce yıllardır süre gelen, gelip gitmedeki film festivallerine seyirci kalma ataletimden kurtulacağımı anladım. "The Sky Crawlers" Hiroshi Mori deyu bir yazar amcanın altı kitaplık roman serisinin anime uyarlaması.
# Konusu mu? Konusu acayip, zaten seyrederken de anlaşılmıyor. Olayları karakterlerin gözünden görüyoruz. (Film yorumu olarak böyle gereksiz cümleler kurduğum için sanırım sinema dergisinde editör değilim.) Hayatları bir tür kurgu hayat. (Hayır animasyon kurgusundan söz etmiyorum.) Dünya çapında büyük bir gösteri onların gerçeği olmuş. Belki de yönetmen karakterlerin neler hissettiğini daha iyi anlamamız için, hiç gösterinin izleyicisi "normal" birinin perpektifine geçmiyor. Ne olup bittiğini, aynı o karakterler gibi, tam olarak anlayamıyoruz. Filmi seyrettikten sonra konusu için nette araştırma yapmak gerekiyor.
# Evet, konusu demiştik. (Seyredecekler bu paragrafı atlasınlar, ki seyrederken bir önceki paragrafta anlattığım durumun keyfini çıkarabilsinler) Alternatif bir dünyada savaşlar bitmiş. Ama savaşlar o kadar uzun sürmüş ki, insanlar barış mefhumunu unutmuşlar. Milletin alışabilmesi için savaş gösterileri hazırlanmış. "KillDre" denen, genetik kodlarıyla oynanmış, bir yaştan sonra büyüyemeyen ölümsüz mahluklar (çocuklar) bu kurgu savaşın oyuncuları, uçak pilotları. Bir siberpunk klişesi olarak, bunlara hafızaları bile sonradan yükleniyor. Kalacakları üsse gelmeden öncesine dair anıları pek yok. Zaten öğreniyoruz ki, esas oğlan Kannami Yuichi'yi önceden üssün komutanı Suito Kusanagi (evet, Motoko Kusanagi'yle akrabalığından şüpheleniyoruz. Tipi de benziyor) öldürmüş, yani eskiden adı Jinroh (bu da seyretmediğim başka bir Oshii yapıtı) imiş. Kusanagi onu çok sevdiğinden öldürmüş. (O kadar seviyor ki bu beter "hayat"tan kurtulmasını istiyor. Öyle bir sevgi...) Ama bu kardeş sahip olduğu yüksek deneyimler yüzünden pek kıymetli olduğundan resetlenip yeniden üsse geri gönderilmiş. Ondan kelli epey bir süre dejavu hisleriyle ortalıkta dolaşıyor. Jinroh'a ne olduğunu soruyor ama öğrenemiyor. Takımdakiler yeni gelenlere öyle hemen çullanmıyorlar, "bak burası böyle bir yer, biz buyuz, hafızamız şöyle vs." gibi anlatımlara girmekten imtina ediyorlar. Zaten herkesin içi geçmiş. KillDre olmak kolay değil. Donuk heyecansız tipler. Ama çocuklar aynı zamanda. Çocukça da davranıyorlar. Ama garipler. Büyümüş de küçülmüş gibiler. Kaderlerine fazla razılar. Çok bireyseller. İç karartıcılar. Camus'tan alıntı yapıyorlar. Manyakça bir aşk anlaşıyları var. Ay aman, Allah düşmanımın başına vermesin.

Devam edecek...

15 Şubat 2009 Pazar

Siftables


# Bugünkü TED vidyomuz Create Digital Music blog'undan haberdar olduğumuz bir arabirim. Björk'ün de sahnede kullandığı şu, adını unuttuğum sisteme benziyor. Kareler var. Üzerlerinde ekranlar var. Yan yana getirince etkileşiyorlar. Örneğin [1] [+] [2] [=] kutucuklarının yanına boş [] kutucuğu getirince kendiliğinden [3] oluyor. Bolca da alkış alıyor :-) Bizim ilgimizi çeken kısmı ise sequencer'ı idi. Kutucukların üzerlerindeki ekranlara, adını hatırlayamadığım unsura göre artısı, ama çok da matah bir şey değilmiş.
# Zaten yeni arabirimlere şaşırmak gittikçe zorlaşıyor. 3 vakte kadar Minority Report atraksiyonu da yapılacak ve hepimiz rahatlayacağız.

(# Media Lab'lerde insanlar bunlarla uğraşıyorlar, demek ki. Yıllar sonra akademik ortamda başlattığın fikirlerin gündelik hayatta kullanıldığını görmek nasıl bir histir acep?)

14 Şubat 2009 Cumartesi

Bridge Builder

http://www.bridgebuilder-game.com/bb-tips.php

http://www.chroniclogic.com/

http://www.crypticsea.com/

Bestekâr arkadaşlarım ve GGJ için yaptığım müzik

# MySpace'te iki arkadaşımın sayfasına denk geldim. En son görüştüğümde MIAM'da kompozisyon okuyorlardı. Onların parçalarını dinlerken bende bazı jetonlar düştü:

# GGJ'de Lucid için, istekler doğrultusunda (Lord of the Rings soundtrack'i gibi olsun, ulvi olsun vs.) müzik hazırlarken sonunda ortaya çıkan "şey"e benim ne kadar katkım olduğunu, onun ne menem bir şey olduğunu düşünürken şunlara vardım:
# Herhangi bir ifade içermiyordu. Yani kelimesel-fikirsel değil, müzikal anlamda dahi bir fikir, anlatılmaya-ifade edilmeye çalışılan bir unsur yoktu. Ama görselle eşzamanlılığı ve insanın aynı anda maruz kaldığı algıları tek bir potada eritme yeteneği, görsel hikayeyle uyumlu olmasını sağladı.
# Yeni/özgün bir anlatım biçimi denenmiyordu. Bilakis, şu vakte kadar dinlediğim müziklerin kafamda oluşturduğu "epik soundtrack" klişelerinin ardı ardına denenmesinden oluşuyordu. Zaten Alpar Hoca'nın tanımıyla, sonucu önceden kafasında duyamayan kişiye besteci denmez. Sırayla farklı notalar, nota dizileri, akorlar vs. deneyip, kaydı geri alıp, yeni denenen yeri çaldırıp, kişisel beğeni, klişelere uygunluk kriterleriyle değerlendirilerek, filtreleme suretiyle yapılan müzikal üretime bestelemek değil başka bir şey demek gerekir, herhalde.
# Kullandığım dijital enstrumanın, Garritan Personal Orchestra'nın, nihayi ses örgüsünde katkısının benimkinden çok olduğunu söyleyebilirim. Tuşlara basınca gelen enstruman sesleri o kadar güzel kaydedilmiş, o kadar kendini çaldırtıyordu ki, neredeyse ne zaman ne çalınacağı konusunda, kafamdaki Hollywood klişeleriyle el ele verip kendini dayattı.

# Bu sorgulamalar eşlinde Turgut Erçetin ve Recep Gül'ün parçalarını dinleyince bu saydıklarımla alakası olmayan, bambaşka bir düzlemde üretilmiş eserlerle karşıkarşıya olduğumu anladım. Kulağımdan bir tıkanıklık aktı gitti. Helal olsun vallahi.
# Bahadır'dan duyduğum kadarıyla Turgut, pek güzel yerlerden kabul almış. Tebrik ederim! Benim için çok güzel bir örnek oldu kendisi. Aman nazar değmesin... Başarılarının devamını dilerim.

13 Şubat 2009 Cuma

Scott McCloud - Zot!

# Bugün Noel Baba'lık yaptım. Sömestır tatilinde doğum günü olan arkadaşlarıma müzik CD'leri aldım: Aylin Aslım - Gulyabani, Ceza - Yerli Plaka ve Sigur Ròs - hvarf-heim. Okul açılınca hediyelerini takdim edeceğim. Sonra hızımı alamadım. Sevinç'e de Sigur Ròs - með suð í eyrum við spilum endalaust'u aldım. Sonra da Sevinç'in bana hediye etmesi için :-) Nekropsi - Mi Kubbesi'ni aldım. Sevinç, "önce sana bunu almayı düşündüm, sonra sana layık olmadığına karar verip caydım" deyince biraz endişe ettim ama sonunda bana verdi. Laylay...

# Neyse efendim. Bu "post"un ana fikrine yaklaşırsak. Aslen doğum günü hediyelerinden biri olarak orjinal Watchman çizgiromanını almayı düşünmüştüm. Robinson'a gittim. Orası çizgiromanları başka bir dükkana paslamış. Goethe Enstitüsü'nün yanındaki çizgiromancıya gittim. Watchman'i sordum. "Trailer'ı gören geliyor arkadaşım" tepkisini aldım. Gerçekten de Deniz Sert'in Facebook'ta fan'ı olduğunu gördükten sonra filmin trailer'ını seyrettiydim. Sonra Sözlük'te okuduklarımdan Alan Moore'un "Amerikan çizgiromanı'nın kilometre taşlarından biri" niteliğindeki bir çalışması olduğunu öğrenince, almaya karar verdiydim, doğru. O yoksa bari Frank Miller'ın "Batman - Year One"ını alayım dedim. (evet, bir başka filmini görüp öğrenme vakâsı daha) Cık. Şansıma küseyim bari deyip raflara göz gezdirirken Scott McCloud'un adını görür gibi oldum. Sonra kitabın kapağından çizimini tanır gibi oldum. Kitabı hemen raftan aldım. Kendisi şöyle bir şey:
# Scott McCloud - Zot! (The Complete Black and White Collection)
# Scott McCloud'la tanışıklığım, Barış'ın 2007 nisanında "Bu adam Understanding Comics kitabının yazarı. Web üzerinden çizgiroman yazımıyla ilgili şöyle bir çalışması var" deyip linkini göndermesiyle başlıyor. Sonra Başar mavi-siyah tonlardan oluşan başka bir çalışmasından bahsetmişti. Onu epey okuduğumu da hatırlıyorum. Ne oldu sonra?
# Neysem... Bu kitabı Başar-Barış arkadaşlarım için almaya karar verdim.
# Önsözde şöyle diyor:
Both my characters and I were yound and naive, stumbling awkwardly toward what meant to be an adult in this world, while makn new worlds out of our dreams.
# Evet sevgili seyirciler. İşte bir başka büyüme hikayesi... Bir türlü büyüyemedik.
(# Sanırım hediyeyi vermeden önce epey bir okuyacağım.)

EEG, Langevin ve Fokker-Plank Denklemleri

# Dynamics of EEG Entropy: beyond signal plus noise deyu bir makaleye denk geldim arxiv'de. Bir bakayım, belki "Nedir kuzum bu EEG allahasen?" sorusunun da yanıtını bulurum, dedim.
# EEG dediğin, yani electroencephalogram dediğin, kafanın dışına elektrotlar bağlayıp, voltajın zamana göre değişimini kaydetmek imiş. Güç tayfı yarım ila 100 Hz arasında olan, yoğun olarak 1-30 Hz bölgesinden bileşen içeren bir sinyal imiş.# Yani elektrotun civarındaki nöronların elektrik üretiminin bir ortalamasını içeriyor. Makale başlığında geçen sinyal ve gürültü ayrımı ise şu şekilde: elektrot civarındaki nöronların katkısı "sinyal", uzak nöronların zayıf katkılarının toplamı da "gürültü" olarak değerlendiriliyor.
# Zamanında muhtelif harmonik analiz metodları denenmiş lakin sinyal non-stationary (sanırım dinamik tayf'ın nöroloji bağlamındaki adlandırılması) olduğundan son zamanlarda doğrusal olmayan zaman serileri analizleri kullanmak yaygınlaşmış.
# Introduction'dan sonrasını pek anlamadım. Yalnız iki denklemin adı geçiyor ki, bu makalenin esas işlevi beni bu denklemle tanıştırmış olması ve böylece bana yeni bir okuma-araştırma konusu vermesi.
# Bunlar Langevin ve Fokker-Plank denklemleri: stokastik sistemleri modellemede kullanılan ODE ve PDE'ler. Ne olduklarını araştırırken referanslardan yola çıkarak şu kitaba denk geldim: Nonequilibrium Statistical Mechanics İlk bölümünde bu makalede kullanılan analiz teknikleri ve bu denklemler anlatılıyor.
# Netice itibariyle anladığım, EEG makrodüzeyde bir ölçüm. Ona sebep olan mikro düzeydeki nöron davranışlarının bir toplamı/ortalaması. Bu haliyle genele dair fikir veriyor, ama mikro-makro düzeyler arası bir istatistik mekanik bağlantısı kurulmazsa bu düzeydeki analizler ne kadar anlamlı olur bilemiyorum. Çalışmacı arkadaşlara başarılar dilerim. LinkLink

12 Şubat 2009 Perşembe

Trauma Center: Under The Knife 2 ya da Suspension of Disbelief

# Kendisi bugün (12 Şubat) bitirdiğim oyun oluyor.
# Oyunun kayıt yükleme menüsünde kaç saattir oynadığım da yazıyor. 10 küsur saat oynamışım. Yani 600 dakika. Bu süre zarfında mesela 30'ar dakikadan 600/30 = 20 bölüm anime seyredilebilirdi. Ama bu bambaşka bir deneyim tabii.
# Ben pek bilgisayar oyunu bitiremem. Güzel başlarım, ama hüsranla dahi olsa bitiremem. (Hatta "hayata da başladım ama ya bitiremezsem" gibi anlamsız bir endişem var. Yani ölmeyeceğim de, böyle yarım kalacak...) DS'im geldiğinden beridir "oyun bitirme" hazzını yaşayabiliyorum. Tabii bunda DS oyunlarının epik destansı detaylı değil, daha görece basit olmalarından kaynaklanıyor herhalde.

# Bu oyun üzerinden bahsini açmak istediğim kavram, Barış'ın bana tanıttığı suspension of disbelief. Yani diyor ki: Sinemada gördüklerin, oyunda oynadıkların elbette gerçek değiller; kurgular, çizimler. Zaten orada olanlar da senin başından geçmiyor, empati yaptığını zannetsen de aslında kahramanların hissettiklerinin aynısını hissetmiyorsun. (onlar zaten setteler, yahut dijital varlıklar) Sadece o görseller, sesler sende belli duygulanımları tetikliyor. Ama eserden keyif alabilmen, onu anlayabilmen vs. için bir süreliğine bu gerçek olmayışa dair bilgini unutman lazım.# Mesela bu ameliyat oyunu. Oyunda etkileşilen bazı unsurlar, tıp terimleri ve aletleri. Ameliyat masasında bir beden görüntüsü. Neşteri vurunca yara açılıyor. Pansuman, ultrason vs. vs. Ama görseller fotogerçekçi değil. İkon mertebesinde olmasa da sembolik denebilirler. Ve ama gerçek bir ameliyat esnasında operatör doktorun neler hissetiğiyle hiç alakası olmasa da, süre sınır, hastanın yaşamsal göstergelerinin yüksek tutma çabası vs.'nin tetiklediği heyecan, tüm olan bitenin saçmalığını unutup stylus'u neşter zannetmeye yol açabiliyor.
# Bu konuda başarılı bir çalışma olarak hep verdiğim örnek "Efrasiyab'ın Hikayeleri"nde İhsan Oktay Anar'ın yaptıkları. Bir sahnede ressamın resmini tasvir ediyordu. Bayağı edebiyat kullanıyordu, çizim yok, renk yok, görsel yok. Sadece kelimeler. Ama öyle bir anlatım vardı ki, muhtemelen hiçbir çizim bende o etkiyi yaratamazdı, çünkü resme dair değerlendirme yeteneğim o kadar gelişmiş değil. Baksam anlamam. Ama resimdeki güneşin ve ışığının anlatımını öyle güzel yapıyordu ki, kitap okuduğumu unutup baktığım bir resimden zevk alıyormuşum gibi gelmişti.
# Keza Donnie Darko'nun sonunda çeyrek saat aralıksız ağlamamı da başka türlü anlamak mümkün değil. Ağlama şiddetim o kadar yüksekti ki Sevinç gelip, bak bu film, insanları etkilemek için özellikle uğraşıyorlar, görsel anlatım tekniklerinin mühendisliğini yapıyorlar, sen de onların kurbanı oluyorsun deyip, inançsızlığımı askıdan indirmemi istemişti.

# Evet, Dr. Stiles'ın GUILT hastalığına karşı mücadelesi bu macerayla son buldu. Yaptığı manyaklığa canı gönülden inanan, iyi bir iş yaptığını zanneden kötü adam karakterine içeren bir Japon menşeili yapım daha.
# Bir sonraki oyunda görüşmek üzere hoşçakalın!

Global Game Jam (2 - Konuşmalar)

# Veni, vidi, vici :-)
# Perşembe günü (29 Ocak) Başar ve Barış'la beraber yola çıktık. Ankara'da hep Barış'ın teyzesinde kaldık. Çok sıcak bir aileydi, bizi çok güzel ağırladılar, sağolsunlar. Biz Başar'la Anne'nin de hatırlatmaları doğrultusunda "artık kocaman adamlarız, otelde bir yerde kalmamız lazım, kimsenin evini işgal etmeyelim" diye birbirimizi iteklemeye çalışırken sonunda yine büyüyemeyip orada kaldık. Ne iyi de oldu!
# Cuma günü Kyle Gabler'ın konuşmasıyla etkinlik başladı:

# Kendisi bağımsız oyun geliştiricilerin idolü. Yine böyle bir yarışma, kısa zamanda oyun geliştirme etkinliği bağlamında yaptığı Tower of Goo oyunu çok beğeni topluyor ve 2008'de bir çok ödül alan World of Goo oyununa dönüşüyor.
# Konuşmasından öğreniyoruz ki, (sanırım Guitar Hero'nun ana fikrini aldığı) Audiosurf, Crayon Physics, Spore vs. oyunlar da böyle projeler esnasında ortaya çıkmışlar. Kendisi epey komik bir abi'ymiş. "48 saat sonunda çok uykusuz olacaksınız, basının yoğun ilgisi altında, kırmızı halı üstünde, şişmiş, kızarmış gözlerle görünmemek için şu göz kalemini kullanın" önerisinde bütün salon kahkaha attı.
# Diğer öğütleri: 7) Beklentilerinizi düşürün, RPG, EA Fifa tarzı oyunlar yapmayın. Bambaşka bir tür, konspete uğraşın, rekabete girmeyin. 6) Oyununuz ilk 15 saniyede oyuncuyu çekmeli. Intro veya arkaplan hikayeleri katmayın, mümkünse tutorial/instruction da oyunun bir parçası olsun (biz tam zıttını yaptık) 5) Oyununuza his katın. Ona uygun müzik seçin. Ve tüm grafikler, sesler vs. tutarlı olsun. Hem bir konusu hem de bir alt metni olsun. (bu zor) 4) Hepsini birden yapmayın. Önce fikrinizin uygulanıp uygulanamayacağını göreceğiniz bir prototip yaratın. 3) Ses koymayı unutmayın. 2) 5'in aynısı. Her şey uyumlu olsun. Harmoni! 1) Felç olacak kadar önemsemeyin. "Never fell in love!" ve "Don't be afraid of fail spectacularly"

# Sonra Don Daglow'un konuşması vardı ki bu amca bambaşka bir perspektifen konuştu. Konuşmasının ana fikirlerinden biri de perspektifti. Sadece GGJ Türkiye için hazırladığı konuşmasını San Fransisco köprüsü manzaralı bir yerde kameraya çekmiş. "Arkamda gördüğünüz köprü 80 yıllık ve buranın en eski yapılarından biri, oysa sizin oralarda binlerce yıllık bir kültür var. İmreniyorum size, keşke orada olsaydım" mealinde laflar etti.
# Sonra Discovery Channel için yaptıkları "Byzantine: The Betrayal" oyununu anlattı. Verdikleri bütçe hakkında "Epey büyük bir bütçe verdiler... (anlamlı bir sessizlik) Her şeyi yapmaya yetmese de... bir çok şeyi yapabilmemize yetecek bir bütçeydi" Anlamı: "Türkiye'de önümüzdeki çokça yıl boyunca hiçbir oyuna bu kadar bütçe ayrılmayacak ama bu bile bana yetmedi, daha fazlası olsaydı oyuna başka şeyler de eklerdik."
# Kyle Gabbler'a zıt olarak, yapılan oyuna aşık olmak gerektiğinden bahsetti. Kendisi bir buçuk yıllık bir projeden söz ettiği için bu kontrast normal. Türkiye'nin her yerini dolaşmışlar, bir sürü fotoğraf çekmişler, çalışmışlar. Yanlış anlamadıysam Efes Tapınağı'nın (ilk) 3D modelini çıkarmışlar vs. Epey bir uğraş var. Intro'sunu seyredince çakma Türk polisiye dizisi gibi geldi ama oynamak lazım. Bakalım...
# Ayrıca konuşurken yaptığı ağız hareketleri ve ses tonuna Başar'la şöyle bir yorum getirdik: Hayatı boyunca o çok kadar insana anlayabilmeleri için bir şeyleri tane tane izah etmiş, ağız mimikleriyle anlatımını desteklemiş ki en sonunda ağzı bu hale gelmiş, normal konuşamaz olmuş.
# Keza isimlerini unuttuğum pek mühim iki bilgisayar oyunu ödülü varmış ki, bu ikisine birden sahip olan dünyadaki 3 kişiden biriymiş. (Onlardan biri de John Carmack imiş.)
# Neysem, Donnie Darko'nun buraları öven güzel konuşmasından sonra Türk oyun camiasından bir isim, Erkan Bayol konuştu. Buralarda oyun yapmanın sıkıntılarından samimi bir dille söz etti ve "kazanamazsanız suçu takım arkadaşlarınıza atın" diyerek bitirdi.

# Bu güzel konuşmalardan sonra Turkcell'in çözüm ortakları 2 saatlik sabır testine başladılar. Bir sürü meslek uydurucusundan fırlamış iş hayatı profesyöneli, sunumlar yaptılar. Anladığım kadarıyla "çözüm ortağı", doğrudan Turkcell'de çalışmayıp onlarla ortak projeler yürüten başka şirketlere denen isim. Böylece büyük şirket bilmediği bir sahada bilgi edinip girişim yapmak riskinden kurtuluyor, küçük şirket de kârını paylaşmak koşuluyla arkasına büyük şirketin desteğini ve altyapısını alıyor. Kapitalizm de böyle "alan razı, veren razı" ilişkilerle varlığını sürdürüyor.
# Bu sunumlarda şaşırdığım ne kadar çok minik oyunun varolduğuydu. Asmalı Konak'ın bile cep telefonu için oyunu çıkmış. Bu tarz oyunları yapan biri konuştu. Sonra Turkcell bir API geliştiriyormuş. Bunu ortaklarına sunacakmış. Bunda "telefon sahibi hangi baz istasyonunun erişim alanında, yönü ne, sinyal gücü ne" gibi sorgularla elemanın yerini tespit etme vs. muhtelif bir sorgular içeren bir API. Park yeri kontörle ücret ödeme vs. sistemlerde kullanılacakmış vs. Bunca yıldır yapılmamış olması ayıp bence. Ki bütün bunlar, söylemeye bile gerek yok, "ihtiyaç yaratımı" sahasına giriyor. Sonuncu sunum en bombasıydı. Vakit kalmamıştı. Eleman cebinden cep telefonunu çıkardı. "Türkiye'de kaç telefon sahibi var, biliyor musunuz? ... 60 milyon... Bunların her birinden yılda 1 lira kazansanız: Eder 60 milyon! (biraz da kıskançca) Sizin benim ömrümüz boyunca göremeyeceğimiz bir para." Ana fikir: "cep telefonu için oyun yazın beraber para kazanalım." Hatta iki saat bunları dinlemenin yarattığı nefretin kusmuğu: biz bu işleri beceremeyecek insanlarız. Ama paramız var. Siz de zekisiniz yaratabiliyorsunuz. Gelin biz hiçbir iş yapmadan sizin emeğinizi sömürelim."

8 Şubat 2009 Pazar

Boğaziçi Fizik Hakkında

# Sanırım bölüme yeni girmiş biri Facebook'tan bana mesaj atıp ülkedeki diğer fizik bölümleriyle de kıyaslayarak Boğaziçi Fizik'i özel kılanın ne olduğunu sordu. Geçenin bir vakti doğaçlama bir şeyler yazdım. Ne yazdım?
# Ne yazık ki Boğaziçi dışındaki bölümlerde ne olup bitiyor pek fikrim yok. Oraları araştırmamış olmam benim kabahatim. Türkiye'de kim neyle ilgileniyor, bir ara bunu araştıracağım.
...
# Boğaziçi fiziği özel kılan nedir? Haluk Beker, Avadis Hacınlıyan, Metin Arık'tır herhalde. Genç dahilerimiz de var: Taylan Akdoğan, Tonguç Rador, Ali Kaya. Onlar da deneyim kazandıkça araştırmacı olmanın yanında iyi birer de hoca olacaklardır inşallah. (Taylan Hoca zaten halihazırda iyi bir hoca, genç olduğu için kendisinden ikinci kategoride bahsettim :-) )
# Deneysel araştırmalar yapmak için kapsamlı laboratuarları yok. Metin Hoca'yla takılanlar CERN'e gidebiliyorlar. Astrofizikçiler de muhtelif uluslararası teleskop ölçümlerine erişebiliyorlar. Naci İnci'nin laboratuarında yüksek bütçeli çalışmalar yapılıyor galiba ama ne yaptıklarını hiç bilmiyorum.

# Dediğim gibi diğer bölümler hakkında fikir sahibi olmadığımdan Boğaziçi Fizik'i özel kılanın ne olduğunu bilemiyorum. Eğitim kalitesi benim için yüksek. Yani bir dersin basit geldiği, sıkıldığım hiç olmadı. Genel olarak kendimi hep yetersiz hissettim.
# Anladığım (sezdiğim) kadarıyla, burası Robert College zamanında muhteşem bir eğitim yuvasıymış. Şu anda iyi ne varsa o zamandan kalan unsurlar. Ama YÖK vs. o ayrıcalıkları bölümün/okulun elinden alıp burayı basit bir teknik okul haline getirmek için ellerinden geleni yapıyorlar. Bir efsanenin son zamanlarını yaşıyor da olabiliriz.

# Şahsi fikrim, insanın kendi motivasyonunun ve iradesinin her türlü dış şarttan daha belirleyici, önemli olduğu. Doğaya yeni bir perspektifle bakabilme ve fenomenleri matematiğe dökebilme arzusu, bilinmeyen/tasnif edilmeyenden rahatsızlık duyma gibi semptomlarla kendini belli eden fiziksel bilgi sevgisi insanda varsa inat edip her yerde o yolda yürüyebilir. Boğaziçi Fizik bu bilgi sevgisini doğurtmada diğer herhangi bir bölüm kadar başarısız. Ama, benim gibi bir yeni yetme için hoca kaynakları sınırsız denebilir. Yürünecek bir yol bulduktan sonra bölüm ilk adımı atmak için güzel bir ortam.
# 7 yıldır gittiğim bölüm hakkında bunları yazmışım.

7 Şubat 2009 Cumartesi

Löve 2d Game Engine

http://love2d.org/# Global Game Jam'e gitmeden önce Barış ve Başar'la buluşup bunu çalıştık. Box2d üstüne inşa edilmiş bir oyun motoru. Daha doğrusu betiklenebilir oyun yapımı çerçevesi:
LÖVE is a 2D game engine in which games can be made by using Lua scripts. Actually, it's more like a framework or library, but "engine" sells much better.
# Kullanımı aşırı kolay. Lua, miniminnacık olup muhtelif yapımların içine embed edilmek üzere tasarlanmış bir scripting dili imiş. Onunla yapılan script'leri, kaynak dosyalarıyla beraber sıkıştırıp love.exe ile açıyoruz. Hoop, oyunumuz karşımızda. Derleme yok, dert yok.
# İçince onLoad, render vs. muhtelif callback'leri var. World yaratıp için shape'ler atanmış body'ler yerleştiriliyor. Bunların kütle, sürtünme vs. özellikleri var. Collision detection kendinden. Ses öttürmece, klavye, mouse, joystick kullanmaca. Oh oh...
# Bununla karagöz hacivat rag doll'u yapacağımdır inşallah.

27 Ocak 2009 Salı

Nintendo DS: Ninja Gaiden, Feel the Magic vs.

# Abi'ye Amerikalardan Nintendo DS getirttirdim. DS: Dual Screen. Sony'nin PSP'ına (Playstation Portable) rakip bu cihaz, daha düşük işlem gücüne sahip ama daha çok oyun, stylus'la kontrol, çift ekran, daha hızlı oyunlar ve kırılmaya müsait yapısıyla gönüllerimize taht kuruyor.
# Wikipedia'da yazdığına göre piyasaya çıktığı 2004 yılından bu yana tüm Dünya'da 84 milyon tanecik satmış. Bir ticari işletmenin, ürünün çapı bu kadar büyüyünce ne olup bittiğini aklım almıyor. Ben Nintendo'nun bir yetkilisi olsaydım herhalde kafayı yerdim.
# Oyuncak geleli bir iki ay oluyor. Bu arada bitirdiğim oyunlar: Electroplankton, LEGO Batman: The Videogame, Feel The Magic - XY XX, Prince of Persia: The Fallen King, From The Abyss, Ninja Gaiden - Dragon Sword. Bunları da oynadım ama bitirmek nasip olmadı: n+, Sprung.
# Özellikle DS için hazırlanmış oyunlar epey keyifli oluyorlar. Feel The Magic ve Ninja Gaiden böyle oyunlardı.# Stylus'la çizdiğin çizgiler Ninja'nın kılıcını savurma hareketleri oluyor. Aşağıdan yukarıya doğru çizgi zıplatmak oluyor. Muhtelif kombolar var. Bu da daha önce hiç tatmadığım bir oyun deneyimi verdi. Ayrıca oyun hardcore absürt B-tipi Ninja klişeleri ve dizaynlarıyla dolu. Zannımca Japonların ironi, kendiyle dalga geçme potansiyelleri bizden daha yüksek.# Feel the Magic'in grafikleri Another World gibi ve AW'nin vektörel grafiklerine hala tapmaktayım. Acayip soyutlamalar, oyun dizaynları, absürtlüklerle dolu mini oyunların birleşiminden oluşuyor. Adamın midesinden yanlışlıkla yuttuğu akvaryum balıklarını çıkarmaktan, (mikrofona) üfleyerek tekneni etrafında köpek balıklarının dönendiği sevgilinin yanına yetiştirmeye, stylus'a çemberler çizdirerek direksiyonu döndürdüğün, ve yolda topladığın insanları mancınıkla rakip arabaya fırlattığın oyuna kadar binbir acayiplik silsilesi ben bayıldım.
# Elektroplankton, oyun denemez..., muhteşem bir ses enstelasyonu denebilir. Bir kaç tane elektroplankton var, muhtelif etkileşimlerle ses çıkartıyorlar. Görmek lazım:

# Prince of Persia: The Fallen King'te ilk iki prens oyunundan kalma bir çok unsuru görünce hoş bir nostaljik tad aldım. Ama prensimize ve oyuna duvarlara tırmanmak gibi binbir yeni atraksiyon katmışlar. (Acep Sands of Time'ı oynasam mı? Bilgisayarım kaldırır mı? Bu DS'le oynadıkça dijital oyundan beklentilerin değişiyor. Bilgisayar oyunları daha ciddi projeler gibi gelmeye başlıyor.) Prens de sadece stylus'la oynanıyor. Bu da zevki arttırıyor. Ama hem Prens de hem de aynı hissiyatı vereceğini anladığım Assassins Creed'te, bu oyun aslında çok daha kapsamlı bir proje olan konsol/PC oyunundaki bir takım öğelerin kırpılıp kuşa çevrilmiş bir halinin "DS'tekiler de oynadıklarını zannetsinler" diye sunulmuş hali gibi geldi.

24 Ocak 2009 Cumartesi

How things in nature tend to sync up


# Steven Strogatz TED'te konuşma yapmış. Muhtelif senkronizasyon örnekleri veriyor. 1) Seyircilerin aynı anda ellerini çarparak alkış tutabilmeleri. Senkronizasyonu başarabilmek için aslında canlı olmaya bile gerek yok diyerek cansız maddeye doğru örnekler veriyor. 2) Balık ve kuş sürülerinin 3-4 maddeyle açıklanabilen karmaşık davranışları. i) Her ajan sadece yakınındakileri görüyor ii) ajanlar aynı doğrultuya gelmeye çalışıyorlar iii) birbirlerine aralarında N boy mesafe kalana kadar yaklaşmaya çalışıyorlar. Tüm o kareografi gibi görünen danslar vs. bu öğeleri içeren bilgisayar simülasyonunda görülebiliyor. 3) Kitabında da anlattığı aynı anda yanıp sönen ateş böcekleri. 4) Yatmış su şişelerinin üstündeki satha konmuş iki metronomun aynı anda tiklemeye başlaması. (satıh aralarında mekanik bir iletişim sağlıyor) ve 5) Londra görece yeni yapılmış bir asma köprünün yanlarından asılı olması nedeniyle sağa sola sallanması, sallanma nedeniyle dengelerini kurmaya çalışan insanların davranışlarının sallanmayla pozitif geribesleme yapması.(*)
# İlginç olaylar bunlar. :-) Atomik düzeydeki teorize edilememiş bir çok olayın bu yaklaşımlarla anlaşılabileceğine inanmaya devam ediyorum.

(*) S. H. Strogatz, D.M. Abrams, A. McRobie, B. Eckhardt, and E. Ott. Crowd synchrony on the Millennium Bridge. Nature 438: 43-44 (2005) (.pdf)

Kaotik Senkronizasyon

# Kaotik sistemler başlangıç koşullarına hassas duyarlılıklarıyla tanımlanıyorlar. Farklı koşullarda başlayan iki sistem (başlangıç anında çok yakın dahi olsalar) üç vakit içinde, belli bir strange attractor etrafında döneniyor da olsalar, görece bambaşka hareketler yapıyor olacaklar.
# Nonlinear Dynamics and Chaos kitabının yazarı Steven Strogatz'ın bir öğrencisi kuple (yani birinin değişkenleri diğerininkilere bağımlı) iki sistem arasında senkronizasyon yapılabileceğini göstermiş ve bir uygulamasını geliştirmiş.
# Uygulama şu: Alıcıdan vericiye giden sinyali şifrelemek. Öyle şifrelemek ki dinleyenlerin sadece parazit duyması.
# Şöyle yapılıyor. Vericide bildiğimiz Lorenz sisteminin analogu olan bir devre, program vs. var. Bu çalışınca (sistem 3D olduğundan) 3 tane kaotik sinyal üretiyor. Göndermek istediğimiz mesajı kısıp 2. veya 3. kaotik sinyalle topluyoruz. Vericiye maskelenmiş sinyali ve 1. kaotik sinyali gönderiyoruz. Köstebekler sadece paraziti duyuyorlar.
# Alıcıda Lorentz sisteminin biraz değiştirilmişi var. 2. ve 3. bileşenin denklemlerindeki 1. bileşen olarak alıcının kendi 1. bileşeni değil vericinin gönderdiği 1. bileşen kullanılıyor. İşte bu girdi kısa zamanda iki sistemin senkronize olmasını, aynı t anında aynı değere gelmelerini sağlıyor. Ki bence bu olay çok çok ilginç.
# Alıcı paraziti maskeli sinyalden silmek için basitçe kendi 2. bileşenini maskeli sinyalden çıkarıyor. Time domain'de bu şekilde çalışan bir filtre görmek göz yaşartıcı.
# Doğru bir terminoloji mi bilmiyorum ama, gönderilen 1. bileşen public key, Lorenz sisteminin parametreleri ise private key'dir, diyebilir miyiz hocam? Bilmem...

# Yağmur Hoca'dan nonlinear dinamik dersini alırken bu konuya gelememiştik. İçimde kalmıştı. Sevinç de bu dersi alınca, dönem sonu projesinde bu sistem soru olarak gelmesin mi? Yılların hasretini beraber gidermiş olduk. Lorenz sistemini kendi yazdığım bir Euler metoduyla simüle ettik. Yukarıda anlattıklarımı uygulayarak bir ses dosyasından aldığımız sinyali önce vericinin 2. bileşeniyle toplayıp, sonra alıcının 2. bileşenini ondan çıkarıp orjinal sesi elde ederek bu fenomeni modellemiş olduk. Aferin bize!

# Senkronizasyonla ilgili Wikipedia makalesi.

23 Ocak 2009 Cuma

Ses API'leri

# Bugün sabahtan beridir cross-platform, realtime, open source bir ses kütüphanesi, API'si arayışındayım. Aslında epey zamandır bu arayıştayım. Farklı zamanlarda portaudio'yu indirip Windows'ta build etme denemelerim hep hüsranla sonuçlandı.
# Alpar Hoca'nın Beauchamp'a zamanında gösterdiğim freqazoid projeme yeniden başlamam konusundaki ısrarları üzerine bu işi baştan, dil olarak Java yerine C/C++ kullanarak, hızlı grafikler için (osiloskop, spektroskop vs.) Java2d yerine OpenGL, javasound yerine de şu anda aramakta olduğum bir ses API'si kullanarak yapmaya karar verdim.
# Aslında Juce kullanarak bu işe başlamıştım. Ama ne oldu? Galiba ses sinyallerini programın modülleri arasında taşımak için uygun class'lar olmayınca, kusursuz bir istikrarla çalışması gereken bu modülü yazmaya üşenip işi yarıda bırakmıştım.
# Piyasadaki denk geldiğim kütüphaneler şunlar (editlenecek):

Low-Level, Platfrom Dep.
==================
Windows: ASIO, MME, directsound
Linux: ALSA, OSS, Jack
Mac: CoreAudio(?)

High-Level, Cross-Platform
====================
Open Source: RtAudio, PortAudio, Juce, OpenAL, Audiere, sndlib, Pulseaudio, libao,
Closed Source: Irrklang, fmod

Global Game Jam Türkiye

# Barış'ın hatırlatmasıyla son anda Global Game Jam'in Türkiye bölümüne başvurmayı başardım. GGJ'de Dünya'nın muhtelif şehirlerinde toplanan insanlar aynı anda, verilen tema üzerinde iki gün gibi kısıtlı bir zaman içerisinde doğaçlama oyun geliştiriyorlar. O gün kurdukları küçük gruplarla kısa zamanda yazılan oyunların ilginç bir şekilde özgün, yenilikçi ve deneysel oldukları görülmüş.
# Biz Başar, Barış ve ben ayrı ayrı başvurmuştuk. Bugün öğrendik ki üçümüz de kabul edilmişiz. Heyecanlandık. Haftasonu toplaşıp prova yapacağız. Bakalım neler yapabileceğiz. Ben de o zaman bilgisayarıma .xm formatında parça yapabileceğim bir Tracker kurayım. SuperCollider ile ses dizaynı yapayım. Laylay...

vxi11 Ethernet Protocol üzerinden Tektronix AFG'ı kontrol etmece

# Dönemin bitmesiyle Taylan Hoca'nın bana verdiği ilk mini-proje, Tektronix marka sinyal üretecimizi ethernet üzerinden bilgisayarla kontrol etmek. Modelimiz AFG3000 serisinden. AFG: Arbitrary Function Generator. Yanisi aslında osiloskop ama sinuzoid, kare dalga, terstere gibi dalga biçimleriyle kısıtlı değiliz. Hafızasına N tane 16-bit integer gönderiliyor ve alet istenen frekansa gelecek şekilde interpolasyon uygulayarak sinyali üretiyor.
# Pek de marifetli. "Burst Mode"unda "1-Cycle" seçeneği seçildiğinde hafızadaki dalga şeklini trigger edildiğinde tek bir kez gönderebiliyor. Ardışık trigger'lar arasındaki süre de ayarlanabiliyor. Bilgisayardan paratmetreleri belli bir aralık içinden rastgele seçilmiş dalga biçimleri (muhtelif pulse'lar ve ardışık darbe'ler arası süreler) üretilip alete gönderilecek. Alet de bu sinyali test aşamasında bizim tasarlayacağımız donanıma, gerçek dünya verisi yerine verecek ki analiz ederek darbenin üretim parametrelerini bulsun.
# Deney edevatları için standart iletişim kanalı GPIB denen nane imiş. Özel bir kablosu ve kartı var bilgisayarlar için. Ama aynı komutlar ethernet üzerinden de gönderilebiliyor. vxi11 protokolü sayesinde ağ üzerinden de gönderilebiliyor. Bu kütüphaneyi hazırlayan kardeş linux için doğru dürüst bir programlama ortamı olmadığından dert yanmış. Dert yanmakla kalmayıp oturup "madem yok, ben de kendi kütüphanemi yazarım" demiş ve sorunu halledip kamuyla paylaşmış. Kendisine bolca teşekkür. Böyle bir kütüphane olmayınca bu aleti (sadece üzerindeki düğmelere basarak) tüm gücünün hakkını vererek kullanmak imkansız.
# Epey ilerledim. Pazartesi günü bu iş biter herhalde.

20 Ocak 2009 Salı

Lost'un senaryo tutarlılaştırıcısı

# Lost'un 5. sezonunun başlamasına bir gün kaldı. Heyecan dorukta.
# NY Times'ta Greg Nations diye biriyle bir söyleşi yayınlanmış. Nations'ın görevi daha önce yayınlanan bölümlerde tüm olanların bir arşivini tutmak, geçmişte, şimdide ve gelecekte olanları tarihlemek ve yeni bölümlerin yazımında oluşacak mantık hataları ve kopuklukları engellemek. "Keşke bilgisayar mühendisi olsaydım da bir database kurup insanlar, olaylar ve mekanları ilişkilendirebilseydim. Her şeyi hödö hödö düz yazıyla dökümanlara yazıyorum." diyor. Ki Net'te bolca "hatalar" sitesi mevcut.
# Diziyi o kadar karmaşıklaştırdılar ki, herkes tek bir insanın tüm külliyatı aklında tutamayacağı konusunda hemfikir. Laylay...

17 Ocak 2009 Cumartesi

Opengl

# Yükseklisans zorunlu derslerimin bitmesi, hem de ilk defa bir temel fizik dersinden AA almam, hem hem de dönem ortalamamın 4.0 olması beni epey motive etti. Dün gece yılları özlemi OpenGL kullanabilen bir program yazma hevesimi sonunda gerçekleştirdim. Başlangıç adımlarını daha sonra bakıp hatırlayabilmek üzere buraya "tespit" edeyim.
# Netbeans 6.5'in C/C++ paketi kurulur. (Nasıl kurulur? vs.)
# Cygwin'in setup.exe'si indirilir ve şu paketler kurulur: gcc-core: C compiler, gcc-g++: C++ compiler, gdb: The GNU Debugger, make: the GNU version ve opengl. Cygwin'in bin klasörü "system environment"taki PATH'e eklenir.
# Nehe'ye gidilir. İlk derslerden birinin Cygwin kodu indirilir. Cygwin'deki user'in altinda bir klasöre açılır. .exe dosyası denenir, çalışınca mutlu olunur. Sonra .exe'nin ismi değiştirilir ve "make" denerek kendi .exe'mizi oluşturabiliyor muyuz diye bakılır. Olumlu netice alınınca göbek atılır.
# Netbeans açılır, Tools > Options > C/C++ > Build Tools'ta cygwin'nin bin/ klasörü eklenir ve geliştirme programları Netbeans'e tanıtılmış olur.
# "existing code" seçeneği seçilerek yeni proje yaratılır. makefile olarak Nehe dersiyle gelen makefile seçilir. Run Project'te tıklanır. Build edilip çalıştığı görülünce IDE kullanabilmenin rahatlığıyla huzura kavuşulur.
# Evet, Visual Studio kullanmamak, Windows kütüphanelerine bağlı kalmadan sanırım platformdan bağımsız kod yazabilmek için ilk adımı attık.