Tokens — Page 29

Hayat çok ilginç, veya tam bilmeden yargıda bulunmanın zararları

Güncelleme: Durum tekrar yeni bir dönüş gerçekleştirdi :), yazının sonunda.

İstanbul Kent Orkestrası Müdürü ile ilgili, yeteneklerini eleştiren bir mail geldi. Aslında tam olarak eleştiri değil çünkü mesajda herhangi bir yorumda bulunulmuyordu ama bir “eleştiri yapmaya bile gerek yok çünkü her şey apaçık ortada” duruşu vardı. Mesaja bir bakalım:

<blockquote>C. Sevencan, 1954 yılında Trabzon’un Of ilçesinde doğdu.. 1975 yılında tamamladığı ortaöğreniminin ardından, 1976 yılında Samsun Yüksek İslam Enstitüsü’ne girdi ve 1981 yılında mezun oldu. Meslek hayatına 1982 yılında Bitlis Merkez Atatürk Ortaokulu’nda öğretmen olarak başladı. Bitlis ve Samsun’da çeşitli okullarda öğretmen, müdür yardımcısı ve müdürlük görevlerinde bulundu.1994 yerel seçimlerinde Refah Partisi Samsun Tekkeköy İlçe Belediye Başkan adayı olarak seçimlere girdi. Seçimlerin ardın dan aynı yıl içinde İstanbul Büyükşehir Belediyesi Yazı İşleri Müdürü olarak göreve başladı. 1995 yılında atandığı Mezarlıklar Müdürlüğü’ndeki 5 yıllık hizmetinin ardından 1999 yılında İtfaiye Daire Başkanlığı’na Programcı olarak atandı.

01.05.2001 tarihinde Sosyal ve İdari İşler Müdürlüğü’ne getirilen Sevencan, 17.11.2004 tarihinde Katı Atık Yönetimi Şube Müdürlüğü’ne Asaleten Müdür olarak atanmıştır. 04.08.2006 tarihinden itibaren Kent Orkestrası Müdürlüğü’ne asaleten atanmış olan Sevencan, evli ve 5 çocuk babasıdır.</blockquote>
Şimdi mesajı okuyunca ilk aklıma gelenler: hımm, Yüksek İslam Enstitüsünü bitirmiş, öğretmen olarak göreve başlamış. Eğitim açısından orkestra ile filan alakası yok. İş deneyimlerine bakıyorum, İtfaiye Daire Başkanlığında programcılık (!), Mezarlıklar Müdürlüğü, Katı Atık Yönetimi (!). Ve her şeyin başlangıcındaki Refah Partisi’nden Belediye Başkan adaylığı. Hani noktaları birleştirince her şey çok açık geliyor değil mi? Torpil sayesinde adam hayatta görmeyeceği, hayatta eline geçmeyecek yerlere gelmiş. Tipik bir Türkiye siyaseti. Hani onca yolsuzluk, torpil, adam kayırma, çeteleri düşününce insana normal geliyor.

Değil mi?

Değil.

