August 2008 Archives

31-08-2008 16:14:08

Sonunda!!! Joystick çalıştı!!!

Bir vakittir, canım arkadaşlarımın doğum günü hediyesi olarak aldığı, Ergin üstadın çalıştığını söylediği, dehşetengiz joystiği çalıştırmaya çalışıp, çalıştıramamaktaydım.

Amacım wine ile yüklenmiş ve çalışmakta olan Falcon 4.0 oyununda bu joystick ile uçak uçurabilmekti. Ama nedense bazı tuşlar ve dönüş yönleri beklenen şekilde çalışmıyordu. Ergin üstad bunun bir çözüm yolu olduğunu söylediyse de ben bulamamıştım.

Ancaaak o gün geldi ve bugün çözümü buldum. Unutmadan anlatayım:

wineconsole regedit

Komutu ile açtığımız dandikler ötesi registry sisteminin şurasındaki: HKEY_CURRENT_USER/Software/Wine/ , Wine klasörünün üzerine sağ tuşlan basıp New/Key diyoruz. Bu "key" in adı DirectInput oluyor. Sağ tarafta çıkan dandik ötesi girdi yerine de yine sağ tuşla basıp "New/String Value" diyoruz. Yine çıkan dandik girdinin üzerine sağ tuşla basıp "rename" diyince çıkan kutuya Logitech Logitech Extreme 3D yazıyoruz, sağ tuşla basıp "modify" deyip değer olarak X,Y,Rz,Slider1,Hat0,Hat0 yazıyoruz*.

Sonra oyunu açıyoruz ve paşalar gibi wine üzerinden uçak oyunu oynuyoruz. Dadından yenmez!

* Kaynağa bağlantı

Posted by Can Kavaklıoğlu | Permanent Link | Categories: Linux

29-08-2008 23:28:26

Bugün

Linux labı kurma çalışmaları sabah erkenden başladı. Bugünün bulguları:

/var/log/auth.log ne güzel bir dosya imiş. İçerisinde sisteme kim girdi, niye girdi, niye giremedi gibi güzel bilgiler varmış.

Hard link ne de ilginç bir şeymiş, hiç bir işe de yaramazmış : ) ls -li ile inode numarası ile kontrol edilirmiş.

tee komutu da ilginç bir komutmuş. Sanırım hiç bir işe yaramıyor.

Geçen gün Serhan'dan öğrendiğim getent komutu da güzel bir komut gerçekten, belirtmek lazım. Kimin ne olduğu söyleyebiliyor getent passwd şeklinde.

Peşinden sistem kontrol giriş sınavına gözetmenlik yaptım.

Ordan çıkınca geç bir saate kadar Linux labına yükleme paketi oluşturdum güzel oldu. Sanırım işlem tamam.

Posted by Can Kavaklıoğlu | Permanent Link | Categories: Günlük

28-08-2008 23:24:29

Bugün

Multivac üzerinde mersenne numarası arama programı düzgün olarak çalışmakta, seyir için:

http://robot.cmpe.boun.edu.tr/~ckavaklioglu/mersenne

http://robot.cmpe.boun.edu.tr/~ckavaklioglu/mersenneOutputs

Bir de buraya yazmadığım primenet sayfası var.

Lab kurulumu ilerlemekte, ldap gereksinimi ortaya çıktı, herşeyimle karşı koyuyorum : ) Son bir kozum var yarın denemek için ldap'a karşı.

/etc/network/interfaces dosyasında pre-up ve post-up komutları şahane imiş. Gerekli route komutları oradan verilebiliyormuş.

Serhan'a teşekkürler, mkhomedir isimli pam modulü, home klasörü olmayan kişiler giriş yaptığında hemencecik bir tane yapabiliyormuş kendiliğinden.

Posted by Can Kavaklıoğlu | Permanent Link | Categories: Günlük

27-08-2008 21:37:23

Kahve Dünyası ve koltuk

Kahve Dünyası dünyanın en kaliteli (hem fiyat, hem ürün kalitesi açılarından) dükkanıdır. Nokta.

Artık bir Bürsosit Shadow 9 sahibiyim. Ne mutlu bana, darısı herkesin başına. Bence herkes biriktirsin parasını alsın, gerçekten dehşetengiz bir gerek. Ancak ladıktan sonra anlaşılıyor gereği. Çok denedim olmamıştı ama galiba şimdi oldu.

Posted by Can Kavaklıoğlu | Permanent Link | Categories: Günlük

27-08-2008 20:05:34

Bugün

