Tokens — Page 26

Araştırmalarla ilgili olarak

Google Scholar'ı çok kullanan birisiyim. Tez konusunda araştırma yaparken en çok kullandığım araçlardan oldu kendisi. Scholar yanında ilgili alandaki iyi konferans, dergi, workshop vs. gibi etkinliklerin de ana sayfalarını takip ettim. Belirli bir alanda araştırmalara bakarken insan bazen birkaç sene önceki araştırmalarla çoklukla karşılaşıyor. Bunun nedeni bu araştırma/makalelerin uzun süre önce yayınlandıkları için oldukça fazla atıf almaları ve pek çok web sitesinde bahsedilmeleri. Bu benim gibi araştırmacılar için iyi birşey değil çünkü en son araştırmalar en iyi algoritmalara götürüyor insanı. İnsanlar hızlı bir şekilde eski algoritmaları geliştiriyorlar. Yeni araştırmalara erişmek için benim bulduğum yöntem şu oldu:

  1. Öncelikle "survey", "future directions" gibi genel olarak yeni birşey getirmeyip eski algoritmaları açıklayan makaleleri okumak.
  2. Alanınızla tam ilgili olmasa da yakın olan güncel makaleleri okuyup alanınızdaki makalelere atıf yolu ile ulaşmak. Tüm makalelerde bir "şu anki durum" (current state of art) olduğu için bunlara ulaşmak kolay.
  3. Bundan sonrası size kalmış. Alanınızdaki iyi birkaç makaleye ulaştıktan sonra atıfları izleyerek diğerlerine de ulaşmak olası.
  4. Anahtar kelimeleri de doğru seçmek gerekiyor.

Bugün daha önce görmediğim (veya görüp dikkate almadığım, bilmiyorum) ama bilmem gereken bir makale gördüm. Makaleyi daha önceden bilmem gerekiyordu çünkü benim konumla alakalı. Şimdi bunun tekrarlanmaması için kendime bir not aslında bu yazı. Makale biraz eski olduğu için kaçırmışım. Hımm, bunları unutmamam gerek. Özel sektörde çalışırken de çok faydalı olacaktır.

back of my hand - avucumun içi - elimin tersi

Just noticed that the idiom “know like back of my hand” is in the lyrics of two songs that are in my mp3 player. It is featured in Keane’s “Somewhere Only We Know” and Lights’ “February Air” songs.

The interesting thing is, we have an idiom which has the exact same meaning, and it is “avucunun içi gibi bilmek”. When you translate this literally it means “know like the inside of my palm” :-) When you translate “know like back of my hand” literally to Turkish, it is “elimin tersi gibi bilirim” and it really doesn’t make much sense. Back of a hand is not the better part of one’s hand in the Turkish culture. I just wanted to share this interesting trivia. It is totally useless so you might as well forget it.

I keep asking my roommate Kohei about Japanese idioms and proverbs. I think idioms and proverbs are really interesting part of one’s culture. It shows some parts of a culture that you wouldn’t be able to see looking with bare eyes. That’s my two cents, anyway (yet another idiom :)).

Just like “Lost in Translation” right? (great movie by the way)

MPI / Grid Hesaplama Üzerine Tez/Araştırma Konuları

Bir arkadaştan “MPI konusunda ne gibi araştırmalar yapabilirim” gibi bir soru geldi. MPI ve Grid hesaplama konusunda günlük sayfamda yazılar yazarak bilgimi başkalarına aktarmaya çalışıyorum. Bu konularda çalışmak isteyen Türklere de aynı zamanda biraz motivasyon vermek için aslında bu, hani daha önce yapanlar da varmış dedirtmek için. Ve sorusu olana bilgim dahilinde tabii ki cevap vermek isterim.

Grid hesaplama ve MPI konusunda aslında oldukça fazla araştırma konusu var bana göre. Örneğin grid konusunda araştırma yapılacaksa Java ile çeşitli servisler yazılabilir. Gridleri yönetmek için kullanılan çeşitli yardımcı programlara, araçlara bakılarak bunlardan fikir edinilebilir. Örneğin vikiden globus toolkit makalesi başlangıç olabilir. Bunlar çok büyük araçlar, özel bir konu seçilip araştırma yapılabilir. Benim aklıma gelen konu mesela “iş ayarlama (scheduling) nasıl geliştirilebilir?”. Buna benzer bir alt alanda araştırma yapılabilir.

MPI konusu ise yine çok geniş. MPI ve OpenMP gibi araçlardan hangilerini seçeceksin? MPI seçeceksen hangi sürümünü seçeceksin (OpenMPI, mvapich vs.)? Hangi dilde yazacaksın, bir derleyici sargısı (wrapper) kullanacak mısın? Bu seni sınırlandırır mı? Veya sen kendin mi benzer bir MPI kütüphanesi yazacaksan? MPI senin için bir araçsa bunu ne için kullanacaksın?

Eğer bir MPI kütüphanesi yazmayacaksan ve MPI senin için sadece bir araç olacaksa, bunu ne için kullanacaksın? Bu soru diğer soruların cevaplarını da yönlendirecek aslında. Çalışmak istediğin alanda bir problem bul, bunu MPI ile çözmeye çalışabilirsin. Algoritmayı paralel hale sokman gerekebilir. Veya yeni bir algoritma geliştirmen gerekebilir.

