Sep 292009
 

Sanirim 2 yildir irc.freenode.net’e giris yapmiyordum. Haliyle o kadar yil sonra giris yapmayinca kullanici hesabim kapanmis. Ancak kapanmasinin yaninda bir baskasi tarafindan alinmis. Artik Freenode’de uzun bir sure kullandigim Challenger ismi yerine yasarix’i kullanmaya baslayacagim.

Sep 262009
 

Bugun umask ile ilgili ilginc bir sey gordum. Normalde konsolda umask yazinca karsiniza 0022 gibi bir deger cikacaktir. Buradaki ilk 0 sticky bit hanesi, diger sayilar ise sahip, grup ve diger kullacilar haneleri icindir. Sirketteki gelistiriclerden birinin hesabindaki umask degerini 0002 yapmak istedim. Ancak ilginc bir seyle karsilastim. umask ciktisina aldanip .bash_profile dosyasinda umask 0002 yazdim ve dosya olusturmak istedigimde dosyanin erisim izinlerindeki grup ismi yerine 512 seklinde bir deger gordum. Kullanicinin bulundugu on tanimli grubun gid’si 514 idi ve 512 gid’sine sahip bir grup da yoktu. .bash_profile’daki umask 0002 satirini umask 002 seklinde degistirince bu sorun ortadan kalkti. Sistem ilginc bir sekilde umask degerini kullanicinin gid’sinin degerinden cikarip ortaya cikan sonucu, dosyanin sahibi olan grup olarak atamisti. Belki de sorun creat() cagrisiyla ilgili bir seydir. Bu durumu gordugum sistem Linux’ta idi. Ancak sirkette herhangi bir BSD olmadigi icin denemis degilim.

Ek: Ayni seyi Mac OS X’de denedigimde umask olmasi gerektigi gibi calisti ve dosyanin gid’si degismedi. Sorun Linux’a ozel.

Ek-2: Ayni seyi 2.6.26 surumlu cekirdege sahip bir Debian ile denedigimde de umask olmasi gerektigi gibi calisti ve dosyanin gid’si degismedi. Sorun denedigim makine uzerindeki 2.6.18 cekirdeginde veya makine uzerindeki CentOS’de (ya da Red Hat tabanli diger sistemlerde de olabilir.

Sep 252009
 

Bilgisayar dunyasi icin “tarihi eser” niteligi tasiyacak kitaplar okumayi cok seviyorum. Cunku hem onceki teknolojileri, hem gunumuz teknolojisine ve fikirlere nasil ulasildigini anlamayi sagliyorlar. Bircogunun icerigi guncelligini yitirmis gibi gorunse de bugunku teknolojilerin temellerini olusturan bilgiler iceriyorlar.

Bazilari da guncelligini hic yitirmiyor. Ornegin “The UNIX Programming Environment”. Brian Kernighan ve Rob Pike tarafindan yazilmis ve UNIX isletim sistemi altinda programlamayi anlatan bu kitaptaki cogu bilgi hala gecerliligini korumakta.

Bu tarz eski kitaplari okumak ayni zamanda gunumuz kitaplarinda yuzeysel olarak anlatilmis veya hic anlatilmadan sanki her seyin basindan itibaren oradaymis gibi gosterilmis bazi kavramlarin anlam kazanmasini saglayabiliyor. Cok basit bir ornek: EOF, NULL, TRUE, FALSE vs. gibi kavramlar, guncel C kitaplarini okuyan birisi icin en basindan beri sanki oyle bir veri turu varmiscasina algilanabilir. Ancak eski bir C veya UNIX ile ilgili programlama kitabindaki kod orneklerine bakildiginda, bunlarin aslinda define ile tanimlanmis ve degerlerinin 0 ve 1 gibi integer degerler olduklari gorulecektir. Guncel C kitaplarinda dosya olustururken stdio.h (bu baslik dosyasi guncel kitaplar sayesinde okuyucular tarafindan sanki besmeleymis gibi algilanir) dosyasi include edilip (“include etmek”! kendimden nefret ettim bir anda) fopen() fonksiyonu cagrilirken, The UNIX Programming Environment’taki kod orneklerinde UNIX’teki standart dosya olusturma cagrisi olan creat() fonksiyonunun kullanildigi gorulur. Bu da okuyucunun aslinda fopen() fonksiyonunun creat() gibi sistem cagrilarini kullandigini, aslinda stdio.h’in C’de “besmele” olmadigini anlamasini saglar.

Tabi bu tarz eski kitaplari edinmeye ABD’ye geldikten sonra baslayabildim. Cunku Turkiye’de bu tur kitaplari bulmak oldukca zor iken, Ebay’de son derece mumkun. Hatta bazi kitaplari bulduguma oldukca sasiriyorum. Ornegin en son aldigim “Programming Under Mach” adli kitap. Mach cekirdegi ile programlamayi anlatiyor ve artik Mach cekirdegi (en azindan orijinali) aktif olarak gelistirilmiyor olmasina ragmen bu kitabin hala oralarda dolasmasi oldukca sasirtici. Bulduguma sasirdigim bir baska kitap da bizzat Gordon Letwin tarafindan yazilmis “Inside OS/2” adli kitapti.

Bunlarin disinda, “Design and Implementation of 4.3BSD UNIX Operating System” ve “Dragon Book” adiyla anilan “Compilers – Principles, Techniques and Tools” buldugum diger cok degerli ve eski kitaplar.

Peki bunlarin hepsini aldigim gibi okuyor muyum? Hayir. Sadece her zaman kitaplari bulmak mumkun olmayabilir dusuncesiyle buldugum zaman aliyorum. Firsat buldukca da yavas yavas tadini cikararak okuyorum.

Sep 232009
 
  • Baska bir teknik konuyu anlatan kitap alma/okuma,
  • Baska bir teknik konuyla ilgili haberler okuyup, konunun icerisine girmeye kalkma,
  • Baska seylerle kafani doldurma,
  • Duzenli uyu,
  • Is yerine erken git ki erken cikabilesin, aksama ailenle ilgilenip, sonra da uykun gelmeden bilgisayar basinda proje hakkinda bir seyler yapabilecek vaktin kalsin,
  • Forumlardan uzak dur,
  • E-posta listelerini takip etmeyi bir sureligine kes,
  • Kullandigin isletim sisteminin orasini burasini kurcalamayi birak, cunku emin ol dunyadaki bilgisayar kullanicilarinin %95’i bunu yapmadan da islerini hallediyorlar.