Bir kısım asistanlık işlerinden sonra, cevher sanal sunucusunu kurdum. Ertan'ın sorunları sayesinde 32 bit kernel kullandığımı öğrendim. Hemmen debian deposundaki amd64 kernelini indirdim. Wine 1.1.3 ü derledim hem 32 bit ile hem 64 bit ile işte sonuçlar:

64 bit kernel ile:

real 10m51.611s user 19m55.015s sys 1m12.865s

32 bit kernel ile:

real 11m10.190s user 20m26.601s sys 1m15.345s

"real" manada %2.9 fark var. İlginç bir durum gerçekten.

Kerberos sistemini öğrenci labına kurma işinde de ilerleme var. KDC'den "ticket" alabiliyoruz. Login'de olabiliyoruz kısım kısım ama normal bir şekilde olamadık henüz. Yarın olcaz.

Posted by Can Kavaklıoğlu | Permanent Link | Categories: Günlük

26-08-2008 22:07:56

Bugün

Kurulum günleri devam ediyor, yakında bir linux labımız olacak.

Bir adet kerberos sunucumuz olacak.

Sshfs kullanan istemcilerimiz olacak.

Bir de isteyen kullanıcılara açık sanal linux sunucumuz olacak. Bunun için bir takım portların açılması gerekiyor tabi.

Bounlug geliyooor! Mis gibi olacak.

Posted by Can Kavaklıoğlu | Permanent Link | Categories: Günlük

25-08-2008 22:18:12

Bugün

Bugün elele'ye vmware kurdum. Bu esnada bir kere daha Ubuntu'nun sudo kullanımının ne kadar saçma olduğunu gördüm. Bir kullanıcı olarak oluşturulan dosyalar, root tarafından açılmış bir arkaplan süreci tarafından görülemiyorlar. Bu yüzden işlerin bir kısmı çalışıyor bir kısmı çalışmıyor. Gel çık işin içinden! Daha doğrusu gel de sorunu anla! Anladıktan sonra düzeltmesi kolay zira.

Günün Linux dersi uzaktan bağlandığın bir makinaya iptables -F, yaani iptables kurallarını sil dememeli! Yoksaa iptables önceden tanımlanmış olan bütün paketleri reddetme haline geçer ve makineye ulaşmadan bu sorun düzeltilemez. Hatta büyük bir özen ile bu hareket tam öğle yemeği saatine denk getirilirse, dadından yenmez, zira sunucu odasının kapısını açacak anahtara sahip olanların hiçbirisi bulanamaz, ortada koşturulur durulur, mis : )

Okuldaki öğrenci labına Linux kurma esnasında hayallerimin deneyimlerini yaşıyorum. Clusterssh ile birden fazla makineye aynı komutu veriyorum, kota uyguluycam,kerberos öğrencem, vavlab sayesinde öğrendiğim sshfs i kullancam, pek güzel olacak : ) Hatta bu esnada route komutunu beklenemeyecek bir başarı ile kullandım bile daha önce hiç yapmadığım bir şekilde, pek güzel, pek güzel : )

Posted by Can Kavaklıoğlu | Permanent Link | Categories: Günlük

24-08-2008 13:46:45

Multivac'tan haberler

2^43770539-1 sayısının bir böleni 4615031656731026036161 imiş.

2^43770539-1 sayısının bir böleni 4615031656731026036161 imiş.

Daha fazla bilgi için:

http://www.mersenne.org

http://primes.utm.edu/notes/faq/why.html

Posted by Can Kavaklıoğlu | Permanent Link | Categories: Günlük

22-08-2008 17:16:13

Bugün

Bugün robot ve cevat kelle güncellendi güzel oldu. Kod istatistikleri günlük olarak yapılıyor. Dahası sistemler eposta atıyor, hem de çatır çatır, exim4 meğer güzel birşeymiş : ) Hmm acaba kendisini mi kullansam hep? Hmm : )

VEEee büyük gün! Multivac kuruldu!!! Olley! Gelsin kağıtlar : )

Pazartesi de Linux labını kurcaz, hadi hayırlısı : )

Posted by Can Kavaklıoğlu | Permanent Link | Categories: Günlük

21-08-2008 20:05:32

Bugün

Bugün diğer bir kurulum günüydü. Vavlab'a dosya sunucusu kurdum. Sshfs kullandım, fuser isimli çalışmanın bir yan ürünü. Dehşet güzel birşey, yapanlara tebrikler.

Bugünün dersleri:

- p4 2.4 işlemciler ters takılabiliyor! Ama bozulmuyorlar, düzgün takınca çalışıyorlar yeniden! : )

