Yaşar'ın Web Günlüğü

    Yaşar'ın hayat hakkında tuttuğu notlar

    Cristian, mobil uygulamalar uzerine calisan bir programcidir. Daha once Wap sitesinin gelistirmesi ve guncellemeler ile ugramisken, sonra Android icin yazilim gelistirmis, simdi ise sirket ondan iPhone uygulamasi gelistirmesini istemistir. Ancak malumunuz olacagi uzere Apple’in iPhone uygulamalari konusundaki politikasi yuzunden, Cristian’in isi simdilik rafa kaldirilmistir. O rahat calissin diye Wap sitesi ile ilgili operasyonlar da Web ekibine verilmis oldugu icin, Cristian adeta sadece ogrenmek icin oradadir. Ustelik bir de Cristian, en yogun calisilan “geri plan uygulamalari” bolumu gelistiricileri ile ayni calisma alaninda oturdugu icin daha da bir tuhaf kacmaktadir.

    Birgun geri plan programcilarindan Indu dayanamaz ve sorar:

    Indu: Su senin iPhone uygulamasi ne zaman cikacak?

    Cristian: Bilmiyorum, su anda gelistirebilecegim bir sey yok. Vardi aslinda ama Apple istemedi. Ben de sadece kitap okuyup denemeler yapiyorum.

    Indu: Yani sirket sana sadece ogrenmen icin mi para veriyor?

    Cristian: Sanirim oyle.

    Gecen gun de web ekibinden birisi, Cristian’in daha once yazmis oldugu bir kod ile ilgili olarak yaptigi yeni bir duzenlemeyi Subversion kayitlarinda gorur ve ona konuyla ilgili bir e-posta gonderir.

    Webci: E-postami aldin mi?

    Cristian: Hayir, neyle ilgiliydi?

    Webci: Senin bir commitini gordum.

    Cristian: Evet, ne olmus? O kodu ben yazmistim.

    Webci: Ben senin artik burada calismadigini dusunuyordum.

    Evet, lutfen, cik hayatimdan. Seninle uzun zamandir suren bir birlikteligimiz vardi. Seni hep sevdim ve ozellikle web programciliginda hep tercih ettim, hep savundum. Hala daha seni web programciliginda savunabilirim. Ama sen de cok iyi biliyorsun ki 4 yildir web programciligi yerine, “back-end” diye tabir edilen tarafta calisiyorum ve mecburen seni kullaniyorum. Ve sen, back-end’de ayni sabahlari daha ayilamamis kaprisli bir kadin gibisin. Hircin, cirkin, suratsiz ve kaprisli. Seni calismasi uzun surecek bir betik icin kullandigimda sacmaliyorsun. Karsilastirma bildirimlerin bazen dogru calismayabiliyor ve dengesizligin beni cildirtacak noktalara kadar varabiliyor. O kadar oluyor ki, seni tum sunucularin disklerinden silmek geliyor icimden. Ama yapamiyorum.

    Python ile ne guzel hayallerimiz vardi. Yeni sistemi sadece Python kullanarak gelistirecektik ve seninle sadece eski platformda calisan servislerin bakimi veya guncellemeleri icin resmi bir iliski kuracaktim. Python ile de tutkulu ve heyecanli bir beraberligimiz olacakti. Ama olmadi. Super is arkadaslarimin yeni bir dil ogrenmek ve kullanmak konusundaki tembellikleri yuzunden, gelistirmekte oldugumuz yeni platformda senden kurtulma planlarim alt-ust oldu. Onlar sayesinde en azindan bir 2 yil daha seni kullanmam gerekecek back-end’de. Ustelik gecenlerde senin yaraticin Rasmus Lerdorf’un Brooklyn’deki PHPTalk’ta soyledigi “PHP web icin tasarlandi, arkaplan icin degil” sozlerine ragmen…

    Daha once seninle yazdigim bazi betikleri, sirf uyku tutmadigi icin sabahin korunde bir de Python ile yazmayi denedim. Nerede senin kaprislerin, nerede Python’un uysalligi?…

    Web’de yine gorusebiliriz ama arkaplan uygulamalari icin soruyorum: Ne zaman cikacaksin hayatimdan?

    Bir programa herhangi bir islevsellik katmadigi müddetçe, programlarin kabuk destegi olmasına hep karsı olmusumdur. Bu konuda yapılmış su yoruma tamamen katılıyorum:
    Whenever a programmer thinks, “Hey, skins, what a cool idea”, their computer’s speakers should create some sort of cock-shaped soundwave and plunge it repeatedly through their skulls.

    Bütün hafta boyunca gerek yeni projeler, gerek eski projeler ile ilgili degisiklikler için rahatsız ettigim sistem yoneticisi artık beni gordukce yolunu değiştirmeye veya saklanmaya başladı. Bugün de 3. kez odasına baska bir programciyla girip, ellerimi ovusturmaya başlayınca sonunda isyan etti:
    SY: Sen bir tatile ciksana
    Ben: Olur. Benim için Cristian (yonetici) ile konuşursan neden olmasın?
    SY: Neden?
    Ben: İznimi kullandım da ondan
    SY: Tamam mesele değil, yeter ki sen git.

    Aksam üstü yorgun oldugum için 1 kutu Red Bull icmeye kalktım. Şimdi saat sabahın 6′si ve yeni yeni uykum gelmeye basladi. Bakalım uyanabilecek miyim?

    CV yazmaktan veya kariyer sitelerindeki ozgecmuis formlarini doldurmaktan oldum olasi hoslanmamisimdir. Kendimi tek bir kaliba uydurarak tanitmaya calismak bana hic dogru gelmiyor. Bugun ilk defa LinkedIn’e giris yaptim ve burada da kendimi belli bir kaliba sokmam istendi. Niyeyse yazacak bir sey bulamadim. Sanki hicbir teknik bilgi, hicbir konuda deneyime sahip degilmisim gibi hissettim kendimi. 10 yillik programcilik bosa gecmis gibi.

    Yeni bir hafta başladı yine. Haftaya son derece dinç ve enerjik başlamak isterdim ama imkansız. Otobüste bari uyuyabilseydim…

    Jamie Zawinski’den guzel bir yedek alma dokumani. Adamin tarzi yuzunden surekli ofiste kahkaha atiyorum.

    http://www.jwz.org/doc/backups.html

    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.

    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.