27 Temmuz 2008 Pazar

İlk Emacs Keybinding'im

# Ubuntu'ma RTCmix kurdum. Esas olay bu aslında. Ama onu sonra anlatırım.
# RTCmix score dosyaları amcaya "CMIX < score.sco" denerekten veriliyor. Ben de bir terminalde text editor, oburunde score'u calistirmak icin bir shell kullanmak yerine, hepisini Emacs icinden yapamaz miyiz acana deyu merak ettim.
# Vi'de bu iş için çok basit bir yol vardı. "komut (açık_dosyayı temsil eden işaret)" deyince o shell komutunu açık dosyaya uyguluyordu.
# Emacs'te de M-! ile komut girebiliyoruz ama açık dosyayının adının bir kısayolu yok. Sonracığıma Google'da aranırken (buffer-file-name) deyu bir foksiyon gördüm. Meğersem Emacs'te herhangi bir buffer'da bir lisp komutunun dibine gidip C-x C-e yapınca onu evaluate ediyor.
# Velhasıl araştırmalarım neticesinde şu kodu .emacs'e ekleyince C-c C-r ile açık dosyayı CMIX'e gonderebiliyorum:

(defun render-current-rtcmix-file()
"render rtcmix sco files"
(interactive)
(shell-command (concat "CMIX <" buffer-file-name)))
(global-set-key "\C-c\C-r" 'render-current-rtcmix-file)

24 Temmuz 2008 Perşembe

The Guru

# Avatar'ın "The Guru" adlı bölümünde, Guru Pathik Aang'e çakralarını nasıl açacağını gösteriyor. 20 dakikalık dizi formuna sıkıştırılınca aşırı hız'lı geliyor ve konunun sindirilmesi zorlaşıyor. Yapılan iş basitmiş gibi geliyor, oysa bence her bir aşama çok zor, yani çakra açmak benim yapabileceğim bir iş değilmiş.
# Sözlükten biri üşenmemiş diyalogları transkript etmiş:

guru pathik (g):dünyayı dengeye getirmeden önce kendi iç dengeni sağlamak zorundasın. avatar haline hakim olmak amacı ile bütün çakralarını açmak zorundasın.
aang (a): çakralar da nedir?
g:bu derede akan su, tıpkı insan vücudunda akan enerjiye benzer. gördüğün gibi, suyun üzerinden akmadan önce girdap yaparak döndüğü bazı gölcükler vardır. işte bu gölcükler bizim çakralarımız gibidir.
a:yani çakralar, vücudumuzda helezon şeklinde hareket eden enerjilerden oluşan gölcükler midir?
g:aynen öyle! şayet etrafta yabancı maddeler olmasaydı, bu dere saf ve düzgün bir biçimde akardı. ancak! hayat düzensizdir ve bazı şeyler dereye düşmeye meyledebilir.
a:ve sonra ne olur? dere akamaz mı?
g:evet. fakat gölcükler arasındaki yolları açarsak...
a:enerji akar.
g:vücudumuzda yedi tane çakra vardır. her enerji gölcüğü bir amaca hizmet eder. ve kendine özgü bir takım duygusal pisliklerden ötürü tıkanabilirler. fakat uyarmalıyım ki,... çakraları açmak şiddetli bir deneyimdir. ve bir kere bu sürece başladın mı, yedi çakra da açılana kadar duramazsın. hazır mısın?
a:her ne pahasına olursa olsun yapacağım.
g:ilk olarak toprak çakrası'nı açacağız. kuyruk sokumunda bulunur. hayatta kalmak ile ilgilidir. ve korku tarafından tıkanır. seni en çok
korkutan şey nedir? kendini arındırmak için korkularından kurtul.
(o sırada ateş kıralını falan görür)
g:gördüklerin gerçek değil. hayatta kalma konusunda kaygılısın fakat bütün bu korkularını bırakmak zorundasın. bütün korkularının bu dereden aşağı akıp gitmesine izin ver.
(aang rahatlar)
g:toprak çakra'nı açtın. şimdi sıradaki...
a:su çakrası mı?
g:harika! belki bir gün sen de guru olabilirsin.bu çakra zevk ile ilgilidir ve suçluluk duygusu tarafından tıkanır. şimdi üzerinde ağır bir yük olan tüm suçluluk duyduğun şeyleri gözünün önüne getir.
(kaçıp saklandığı zamanları gözünün önüne getirir)
g:kendini ne için suçluyorsun?
a:kaçtım. bütün o insanları incittim.bu olayların yaşanmış olduğu gerçeğini kabullen. fakat bu olayların, enerjini bulandırmasına ve zehirlemesine izin verme. eğer dünyada, olumlu etkiye sahip bir kişiysen; kendini affetmen gerekir.
(rahatlama sonucu ikinci çakrayı da açar)
g:üçüncüsü ateş çakrası'dır. midede bulunur. bu çakra irade gücü ile ilgilidir ve utanç duygusu ile tıkanır. seni mahcup eden şeyler nelerdir? en büyük hayal kırıklıkların nelerdir?
(ateş bükerken katara'yı yaraladığı anı gözünün önüne getirir)
a:bir daha asla ateş bükmeyeceğim. bunu yapamam.
g:eğer hayatının bu kısmını inkar edersen,bir daha asla dengeyi bulamazsın. sen avatar’sın ve bu
yüzden bir ateş bükücüsün.
(üçüncü çakrayı da açar)
g:bu çakra akan bir dereden ziyade geğiren bir bizon gibi açıldı.
g:dördüncü çakra kalbinde bulunur. sevgi ile ilgilidir ve keder tarafından tıkanır. bütün kederlerini gözünün önüne getir. gerçekten büyük kayıplar yaşamışsın. fakat sevgi, bir enerji biçimidir. ve hep bizim etrafımızda dolaşır. hava göçebeleri'nin sevgisi senin için bu dünyayı hiç terk etmedi. bu hala senin kalbinde ve yeni bir sevgi biçimi olarak yeniden canlanmış. izdırabın akıp gitmesine izin ver.
(dördüncü çakrayı da açar)
g:çok güzel.
g: zincirdeki beşinci halka ses çakrası'dır. boğazda bulunur. doğruluk ile ilgilidir ve yalanlar tarafından tıkanır. kendimize söylediğimiz yalanlar.
(o sırada katara’yla ilk tanıştıkları zaman geçen bir diyalog gözünün önüne gelir)
k:avatar olduğunu neden bize söylemedin?
a:çünkü avatar olmayı hiç istemedim.
g: kendi yaradılışın hakkında yalan söyleyemezsin. avatar olduğunu
kabullenmek zorundasın.
(beşinci çakrayı da açar)
g:çok güzel aang.doğruluk çakrasını açtın.
g:bir sonraki enerji gölcüğü işık çakrası'dır. alnının tam ortasında bulunur. anlayış ile ilgilidir ve yanılsama tarafından tıkanır. bu dünyanın en büyük yanılsaması,ayrılma yanılsamasıdır. ayrı ve farklı sandığın şeyler aslında birdir ve aynıdır.
a:dört ulus gibi mi?
g:evet. aslında hepimiz bir insanız fakat ayrı olarak yaşarız. hepimiz birbirimize bağlıyız.
a:her şey birbirine bağlı.
g:bu doğru. dört element arasındaki ayrılık bile bir yanılsamadır. şayet zihnini açarsan,elementlerin bir olduğunu görürsün. bir bütünün dört parçası. metal bile sadece, arındırılmış ve arıtılmış topraktan ibarettir.
(bundan sonra toph’un metal bükme sahnesine geçer ve altıncı çakrayı da açar)
a:bu son çakra, değil mi?
g: evet. bu çakrayı bir kere açtın mı, istediğin zaman avatar hali'ne girip çıkabileceksin. ve avatar hali'ne girdiğin zaman... kontrolü senin ellerinde olacak ve bütün hareketlerinin farkında olacaksın.
a:hadi yapalım şunu.
g: düşünce çakra'sı kafanın üst bölümünde bulunur. saf kozmik enerji ile ilgilidir. ve dünyevi bağlılıklar tarafından tıkanır. seni bu dünyaya neyin bağladığı hakkında iyice düşün.
(bu sırada katara aang’in gözünün önüne gelir)
g:şimdi seni bağlayan tüm bu şeylerin gitmesine izin ver. bu nehir boyunca
aksın hepsi içinden. unut onları.
a:ne? katara'yı neden bırakayım ki? ben... ben onu seviyorum.
g:ondan vazgeçmeyi öğren, yoksa evrenin saf kozmik enerjisinin içine akmasına mani olursun.
a:neden saf kozmik enerjiyi katara'ya tercih edeyim ki? ona karşı bir bağlılık duymakta ne kötülük olabilir? hem üç çakra önce bu iyi bir şeydi.
g: ondan vazgeçmeyi öğrenmek zorundasın.
a:özür dilerim fakat katara'yı bırakamam.
g:aang, avatar hali'ne hakim olabilmen için bütün çakralarını açmak zorundasın. teslim et kendini.
a:pekala. deneyeceğim.
g:bağlandığın şeyleri düşün. ve bırak onları. saf kozmik enerjinin
akmasına izin ver.
(o sırada katara’nın tehlikede olduğunu görür)
a:katara tehlikede. gitmeliyim.
g:hayır aang! bağlandığın şeyi seçmekle çakranı kilitledin. eğer şimdi gidersen, bir daha hiçbir şekilde avatar hali'ne giremeyeceksin.
(ve son çakrasını açamadan gider)
(merhum, 14.06.2008 10:36 ~ 11:15)
#13446451

GNU Screen

# Müthiş bir aparat.
# Bir dene putty ilen muhtelif miktarda shell açmayı sağlıyor. Dahası "detach" ettikten sonra açık kalan programlar kapanmıyor, istendiği vakit, başka bir bilgisayardan dahi, bağlanıp kullanıma hazır şekilde bekliyor.
screen
# deyu açılıyor.
CTRL+a c
# yeni pencere yaratıyor.
CTRL+a SPACE, CTRL+a n, CTRL+a p, CTRL+a (PencereNo)
# ile pencereler arasında geziniliyor.
CTRL+a " ve CTRL+a w
# ile açık pencereler listeleniyor.
CTRL+a A
# ile açık olan pencereye isim veriliyor.
CTRL+a d
# ile detach olunuyor.
screen -r
# ile detach olunmuş screen session'a geri dönülüyor.
CTRL+[
# ile copy işlemine başlayacağımızı söylüyoruz. Sonrasında
ENTER
# ile kopyalanacak yerin başını işaretliyoruz. İkinci bir
ENTER
# ile kopyalancak yerin sonunu işaretliyoruz. İstediğimiz pencereye gidip
CTRL+a ]
# diyerek paste işlemini sonlandırıyoruz.

http://www.linuxhacks.org/tutorials/jakes_gnu_screen_tutorial.php
GNU Screen: an introduction and beginner's tutorial

13 Temmuz 2008 Pazar

Royal Botanic Garden'daki Bitki Duyarlı Robot Müziği


THREE PIECES sound installation from Ziggy Campbell on Vimeo.
# Bahçenin muhtelif yerlerine konmuş sensör ve tetikleyicilerle Çin'imsi müzik icra ediyorlar. Dinlediğim otomatik müzik icra eden enstelasyonların en güzellerinden biri.

The “mood” of the musical robots is actually affected by the plants:

The moisture content of the soil changes slowly as the plants absorb water, while on a much faster timescale, the temperature changes in the building as animals, including humans, move about. The installation detects this living presence in the Palm House and the music changes accordingly. The robots react to humans, but their mood alters with the plants.

9 Temmuz 2008 Çarşamba

ContextFree.js ve Algorithm Ink

# Sitemiz şu: http://azarask.in/projects/algorithm-ink/ Dudak uçuklatan bir Javascript tabanla web uygulaması.
# Processing.js'nin Processing kodunun çıktısını html canvas objesine dökmesi gibi ContextFree.js de Context Free'nin çıktısını plot ediyor. Çok sade bir dille recursive çizimler, fraktal gibi yapılar hazırlamak mümkün. İşte Algorithm-ink de bu kütüphanenin online ve hazır bir şekilde kullanıcılarını beklediği site. Beğenirsen kodunu sitede host ettirebiliyorsun.
# Bugün şunları yaptım: Deniz Yıldızı ve Koch Eğrileri.

FTP

# File Transfer Protocol.
# Şimdiye kadar hep grafik arabirimli aracı programlarla dosya gönderme, indirme işlerini yaptıydım. Geçen gün ilk defa konsoldan kendi komutlarıynan kullandım. Mutlu oldum.
# server komutlarımız cd, get, mget, pwd. client komutlarımız lcd, put, mput. (m'li versiyonlar'da * vs. kullanilabiliyor)
# laylay...

3ds Max'te Midi Üzerinden Motion Capture

Arduino to 3D Studio Max from melka on Vimeo.

# Wii kumandasinin konum bilgisini Ardunio ile alıp Processing ile MIDI'ye çeviriyor, oradan MidiYoke'a gönderiyor, oradan Ableton Live'a oradan da 3DS Max'in midi datasını harekete map eden bölümüne...
# Ben de zamanında midi klavye çıktısını, piyano modeli'nin tuşlarının basılması animasyonunu üretmede kullandıydım. Laylay...
kaynak

3 Temmuz 2008 Perşembe

Ruby on ATI

# Ruby'nin muhabbeti geçince, bakayım Sözlük'te Ruby hakkında ne demişler dedim. Dolanırken ATI'nin ekran kartlarının kutularında resmi olan bilgisayar çıktısı bayanın isminin de Ruby olduğunu öğrendim. Sevinç'in GitS seyrederken eleştirdiği o koca göğüslü, erkeğe yönelik çizilmiş, dövüşçü tipleme.# Site'de Ruby'nin bir takım vidyoları var. En alttaki "Meet the Creators" Epeydir 3D animasyon muhabbetiyle ilgilenmemiştim. Bu vidyoda bir animasyon stüdyosunda müşteri için hazırlanan projenin nasıl yürüdüğüne dair ayrıntılı bilgi var. Ben çok bilgilendirici buldum: Önce konsept çalışmaları, kahraman yaratımı, müşterinin ne dediğini anlama ve karakalem çizimlerle müşteriyi ikna etme. Mekan tasarımı. Hareketli storyboard. Karakterlerde detay. Modelleme. Motion capture verisi alma. Texture hazırlama. Işık mışık.
# Sonra fark ettim ki, bütün bu çalışmalar, ATI kartıynan real-time render edilecek bir teknoloji demosu için yapılıyor! O vakte kadar animasyonu pek beğenmemiştim. Bunun bir 3d yazılımın render çıktısı değil, kartın imkanlarının dibine vuran bir çalışma olduğunu fark edince stüdyoyu takdir ettim.

Web Crawlers

# Geçenlerde Kaya aradıydı. Okuldaki tüm çalışanların görevlerini, dahili telefonlarını ve mail adreslerinin yazılı olduğu "table"lardan oluşan sayfalar var. Ana sayfada soyadların baş harflerine göre ayrılmış listelere link'ler var. O listeleri içeren sayfalarda da her çalışan için ayrı bilgi sayfalarına link'ler var. Kaya bana tüm bu sayfalar silsilesinden herkesin adı soyadı, telefon nosu ve mail adreslerini içeren tek bir tablo oluşturup oluşturulamayacağını sordu.
# Ben de "Java da böyle bir şey yapmak mümkün herhalde, çalışır iki hafta içinde yapabilirim sanırım" dedim. Tek network deneyimim bir url'yle bağlantı kurup, UDP protokolüyle veri göndermek olmuştu. Oradan Java'nın hali hazırda muhtelif protokollerde veri gönderip alabileceğini biliyordum.
# Sanırım Kaya'nın daha acelesi vardı, yahut daha kolay yapılmasını bekliyordu ki, "ben sana döneceğim" deyip kapadı.
# Dün ise Barış ve Bahadır'la oktopus kafe'de otururken, Barış'ın Bahadır'ın oynadığı Travian'ı otomatik oynayan bir bot yazdığı muhabbeti açıldı. Bence zaten yapacağın işi belirleyip, otomatikleştirdikten sonra bot yazmak, mouse'la tıklayarak oynamaktan çok daha zevkli!
# Hali hazırda Ruby'le yazılmış dandik bir bot mevcutmuş. Barış onu epey geliştirmiş. Bahadır'ın istekleri doğrultusunda da geliştirmeye devam ediyor. Ruby dediğin Python gibin bir scripting diliymiş. Url'lere bağlanıp, sayfayı indirip, muhtemelen hali hazırdaki parser'larla link'leri ayrıştırıp, formlara veri girmek vs. Ruby ile kolayca yapılıyormuş.
# Kaya'nın isteği aklıma geldi, ona danıştım. Barış da bana "webcrawlers" anahtar kelimesini verdi. Zaten daha geçen gün Google'ın botları tarzı tüm internet'i tarayan programların, internet trafiğinin epey bir kısmını işgal ettiklerine dair spekülasyonları yapmıştık Bahadır'la. Bayağı derya muhabbetmiş. Arxiv.org'ta da mesela tüm makaleleri indirmeye çalışan botlara müsamaha göstermeyeceklerine dair uyarılar da dikkatimi çektiydi.
Robots Beware: indiscriminate automated downloads from this site are not permitted.
# Neyse efendim, bir siteden belli pattern'lara uyan verileri derlemeyi sağlayacak hazır bir yazılım var mı diye arandım. Genelde framework'ler, pattern matching, recursive url scanning vs. işlemleri yapan class'ları içeren kütüphaneler vardı.
# Bir de WebSphinx deyu bir programa denk geldim. Başlangıç url'sini, kaç link derinliğe inileceğini, gelinen yerde ne yapılacağını (sayfaları tek tek kaydetme (save), tüm sayfaları tek bir dosyaya kaydetme (concetenation), sadece belli pattern'lara uyan bölümleri kaydetme (extracting), işaretleme) belirliyorsun. O programla (muhtelif hafıza kullanımı sorunları dışında) rahatlıkla bu tabloyu oluşturabildim. (Türkçe karakterlerden İ ve Ş'de sorun oldu sadece)
# Ama sonra bu listenin muhtelif spam faaliyetlerinde, listeyi teslim edeceğim kişinin ahlaktan yoksunca kendi reklamını yapıp başkasını rahatsız edici şekilde kullanacağını düşünerek Kaya'ya göndermekten vazgeçtim. hehe.
# Şurada da Java'ynan webcrawler yazmakla ilgili 1998'den kalma eski bir yazı var.

2 Temmuz 2008 Çarşamba

Harakiri

# Cbs'te Japonya'da intiharın toplum tarafından nasıl algılandığına dair acayip bir haber okudum. Haberi hazırlayanın kendi kültürünün perspektifini nasıl normal bellediğinin güzel bir örneği aynı zamanda.
# Samuray kültürünün ve Budizm'in intiharı kabul edilebilir kıldığından başlıyor. Samuray'lar intiharı utançtan kurtulmanın gurur duyulası bir metodu olarak kullanıyorlarmış. Amerika'da bu zihniyet ile İkinci Dünya Savaşı'nda kamikaze yapan Japon pilotları aracılığıyla tanışmış.
Japanese people have an interesting mentality, explains Yoshinori Cho, director of the psychiatry department at a leading Tokyo hospital. He told us the Japanese glorify suicide.
# Ne acayip. Buradan mentality'nin ithal bir kavram olduğunu çıkarttım. Hayatta kalmanın en üstün değer olduğu ortamda icat edilen psikoloji uzak coğrafyalara gittiğinde "interesting" case'lerle karşılaşıyor. Doktorlar Budizm'i intiharı teşvik etmese de yasaklamamakla eleştirmişler.
# 98'de 30bin kişi intihar etmiş. Toplu intiharlar olmuş. "birlikte intihar edilecek arkadaş aranıyor" tarzından ev arkadaşı arayışı rahatlığında ilanlar verilmiş.
There is another positive change; While men in their 50s are embarrassed about needing therapy, Japan's younger generation is more open to seeking help. Also, there is finally official recognition that mental illness can lead to suicide.
# Katı bir toplumsal yapının içine ata ata patlayan maço bireyler yaratması övünülecek bir durum değil ama (Japon'ya böyle bir yer demiyorum tabii, fikrim yok) psikolojinin ekonomik düzenin devamının sağlanması için bireylerin telkin edilmesi olduğunu düşünüyorum. İşine gidebildiğin, yaşamını etkilemediği sürece sorunun önemli değildir. Keza herhangi bir problemin çözümü için, son noktadan başlar: insandan. Oysa bir çok sorunun kaynağı toplumsal yapı, çevre değil midir ki falan.
For the for the first time ever, Japan is looking at suicide as something perhaps caused by mental illness. Suicide is finally being viewed, not an act of glory, but the last act of despair.
# Ne mutlu!

Big Buck Bunny


Big Buck Bunny from Blender Foundation on Vimeo.
# Big Buck Bunny Blender'la yapılan ikinci open source animasyon sanırım. (İlki Elephant's Dream'di, epey de soyuttu) Bayağıdır haberleri döneniyordu. Nihai çalışmayı izlemek bugüne nasipmiş.
# Görsel açıdan şahane! (Yani Pixar kalitesiyle kıyaslama yapmak kaçınılmaz ama şahanelik kadro organizasyon, yani emeğe saygı kriterleri değerlendirmeye girince geçerli oluyor) Ama senaryo boş. Hatta senaryo yok.

Tunguska'nın şifresi çözüldü (mü?)

# Scientific American'da okuduğum son makale, zamanında Bilim Teknik'in eski sayılarından birinde okuduğum ve ne olduğu merak ettiğim Sibirya'nın Tunguska bölgesinde 1908'de meydana gelen büyük patlamanyla ilgiliydi.
In 1975 Ari Ben-Menahem, a seismologist ... analyzed the seismic waves triggered by the Tunguska event and estimated that the energy released by the explosion was between 10 and 15 megatons in magnitude, the equivalent of 1,000 Hiroshima atomic bombs.
# Patlamanın şiddeti çok büyük. Bir krater, yahut çarpışma artığı bulunamadığı için de muhtelif spekülasyonlara gebe. Düşen bir uzay gemisi olduğuna inananlar bile var. Ama bilimsel muhabbetler bir kuyruklu yıldız, sert/ağır olmayan bir maddeden müteşekkil bir asteroid olduğu yönünde.
Florensky, that reported their discovery of a small body of water, Lake Cheko, roughly eight kilometers from the suspected epicenter of the phenomenon.
# Zamanında Tunguska'da bir gölün tespit edilmesi üzerine bizim amcalar da takım taklavatı toplamışlar. Bölgeye gitmişler. Muhtelif incelemeler, biyolojik veriler gölün 1908'den önce oluştuğu yönünde. Ama göl yüzeyinin akustik-eko vs. aparatıyla çıkarılan topolojisi Sibirya'daki diğer göllerin aksine düz değil koni biçiminde çıkmış. Gölde de biri epey genç biri yaşlı olmak üzere iki farklı katman olduğunu fark etmişler. Yaşlı olanın çarpışmadan önce orada mevcut olan bitki örtüsünden kaynaklanabileceğini düşünmüşler. Ve en bombası: Manyetik ölçümler gölün dibinde, yer yüzeyinin altında bir metre çapında bir cismin varlığına işaret etmiş. Tekrar gidip gölü delmeyi düşünüyorlar.