- Debian sen ne büyüksün! Dandik Sata disk sürücüsünün görmediği (muhtemelen Linux driverı olmadığı için) diskleri, "install generic.all_generic_ide=1" parametresi ile gördürtürsün, aslansın, kaplansın!

Posted by Can Kavaklıoğlu | Permanent Link | Categories: Günlük

21-08-2008 01:09:38

Dün

Saat 12 yi geçtiği için dün oldu bügun, kadere bak : )

Bugün biraz toparlandım, güzel oldu, bir de karting e gittim Zincirlikuyu'da o da gayet güzel oldu, herkese her daim tavsiye olunur, dehşetengiz zevkli birşey.

Posted by Can Kavaklıoğlu | Permanent Link | Categories: Günlük

19-08-2008 21:12:29

Gördüğüm ilk manalı "pointer pointer"

Kameradan görüntü alma işleri ile uğraşırken ister istemez araya Posix'in Thread'leri girdi. Bu işlerle uğraşırken şöyle bir durum oluştu:

Bir sınıf, elindeki bir objeye bir pointer yolluyor. Bu bir buffer, buraya bir resmin kopyalanması gerekiyor. Çağrılan objenin fonksiyonu diyor ki, yahu belki bu gelen pointer'ın ucundaki buffer'ın boyu yeterli olmayabilir (ki değil gerçekten), ben bir kontrol edeyim:

dest=(unsigned char*)realloc(dest,size);

Sonra da elindeki resmi buraya kopyalıyor:

memcpy (dest, outpict, size);

Bu da güzel. Mi? Değil, hem de hiç değil! Neden? Çünkü bu işleri başlatan sınıf bu durum karşısında "Seg fault" çakıyor! Neden peki neden neden neden!?!?

Barış Kurt'un işaret ettiği üzere, sebebi şu. Kullanılan realloc fonksiyonu, verilen "dest" isimli pointer'ı değil, kendisine yapılan çağrının sonucu olarak döndürdüğü pointer'ın boyunu ayarlıyor! Yani "dest=..." satırındaki sol taraftaki "dest" pointer'ı realloc'un oluşturduğu doğru boyuttaki buffer'a işaret ediyor! Bu "dest" pointer'ı da çağrılan fonksiyonun parametresi olduğundan yerel kaldığı için, çağıran sınıfın elindeki eski pointer bir güzel patlıyor, çünkü boyu düzeltilmemiş oluyor!

Bu yüzden, şu satırları kullanmak gerekiyor:

*dest=(unsigned char*)realloc(*dest,size);
memcpy (*dest, outpict, size);


Dikkat buyrulacağı üzere, buradaki dest ler pointer pointer'ı yani, çağıran sınıfın içindeki pointer'ı gösteren pointerlar. Bu şekilde kullandığımızda, beklenen oluyor, ana sınıfın içerisindeki buffer'ın boyu realloc edilebiliyor.

Vay vay vaay, diyor, Barış Kurt'a gösterisinden ötürü teşekkür ediyoruz.

Bu hatanın sebebi nedir dersek, şudur: işin başındaki realloc'un kullanımındaki eksik tecrübeden ötürü, realloc'un aldığı pointer'ın işaret ettiği yer üzerinde işlem yaptığını düşünmemden sirayetle gelen pointer'ın gösterdiği yeri düzelttiğini sanmam. Hernekadar bu hatayı farkedip, sonradan yerel olarak doğru şekilde çalışacak hale getirmiş olsam da, en baştaki tasarım hatasından kaynaklanan çağıran sınıfın içerisindeki buffer'ın düzeltilmemesi mesele báki kalmış ve hatanın teşhis olunup bertaraf edilme sürecini bir hayli aheste kılmıştır.

Posted by Can Kavaklıoğlu | Permanent Link | Categories: Linux

19-08-2008 20:56:18

Bugün

Kameradan yayın oldu sonunda. Posix Thread'lerini kullanarak çalışan birkaç yapı kuruldu ve çalıştırlar, güzel oldular.

Biraz genel planlama yapmak lazım. Kamera işinin sonu gözüktü gibi. Asıl işlere dönmek lazım, daha gumstix duruyor, amanin amanin!

Posted by Can Kavaklıoğlu | Permanent Link | Categories: Günlük

18-08-2008 21:08:56

Bugün

Oldukça hızlı geçti, ama güzel bir şey oldu, sanki "Thread" denen nesnenin ne olduğunu ve nasıl çalıştığını öğrendim.

Aynı zamanda cplusplus.com' un ne kadar yüce bir bilgi kaynağı olduğunu öğrendim. Thread'ler ile ilgili başka hiçbir yerde olmadığı kadar açık ve güzel anlatılmıştı.

