…and then she started screaming: MIKE! MIKE!

Başlık, konuyla pek alakalı değil ama, Mike denince aklıma hep ST’nin Institutionalized‘ı gelir.

Efendim, Mike, Ph.D. Comics’in aylak elemanıdır. Yakın zamanda baba olmuştur. Ve, -söylememe gerek var mı bilmem ama- bu naçiz yazarınızın strip’de kendisini en çok eşleştirdiği kişisidir. Dün akşam şu strip’le karşılaşınca, neler hissettiğimi tahmin edebilirsiniz:

Time to End This / Ph.D. Comics, 02/23/2007

Haydi bakalım!..

Bugünün -şimdiye kadar olan kısmının- özeti:
Nazım sağolsun, sayesinde kavuştuğum züper bilgisayara (IBM BladeCenter H – 14 Intel Xeon Dual Core 3.00 GHz CPUs) haftasonu özenle hazırladığım 4 nanoçarkın kararlılığını test eden programı çalıştırdım. Birazdan yemeğe gideriz, sonrasında teze daha da bir girişeceğim. Bir de şu postdoc başvurularından haber çıksa!.. Sabah Şakir Hocam çağırdı, “acaba postdoc’lardan haber mi var?” diye heyecanla odasına gittim, meğer geçen sene hazırlanmasına biraz yardım ettiğim bir kitap için telif ücreti göndermişler, Şakir Hoca da bu ücretten payıma düşeni teslim etti..

HyperChem’de mutlu son

Dün, MM+ force field‘in en zorlu kısmı olan bağ enerjileri hesaplarını tamamıyla çözdüm. Geriye açı, torsion filan kaldı ama bağ kısmını hallettikten sonra pek bir sorun çıkaracaklarını sanmam. HyperChem, daha evvel bahsettiğim üzere, bütün hesap yöntemlerini dürüstçe açıklamış ama uygulama aşamasına geçince, aslında hiç de yaptıklarını söyledikleri şekilde yapmadıklarını hüsranla fark edip, tersten giderek formüllerine ulaştım. Şu güzellere bir bakın derim:

biraz bozuk bir grafit
HyperChem:
Single Point, MolecularMechanics, molecule = D:\cpp\depo\graphite.ent.
mmplus
Default parameters being used for torsions…
Default parameters being used for stretches…
Default parameters being used for van der Waals…
Default parameters being used for bends…
Total Energy=7339.045898 Gradient=128.656143.
Bond=7339.05 Angle=0 Dihedral=0 Vdw=0 Stretch-bend=0 Electrostatic=0.

Benim Program:[…]
599 – 598 Enerji –> 2.560039
Mesafe: 1.535771
Mesafe-l0: 0.035771
mmswitch = 1.000000
mms parantez : 0.928458
600 – 599 Enerji –> 0.427327

EBAG = 7339.047413 | EANG = 0.000000 | EVDW = 0.000000 | ESTB = 0.000000
TOPLAM = 7339.047413
GRAD = 0.000000

epey rastlantısal bir yapı

epey rastlantısal bir yapı
HyperChem:
Single Point, MolecularMechanics, molecule = D:\cpp\depo\sil.ent.
mmplus
Default parameters being used for torsions…
Default parameters being used for stretches…
Default parameters being used for van der Waals…
Default parameters being used for bends…
Total Energy=110841.625000 Gradient=2234.989502.
Bond=110842 Angle=0 Dihedral=0 Vdw=0 Stretch-bend=0 Electrostatic=0.

Benim Program:
18 – 17 Enerji –> 7.701890
Mesafe: 1.789839
Mesafe-l0: 0.249839
mmswitch = 0.926193
mms parantez : 0.537201
19 – 18 Enerji –> 12.061432

EBAG = 110841.625965 | EANG = 0.000000 | EVDW = 0.000000 | ESTB = 0.000000
TOPLAM = 110841.625965 GRAD = 0.000000

yorgunlukta hatırlanan sıcak bir şey

Dün HyperChem’in iki karbon atomunun aralarındaki bağdan kaynaklanan enerjisini nasıl hesapladığını bulmaya çalışıyordum ve sonra ortaya çıktı ki -reverse engineering-, aslında söyledikleri gibi hesaplamıyormuş program. Bugün de sabahtan akşama bir üç komşusu olan karbon atomuyla, iki komşulu bir karbon atomunun bağ etkileşim enerjisinin formülünü bulmaya çalıştım, durum bir ara bayağı ümitsizleştiyse de, mutlu sona ulaştım (ve yine yaptıklarını söyledikleri şekilde değildi aslında yaptıkları). Neyse, asıl demek istediğim, yorgunluktan kapaklanmak üzere olduğum şu saniyelerde, aklıma Catalina’nın Earl için dans etmesi geldi. Catalina kim, Earl neci, bilmiyorsanız da boşverin, bilenler bilir.. 8)

helva: yağ, un, şeker…

Bir süredir paralel ortamda çalışan bir moleküler optimizasyon kodu ile uğraşıyorum. Çoğu şeye sıfırdan başladım, temel sağlam olsun, ileride başka sistemlere de kolayca ayarlayıp aktarabileyim diye (şu anda yazmakta olduğum kod sadece grafit bazlı karbon yapıları konu edinebiliyor). Bu kod yazım sürecinde gerçekten şaşırdığım şeyler oldu ki bunların başında iki sene saçımı başımı yolmama rağmen pek bir şey anlamadığım Polak-Ribiere (Fletcher-Reeves‘i de dahil edebiliriz bittabii ki!) algoritmasını bir gecede hatim eder gibi ÇOT! diye kavramam oldu. Şu anda eldekiler:

1) Bir fonksiyonun minimumunu hesaplayan bir algoritma + kod
2) İş yükünü performansa göre bilgisayarlara dağıtan bir algoritma
3) Bir sistemdeki etkileşimleri bulan, bunları optimal bir şekilde işleme çeviren algoritma + kod
4) Allinger’in MM3 formülasyonuyla sistem enerjisini hesaplayan algoritma + kod

Şekilde görüldüğü üzere, helva yapmak için bütün malzeme var elimizde, inşallah helvayı da birkaç gün içinde yiyeceğiz.. 8)

Kodu standart C++’da yazıyorum. Başta şeytan çok dürtmüştü Visual C++ .NET Framework’de yazmam için ama iyi bir direniş sergiledim. Hatta onun editörünün envai çeşit otomatik-tanımlama lüksünden bile vazgeçip, doğruca VIM’in kollarına bıraktım kendimi. Derleyici olarak da g++ kullanıyorum, “Kod Linux’da da derlenir mi acaba?” derdinden uzak duruyorum.. 8) (koduyorum, çıkıyorum.. 8)

Hamiş Mesajı yazdım, aklıma geldi, bilim dünyasında şöyle bir kötü yönelim var: insanlar sanki makaleleri mümkün olduğunca anlaşılmaz, karışık yazmak için çaba sarfediyorlar. Hal böyle olunca da, seminer veren bir amcanın seminerini dayandırdığı ve bir türlü anlayamadığınız o “ağır” makalesi seminer sırasında “aaa, bu kadar kastırdığı şey bu muymuş!?!” nidanızla ve bir şekilde kazıklandığınız duygusuyla sizi başbaşa bırakıveriyor. Genelde kitaplar makalelerden çok daha açık bir anlatıma sahip ve dahi daha bir user-friendly olsa da, sevgili Elijah Polak’ın 1971 tarihli Computational Methods in Optimization adlı kült kitabı ne yazık ki gereksizce bilgiç takılıyor. Sonuçta bu kitapta hedeflediği şeyin bir Optimizasyon Teorisi kurmak olduğunu söylüyor, yani derdi sizin işinize yarayacak bir kitaptan çok, yeni bir dilin alfabesini ispatlarla temelden kurmak ama temcit pilavı gibi dönüp dolaşıp 3 tane algoritmayı 300 sayfa boyunca önümüze koyması biraz karizmayı çiziyor. 8( Bunun tam tersi bir örnek olarak ise rahatlıkla Peter S. Pacheco’nun Parallel Programming with MPI‘ını verebilirim. Peter Amca anlatacağı şeyleri o kadar doğallıkla ve sevecenlikle sunuyor ki! Hastası olduğum Michael Morrison’ın Understanding Quantum Physics : A User’s Manual‘ından sonra roman gibi bir solukta okuduğum ikinci fizik/bilim/lala kitabı..

Hal-i pür melal..

Haftanın başı, odamda oturuyorum. Genelde laboratuvarda otururum okuldayken ama bugün odamda oturmak istedi canım. Laboratuvardaki bilgisayarların birinde simülasyonumun ilk 72 derecelik etabı bitmiş idi, geçen seferkinin aksine fena gözükmüyor, yine de emin olmak için bir 36 derece daha çalıştırma taraftarıyım.

Geçtiğimiz perşembe günü, nihayet işleri yetiştirip Osaka Üniversitesi’nde, benim konuma yakın çalışan bir profesöre mail atıp durumumu anlattım ve CV’mi gönderdim, hala cevap bekliyorum. JSPS’in ilk alımlarının başvuru tarihinin 4-8 Eylül olduğundan yola çıkarak, hayli geç kalmış olduğumdan bahsedebiliriz. Tabii bu olmazsa ikinci dönem için başvuracağım ama o da taa 15 Ağustos’ta açıklandığından, iyice sakat oluyor.

Lepitopi tamirden geldi gelmesine de, bütün sorunları (ekran titremesi, kilitlenip kalması, ethernetin çalışmaması) halloldu fakat yeni bir problem baş gösterdi: artık RGB-out çalışmıyor. Sunum yapan ve film izleyen bir insan olarak hakikaten canımı sıkıyor bu konu. Sağolsunlar, teknik servisteki arkadaşlar ellerinden geleni yaptılar ama bir türlü hallolamadı. Bu sorunu fark eder etmez geri götürdüğümde, oradaki monitöre bağlamışlar ve sorunsuz bir şekilde RGB-out’un çalıştığını görünce, “Herhalde ben beceremedim, bir yere dikkat etmedim…” diye düşünmüştüm ama sonradan anlaşıldı ki, ancak onlarınki gibi çok eski, power-save modu olmayan monitörlerde görüntü alabiliyoruz. Neyse, sonra yoğun bir biçimde uğraştılar ama yapamadılar. Benim aklıma da iki RGB kablosunu Y olarak birleştirip, bir ucu monitöre, çatalın oradaki 2 girişten birini lepitopiye, diğerini de benim emektar kasa bilgisayarına bağlayıp, RGB sinyali hariç diğer bütün sinyaller için kasanın çıkışını kullanmak geldi. Böyle bir zahmete girmeden önce, bir kez daha eski monitörlerde çalışıp çalışmadığını test etmek için bölümde ne kadar eski monitör varsa denedim, ne yazık ki hiçbirinden görüntü alamadım. Bir ara yine teknik servise tekrar uğrayıp onların monitöründe test etmeyi planlıyorum ama içimden bir ses en kötümser tonuyla, teknik servistekilerin yapmak için uğraşırlarken iyice bozduklarını söylüyor.. 8(