Ben veri madenciliği ile ilgileniyordum, bu yüzden bu alanda bir problem seçtim (sık nesne kümeleri madenciliği) ve bu alanda ne yapabileceğimi araştırdım. Sonra iyi bir algoritma dikkatimi çekti (CLOSET+) ve bunu nasıl paralel bir şekilde MPI ile çalıştırırım diye düşündüm. Algoritmayı değiştirdim ve MPI ile uygulamayı yazdım. Bundan sonra performans testleri kaldı ve başka çeşitli iyileştirmeler.

Yani genel olarak önereceklerim: Hangi alanda çalışmak istediğinize karar verin. Bu herhangi bir Bilgisayar Bilimleri alanındaki bir problemi paralel çözüm uzayına taşımak olabilir veya direk olarak MPI kütüphanesi geliştirmek, bunları servis olarak açmak vs. de olabilir. Sonra bu seçtiğiniz alanla ilgili olarak tüm gelişmeleri takip edin. Bu konuda benim takip ettiğim metod en eski makalelerden başlayarak en güncel makalelelere kadar okumak. Böylece büyük resmi görebilirsiniz (big picture - kelime kelime çeviri oldu, özür dilerim bazen ingilizce düşünüyorum). Ve böylece yeni çözümler için aklınıza fikirler gelebilir. Bundan sonra yapmanız gereken güncel çözümlere yeni neler getirebileceğinizi düşünmek olacak. Bol bol araştırın, problemi farklı bilimlerdeki çözüm uzaylarına yansıtın (özellikle matematikten ağaçlar, çizgeler, çeşitli geometrik 3 boyutlu şekiller) ve daha rahat bir çözüm bulun. Genel olarak çalışmak istediğiniz alandaki en iyi konferansları takip edin, bunlardan çıkan makaleleri okuyun. Alanınızdaki en iyi hocaları, okulları, konferansları takip edin. Siz takip ettikten sonra bence geliştirmek isteyeceğiniz bir problem ortaya mutlaka çıkacaktır.

Bundan sonrası motivasyon işi, benim kötü olduğum bir alan. O yüzden sonrası için kolay gelsin.

Bonus: Türkçe Yüksek Başarımlı Hesaplama Konferanslarından biri Nisan’da ODTÜ’de olacak. Detaylar için BAŞARIM 09 anasayfasına bakabilirsiniz.

Bonus2: Benim de BAŞARIM 09’a kabul edilen bir makalem var. Bunu burada yayınlayacağım, birkaç hafta içinde. BAŞARIM 09’da sunumda yapma planlarım var (eğitim odaklı bir sunum olacak, debugging konusunda olabilir), buna da beklerim.

ntvmsnbc blog sayfası

NTVMSNBC blog sayfasından bir alıntı:
<blockquote>ASP.NET, IIS ve SQL Server gibi en yeni Microsoft teknolojileri üzerine kurulmuş olan [yeni ntvmsnbc.com altyapısı]…</blockquote>
Bunu okuyunca doğal olarak düşündüm. ASP.net, IIS ve MS SQL Server. Ve “en yeni Microsoft teknolojileri”. Üzgünüm ama hiç de uyumlu gelmiyor. ASP.net ve IIS’e üniversite 2. sınıfta, yani bundan 5 sene önce zorunlu yaz stajım sırasında bakmış, ODTU IMS’in dinamik bir sayfasını hazırlamıştım. Uydudan gelen veriler işleniyor ve web sayfası güncelleniyordu. MS SQL Server ise birçok kez inceleyip kullandığım, şahsi kanaatimce MySQL ve PostgreSQL’den oldukça geri bir veri tabanı. IIS ise Apache’nin yanında lafını bile edemeyeceğim kadar kötü bir web sunucusu bana göre. Wikipedia’da küçük bir araştırma yapınca ASP.net‘in 2002’de, IIS‘in en az 10 sene önce, MS SQL Server‘ın ise ilk olarak 1989’da (!) çıktığını görebiliyoruz. ntvmsnbc’de çalışanların en yeni teknolojilerden anladıkları bu ise vay hallerine. Gerçi sitenin tüm altyapısını msnbc.com‘dan almalarına bakarak ne kadar yetenekli (!) bir yazılım bölümleri olduğunu anlayabiliyoruz. Şimdiden ortaya çıkan Chrome, Firefox ve Opera sorunlarında onlara kolay gelsin diyoruz. Yazılımını kendin üretmeyip Mikisoft’tan alırsan başka ne beklersin ki? Microsoft standartlara en az uyan firma ve bunu kullanıcılarınıza ödetiyor, üstüne de adamlara para veriyorsunuz.

Yazının başında alıntıladığımız blog’ta yazılan cümleler ise bir yazılım bölümünün bir pazarlamacıya emanet edilmesiyle olacakları göstermesi açısından önemli. Keşke ders alınsa.

ntvmsnbc.com haberciliğini tarafsız bulduğum, magazine kaçmayan saçma sapan haberler üretmeyen bir siteydi. Çıkardıkları blog sayfası ise Türkiye’de çoğu şirketin kurumsal blog sayfası yokken güzel bir hareket oldu. Keşke yazılım konusunda da durum böyle olsaydı.

Güzel bir uyarı

peanutbutter:/home/tayfun# aptitude purge mdadm
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done
The following packages will be REMOVED:
mdadm{p}
0 packages upgraded, 0 newly installed, 1 to remove and 3 not upgraded.
Need to get 0B of archives. After unpacking 791kB will be freed.
Do you want to continue? [Y/n/?]
Writing extended state information... Done
(Reading database ... 184934 files and directories currently installed.)
Removing mdadm ...
W: mdadm: I'll update the initramfs, but if you need MD to boot
W: mdadm: with initramfs, you'll be screwed!

Haha, neyse ki boot bölümü raid üzerinde değil.