Multivac'ı yine kuramadım, yarın kısmet ise : )

Kamera işleri bitmeli artık, vakit azaldı oldukça.

Posted by Can Kavaklıoğlu | Permanent Link | Categories: Günlük

17-08-2008 16:32:16

Bu haftasonu

domtis isimli geliştirme sunucusu kuruldu. Bunun için

qemu ile bir sürü deneme yapıldı, ilginç bir şekilde qemu üzerinde çalışan disk, asıl makine üzerinde açılmadı.

Bir adet monitör kablosu alıp, olmayan monitör sebebiyle, televizyondan kurulum yapıldı. Oldu. İlginç de oldu. Aslan televizyon.

qemu yöntemi çalışmayınca, cana tak etmesi sebebiyle, teknosa dan 47 ytl ye bir adet, samsung dvd yazıcı alındı, evdeki eski iki cd okuyucunun yapamadığı, cd okuyucu işlevini yerine getirmek için. Alet lightscribe bile yapıyormuş! Hem de 47 ytl ye, vay ...

Yarın multivac'ı kursam ne güzel olur, değil mi?

Posted by Can Kavaklıoğlu | Permanent Link | Categories: Günlük

15-08-2008 22:14:19

Bugün

- Babama gittim, güzel oldu. - Kamerayı istasyondan çalıştırdım, güzel oldu. Bir tek asenkron çalıştırması kaldı. - Bürosit'in Shadow 9'una baktım, o da güzelmiş : )

Posted by Can Kavaklıoğlu | Permanent Link | Categories: Günlük

14-08-2008 21:03:03

Bugün

- Linux laboratuvarı geliyor! Öğrenci/öğretmen dağıtımı bile gelebilir ardından! - VavLab ile görüştüm, sunucularını kurcam. - Bizim büyük sunucuyu kurmak istiyordum, kuramadım, yarın kursam ne güzel olur. - Usb kameradan görüntü alan kodu çalıştırdım!

Posted by Can Kavaklıoğlu | Permanent Link | Categories: Günlük

14-08-2008 10:56:21

Dün

Dün de az bir gün değildi. Bora'yı ve Şehnaz'ı gördüm. Bölümün geri kalanının ağ bağlantısını düzelttim. Bir seri minik işten sonra, Esra ve Kaan'la görüştüm. Hemen ardından Emir ile görüştüm. Ne de sosyal içerikli bir gün olmuş : ) Darısı bugünün başına.

Posted by Can Kavaklıoğlu | Permanent Link | Categories: Günlük

13-08-2008 10:22:59

Dün

Ne gündü dün! - Bora geldi! Hatta bugün de geldi : ) - Kamera win$'de çalıştı! - Suzan hoca ile Linux işleri konuştum, Linux kullanıcı grubu geliyor! - Bölümün bir kısmına Internet bağlantısı ulaştırdım!

Posted by Can Kavaklıoğlu | Permanent Link | Categories: Günlük

11-08-2008 22:39:02

Bugün

Son derece ilginç bir gün idi. Laboratuarın çıkınından bir adet Samsung marka SDC 410 çıktı, ama bu kameranın çıktısını kaydeden kart çıkmadı bütün arayışlara rağmen.

Başka bir sebepten bulunan bir "capture" kartı kullanılacak. Okuldan çıkınca kablo ve adaptör aldım bu karta bulunan kamerayı takmak için. Yarın deniycem.

Bir de sanırım Bürosit'in Shadow 9 isimli dehşetengiz çalışma sandalyesini alcaz galiba : )

Posted by Can Kavaklıoğlu | Permanent Link | Categories: Günlük

08-08-2008 23:32:47

Bugün

Bir kısım asistanlık işlerinden sonra, kameradan birşeyler alabiliyoruz artık istasyondan. Ama henüz gösteremiyoruz. Format nedir ne değildir anladım sonunda, decode fonksiyonunu kopyalamaktayım.

Posted by Can Kavaklıoğlu | Permanent Link | Categories: Günlük

07-08-2008 18:14:45

Bugün

Asistanlık işleri. Doktora ve asistanlık kadro transfer işlerinin sanki bu sefer çektirmeyeceğini öğrenme, oley!

Kameradan birşeyler geliyor, ama sanırım decode edilmeleri gerek. Shared Memory ve Memory Mapping nedir onları öğrendim güzel oldu. Resim alırken Memory Mapping, istasyon aracında asenkron olarak resim gösterirken Shared Memory kullancam. Güzel güzel... Bekle kernel geliyorum : )

Posted by Can Kavaklıoğlu | Permanent Link | Categories: Günlük

07-08-2008 11:32:24

Şapka!