Bir süre sonra gelen cevap mesajinda başka bir arkadaş benim ilk girdiğimde hata aldığım sayfaya girmiş (merak edenler için: http://www.ibb.gov.tr/tr-TR/Kurumsal/Birimler/KentOrkestrasi/Pages/AnaSayfa.aspx sağda özgeçmiş) ve özgeçmişin eksik bırakılan yani mesaja eklenmeyen ikinci paragrafını kopyalayıp herkese postalamış:
<blockquote>Lise yıllarından beri müzikle ilgilenen Celal Sevencan’ın esas ilgi alanı Türk Halk Müziği’dir. Kent Orkestrası Müdürlüğü’ne atandıktan sonra müzik çalışmalarına daha çok zaman ayıran ve enstrüman olarak da bağlama çalan Sevencan’ın söz ve müziği kendisine ait 36’sı Türk Halk Müziği, 4’ü Türk Sanat Müziği, 3’ü ilahi, 1’i de marş (Mehter Marşı) formunda olmak üzere toplam 44 bestesi bulunmaktadır. Halen söz ve beste çalışmaları devam etmekte olan Sevencan, Kent Orkestrası Müdürlüğü’nün müzik faaliyetleri kapsamında zaman zaman T.H.M. solo konserlerinde de sahne almaktadır.

Söz ve müziği kendisine ait olan “Aşığım ben Türkiye’min” adlı eseri Orhan Hakalmaz’ın “Hediyem Olsun” adlı albümünde yer almıştır. Sözlerini de kendisinin yazmış olduğu “İstanbul Marşı” adını taşıyan bestesi de, halen İstanbul Büyükşehir Belediyesi Bandosu ve Mehter Takımı tarafından ( Mehter Marşı olarak) konserlerde icra edilmektedir.</blockquote>
Hımm, şimdi her şey değişiyor değil mi? Artık bence adamın o pozisyona uygun olup olmadığı tartışılabilir. Daha uygun hangi adaylar var bunlar belirtilebilir. Sonuçta müzikle ilgilenen birisiymiş, ve onlarca bestesi var. Sahnede solo konserleri var. Bir albümde çıkan eseri var.

Disinformation: Disinformation is false or inaccurate information that is spread deliberately.

Bence durum direk tanıma uygun. Hani mesajı yollayan arkadaşın baştan kasıtlı olarak böyle yolladığını iddia etmiyorum. İnternette insan o kadar çok bilgiye erişebiliyor ki bazen araştırma fırsatı bulamıyor. Ama sanki kasıt varmış gibi. Ve ODTÜ’deki deneyimlerim, ve mesajı da ODTÜ ile ilgili bir grupta okumam bunu destekliyor.

Hani kimse torpil, adam kayırmacılık, yolsuzluk, çeteler vs. olaylarını desteklemiyor tabii ki. Ve birinin bir makama gelmesini eleştirmekte her şekilde hakkınız var. Hele hele o makamın masrafları senin vergilerinle ödeniyorsa. Ama önce doğruları tam olarak bilelim. Doğruları bilmeden, eksik bilgilerle eksik yargılara varabiliriz.

Eleştiri getirmek isteyenler önce o eleştiriyi okumalı, kendilerine sormalılar: “Bu bilgi tam ve doğru mu?” Değilse dezenformasyona katkıda bulunuyorlar, bilgiyi çarpıtıyorlar. Bu ise sadece sonra gelecek olan haklı eleştirilere zarar veriyor.

Güncelleme: Bir süre sonra başka bir arkadaştan başka bir mesaj, Web Archive’dan bakılırsa özgeçmişin güncellendiği görülüyor :) Komedi bir ülkede yaşıyoruz. Niye daha önce bunları çalıştığın yerin sayfasında özgeçmişinde yazmazsın ki. Hem de o kadar göz önünde olan bir makam için. Çok amatörce. Bakmak isteyenler için:
http://web.archive.org/web/20080206055222/http://www.ibb.gov.tr/tr-TR/Kurumsal/Birimler/KentOrkestrasi/Pages/AnaSayfa.aspx

Could not open PYTHONSTARTUP: No such file

If you have set up your PYTHONSTARTUP environment variable to point to ~/.pythonrc.py in your .bashrc file or something similar but you get errors of the sort:

tayfun@olive:~$ python
Python 2.5.2 (r252:60911, Jan 4 2009, 17:40:26)
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Could not open PYTHONSTARTUP
IOError: [Errno 2] No such file or directory: '~/.pythonrc.py'
>>>

even though your file is there, simply set your environment variable with the full path, ie. /home/tayfun/.pythonrc.py in my case.

Hope this helps you if you stumbled into this error too :)

Life dergisi fotoğrafları

Google, Life dergisinin fotoğraf kaynaklarını dijitalleştirmiş ve internete aktarmış. İçlerinde gerçekten ilginç fotoğraflar var. Burayı tıklayarak fotoğrafların bir kısmına ulaşabilirsiniz.

<img style=”display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 265px; height: 400px;” src=”http://4.bp.blogspot.com/_AZvuJ9kmERM/SYyhX5xSacI/AAAAAAAABO4/RwGauGw7twc/s400/c.jpeg” border=”0” alt=”“id=”BLOGGER_PHOTO_ID_5299788293524842946” />Turkish men having lunch in restaurant of Nevsehir named Lokanda (1970).

JavaScript: Dünyanın en fazla yanlış anlaşılan programlama dili

Yazarı: Douglas Crockford
Çevirmen: Tayfun Şen
Orj. URL: http://javascript.crockford.com/javascript.html

JavaScript, ya da diğer adlarıyla Mocha, LiveScript, JScript veya ECMAScript, dünyadaki en popüler programlama dillerinden biridir. Hemen hemen dünyadaki tüm kişisel bilgisayarlarda en azından bir tane JavaScript yorumlayıcısı (interpreter) kurulu ve etkin olarak kullanımdadır. JavaScript’in popülerliği tamamen onun WWW için betik dili olmasından ileri gelir.

Popülerliğine rağmen çok az insan onun dinamik, objeye yönelik, genel kullanıma uygun bir programlama dili olduğunu bilir. Bu nasıl gizli kalmıştır? Neden bu dil bu kadar yanlış anlaşılmıştır?
<h2>İsim</h2>Java- öneki JavaScript’in bir şekilde Java ile ilişkili olduğunu, Java’nın alt kümesi olduğunu düşündürüyor. Öyle görünüyor ki bu isim karışıklık yaratmak için özellikle seçilmişti, ve karışıklıktan da yanlış anlamalar doğuyor. JavaScript yorumlanan Java değildir. Java farklı bir dildir. JavaScript farklı.

JavaScript ile Java arasında söz dizimi yönünden benzerlikler vardır, nasıl ki Java ile C arasında da aynı benzerlik varsa. Ama Java nasıl ki C’nin alt kümesi değilse JavaScript de Java’nın alt kümesi değildir. Aslında JavaScript Java’nın tasarlandığı (ilk adıyla Oak) işler için daha iyi ve uygundur.

JavaScript Java’nın geliştirildiği Sun Microsystems şirketinde değil, Netscape’de geliştirildi. İlk ismi LiveScript idi, ama bu isim yeterince kafa karıştırıcı değildi.

-Script soneki bunun bir betik dili olduğunu, tam anlamıyla bir programlama dili olmadığını çağrıştırıyor. Ama aslında bu sadece bir özelleşme meselesi. C ile karşılaştırıldığında JavaScript performansa karşılık dinamiklik ve ifade gücü kazanmıştır.
<h2>C kıyafetlerinde Lisp</h2>JavaScript’in -köşeli parantezleri ve biçimsiz ‘for’ ifadesi ile- C’ye benzeyen sözdizimi onun herhangi bir yordamsal (procedural) dil gibi görünmesine sebep olabilir. Bu aslında bir yanılgıdır çünkü JavaScript aslında Lisp ve Scheme gibi fonksiyonel dillere C veya Java’dan daha fazla benzer. JavaScript’in liste yerine dizileri (array) ve özellik listeleri yerine de objeleri vardır. Fonksiyonlar birinci sınıftır. Closure’lara sahiptir. Lambda fonksiyonlarına o kadar parantez eşlemeye gerek kalmadan sahip olabilirsiniz.
<h2>Evrimi</h2>JavaScript Netscape Navigator tarayıcısında çalışmak için tasarlanmıştı. Yaygınlaşması üzerine neredeyse tüm tarayıcılarda standard araçlardan biri oldu. Bundan dolayı JavaScript çok değişti, farklı özellikler kazandı. JavaScript ağla ilgili olmayan birçok uygulama için uygun bir dildir.
<h2>Değişiklikler</h2>JavaScript’in ilk sürümleri oldukça zayıftı. İstisna işlemek, iç fonksiyonlar ve miras (exception handling, inner functions, inheritance) gibi özellikler yoktu. Şimdi JavaScript tamamen objeye yönelik bir dildir. Ama JavaScript’e ilişkin çoğu yargı onun toy zamanlarından kalmaktadır.

JavaScript’in gelişmesine katkıda bulunan ECMA komitesi dil için eklentiler geliştiriyor. Bu iyi niyetli de olsa JavaScript’in en büyük problemlerinden birini büyütüyor: Daha şimdiden JavaScript’in birçok sürümü var. Bu insanların kafasını karıştırıyor.
<h2>Tasarım hataları</h2>Hiçbir dil mükemmel değildir. JavaScript’in de kendine has tasarım hataları vardır, örneğin +’yı hem toplama hem birleştirme için kullanarak tip zorlaması yapmak ve hataya sıkça neden olan ve bu yüzden sakınılması gereken ‘with’. Ayrılmış kelime (reserved words) kuralları çok sıkı. Otomatik noktalı virgül ekleme büyük bir hataydı, basit şekilli düzenli ifadeler yazımı da öyle. Bu hatalar programlama hatalarına yol açtılar ve bu dilin tüm tasarımını töhmet altında bıraktı. Neyse ki iyi bir ‘lint’ programı ile bu hataların çoğu giderilebilir.