Şapka ne kadar süper bir icattır! Güneşt altında şapşala dönen bir kişi olarak, şapka ile kendimi baştan yaratılmış hissettim bugün, ne kadar güzelmiş : )

Posted by Can Kavaklıoğlu | Permanent Link | Categories: Günlük

07-08-2008 00:40:10

Dün

Saat 12 yi geçtiği için dün oldu bugün. Dün kamera ile uğraştım oldukça. Bir istasyon aracı yazdım. Video4Linux tarafında da birşeyler oldu sanki. Michel Xhaard amcamız sağolsun, kameradan birşeyler geldi sanki, bir de segfault olmasaydı : ) (bu noktada segfault ile ilgili bir türkü yakılmalı). Bugün (yani yarın) kameradan birşeyler alıp görebiliriz.

Posted by Can Kavaklıoğlu | Permanent Link | Categories: Günlük

06-08-2008 16:45:27

Vaio'da Kulaklık

Günün Linux dersi: her alsa yüklemesinden sonra (en azından alsa'cılar bunu düzeltene kadar) kulaklık çıkışının çalışması için:

/etc/modprobe.d/sound

dosyasının içerisine

options snd_hda_intel model=vaio

satırı eklenmeli. Hatırlayınız, hatırlatınız.

Not: Bu işin gerektiği bilgisayar: Sony Vaio VGN-SZ71MN

Posted by Can Kavaklıoğlu | Permanent Link | Categories: Linux

05-08-2008 15:38:06

Bugün

Yine arabayla uğraşılan bir sabahın peşiden (hatta öğlen de uğraşılcak) kamera ile bir takım kararlara varıldı. Görüntü işleme için kullanılacak araç bulundu, kernele mi yaklaşıyoruz ne? : )

Posted by Can Kavaklıoğlu | Permanent Link | Categories: Günlük

04-08-2008 16:23:45

Bugün

Artık günlük girdi giriyoruz, değil mi? Evet.

Sistem güncellemesi, kamerları çalıştırmakla çalışarak geçen, oldukça saçma bir gündü, toparlanmak lazım sürat ilen.

Kameradan v4l ile görüntü alma meselesi biraz kernele doğru gidiyor, ne kadar güzel.

Sanırım şimdilik bulduğum en basit çalışan kod örneği olarak gqcam ile birşeyler yapmayı deneyeceğim. İyi.

Posted by Can Kavaklıoğlu | Permanent Link | Categories: Günlük

04-08-2008 00:55:15

Skype

Helal olsun Skype'a, taa ABD ilen hem kameralı hem sesli, taş gibi konuşturttu!

Posted by Can Kavaklıoğlu | Permanent Link | Categories: Günlük

03-08-2008 13:15:51

Bugünler

Bu hafta tek bir sunucuyu kurdum, tamam ortada sanal bir makine bir de diğer bir cd si bozuk yoktan var olan makine var, ama hala verimsiz hissettirici bir haftaydi. Doyumsuzluktan da olabilir tabi. Ama daha verimli olmasini öğrendiğimi düşünüyorum.

Cem Say hocamıza MIT matematik bölüm başkanı Sipser'ı PvsNP sunumu için okula getirdiği için çok teşekkürler. Son derece etkileyiciydi.

Yapılan diğer işlerden bir tanesi arabayı bakıma götürmekti, başlı başına bir iş kendisi : )

İnanılmaz derecede yavaş yaptığım asistanlık işleri de vardı bu hafta. Bu yaptıklarımı daha sık yazabilmek için her gün yazmalıyım. Mesela dünde Bora'ların Sapanca'daki evine gittik.

Haftanın buluşu, sakiniyetin verim üzerindeki inanılmaz etkisinin farkedilmesi idi. "State space" in inanılmaz büyüklüğünden ötürü, yapılan işlerin çokluğu değil, doğruluğu daha önemli gibime geliyor. Mesela bir sürü uğraşmama sebep olan hatanın bir tanesi domain adında cmpe kısmının unutmam idi. Saçma sapan işler, Ergin bunun böyle olduğunu söylemişti bir noktada. Ergin demişken şu oyuna da bakmak istiyorum.

Bir diğer hata da sunucuda bulunan dnscache in kullanılması için NAT'ın iç tarafındaki makinelere dns makinesi olarak sunucunun değil ana DNS makinelerinin IP lerinin verilmesi idi. Doğruluk, miktardan gerçekten daha önemli.

YÖK elinden geldiğince hayatı cehenneme çevirme çalışmalarında, hadi hayırlısı.

Posted by Can Kavaklıoğlu | Permanent Link | Categories: Günlük