Dilin tasarımı temelde oldukça iyi. İlginç olan şu ki ECMAScript komitesi bu hataları gidermekle ilgilenmiyor. Yapmak istedikleri şey yeni hatalar eklemek sanki.
<h2>Kötü JavaScript yorumlayıcıları</h2>Eski JavaScript yorumlayıcıları çok hata içeriyordu. Bu, dile kötü etki yaptı. Bunu daha da kötüleştiren şey bu yorumlayıcıların kötü tarayıcılarla gelmeleriydi.
<h2>Kötü kitaplar</h2>Piyasadaki hemen hemen tüm kitaplar çok kötü. Hatalara, kötü örneklere sahipler ve kötü alışkanlıkları yayıyorlar. Dilin önemli bölümleri ya kötü açıklanıyor ya da hiç. Onlarca JavaScript kitabı inceledim ve sadece bir tanesini tavsiye edeibilirim: David Flanagan’dan “JavaScript: The Definitive Guide”.
<h2>Standart altı standart</h2>ECMA dilin resmi beyannamesini (specification) yayınlar. Bu beyanname çok düşük kalitededir. Okumak ve anlamak çok zor. Bu durum aslında kötü kitaplar sorunu ile bağlantılı çünkü yazarlar bu dökümanı okuyarak kendilerini geliştiremediler. ECMA ve TC39 komitesi kendilerinden utanmalılar.
<h2>Amatörler</h2>JavaScript yazan çoğu insan programcı değiller. İyi program yazmak için gerekli eğitime ve disipline sahip değildirler. JavaScript o kadar güçlü bir ifade yeteneğine sahiptir ki onlar yine de yararlı şeyler yazabiliyorlar. Bundan dolayı JavaScript’in sadece amatörlere hitap ettiği ve profesyonel programlama için uygun olmadığı düşüncesi yayıldı. Bu tamamen gerçek dışıdır.
<h2>Objeye Yöneliklik</h2>JavaScript objeye yönelik midir? Objelere sahiptir ve metodları ile objelerin üzerinde işlem yapabilir. Objeler başka objelere sahip olabilirler. JavaScript’te sınıf kavramı yoktur ama constructor metodları sınıfların yaptığı şeyleri yapabilirler (çeşitli veri ve metodları kapsamak gibi). JavaScript’te objeye yönelik miras kavramı yoktur, ama prototype temelli miras vardır.

Obje sistemleri inşa etmenin iki yolu miras ve birleştirmedir. JavaScript ikisini de yapabilir, ama dinamik doğası sayesinde birleştirmede daha iyidir.

Bazıları JavaScript’in bilgi saklama yeteneğine sahip olmadığından gerçekten objeye yönelik olmadığını söylerler. Yani, objeler özel metod ve verilere sahip olamazlar, her şey kamuya açık, genel (public) olmak zorundadır.

Ama aslında olay şudur ki JavaScript objelerinin özel veri ve metodları olabilir. Yine de az insan bunu anlar çünkü JavaScript dünyanın en yanlış anlaşılan dilidir.

Bazıları JavaScript’in gerçekten objeye yönelik bir dil olmadığını söylerler, çünkü miras yeteneği yoktur. Ama aslında JavaScript sadece klasik mirası desteklemekle kalmaz, diğer tekrar kod kullanma özelliklerini de destekler.


2001, Douglas Crockford.

Installing Flash Player 10 on Opera

I was still using Flash Player v9 as evidenced on Adobe’s test page and I started having problems on sites like Scribd. The menu on the top part of the document won’t work correctly and I couldn’t scroll the pages correctly. Since I’m using Debian, I downloaded tar.gz version of the flash player and followed the installation instructions. I checked to see the websites again and it still wasn’t rendered correctly. The Adobe test page still showed version 9 as being used. Then I went to Opera’s website for help but it didn’t really offer much help other than Adobe’s instructions. I run ‘updatedb” to update my file database and then ‘locate libflashplayer.so’ to find out about all the installed flash player in my system. Turns out there are a couple of flash players installed. I copied over the flashplayer.so from tar.gz file to the locations I’ve found and everything seems fine now.

If you want to have a bit more control over all this, like if you want to use different flash player versions, you should check out advanced settings in Opera. Go to “Tools->Preferences->Advanced->Content->Plugin Options” to find the paths Opera searches for. Change the paths to suit yourself.