Home

Welcome to my blog! See the archive page for all posts.

2011

2010 güzel bir yıldı. Çok şey öğrendim, sinirlendim, güldüm, sorguladım. Pek çok güzel insan tanıdım. 2011 sadece hedefler koymadığım, hedeflerim için düzenli çalışmaya da başlayacağım bir yıl olacak.

Unutmadan, 2,5 yıl çalıştığım Hürriyet'e bu ay veda ettim. Yeni yılda yeni bir yerde, Tribal DDB Istanbul'da olacağım.

Yeni kitaplar

Uzun süredir ertelediğim teknik kitap alma işini nihayet hallettim ve aşağıdakileri aldım. Gelelim ilk görüşlerime:

  • Version Control with Git: Powerful Tools and Techniques for Collaborative Software Development Git geliştiricilerinden Jon Loeliger'ın kitabı. Pro Git arasında kararsız kalıp, epey yorum okuduktan sonra almaya karar verdim. Pro Git'in sitesinde yayımlanan ve ücretsiz okunabilen edisyonunu inceleyip satın alacağım büyük ihtimalle. Özellikle Subversion'dan Git'e geçiş yapanlar için Git'in dağıtık mimarisini çok güzel açıklıyor kitap.
  • Hadoop: The Definitive Guide Apache Hadoop projesinin geliştiricilerinden Tom White'ın kitabı. FriendFeed'de Berk D. Demir'in tavsiyesi üzerine aldım. Zaten Hadoop üzerine pek fazla kitap yok. Henüz ilk iki bölümü tamamladım ve oldukça açıklayıcı bir kitap olduğunu söyleyebilirim. Eğer benim gibi başlangıç düzeyinde teorik bilginiz varsa, kitapla beraber Wikipedia ve Google'ı kullanarak kısa sürede temel bilgi edinebilirsiniz.
  • JavaScript: The Good Parts Douglas Crockford amcanın kitabını duymayan yoktur herhalde. Daha önce korsanlık yapıp e-book versiyonunu okumuştum. "Emeğe saygı kardeş +rep" deyip orijinalini de aldım :) YDN Theater'daki sunumlarını izlediyseniz ve ortalamanın biraz üzerinde JavaScript bilginiz varsa çok yeni şeyler anlatmadığını göreceksiniz. Yine de her şekilde kitaplığınızda bulunması gereken güzel bir kitap.
  • Pro JavaScript Design Patterns Web günlüğünü zevkle takip ettiğim Dustin Diaz'ın, Ross Harmes ile beraber yazdığı kitabı. Scope ve closure gibi kavramlardan haberdar değilseniz kitaba dalmadan önce temel JavaScript bilgisine sahip olmanızı tavsiye ederim. Aksi takdirde kitaptan istediğiniz verimi alamayabilirsiniz.
  • Object-Oriented JavaScript: Create scalable, reusable high-quality JavaScript applications and libraries Stoyan Stefanov'un kitabı hakkında çok fazla baside inerek anlattığına dair eleştiriler var. JavaScript ile ilgilenip, kitabı almış geliştiriclerin çoğunun zaten bildiği şeyleri tekrar tekrar okumak bazen rahatsızlık verse de çok da göze batacak bir şey değil. Üst düzey JavaScript bilginiz olduğunu düşünseniz de ilk iki bölümü dikkatli okumanızı tavsiye ederim. JavaScript konulu üç kitap içerisinde, fazla seviye ayrımına girmeden tavsiye edebileceğim yegane kitap budur diyebilirim rahatlıkla. Eğer başlangıç seviyesindeyseniz ve daha önce bir programlama dili ile ilgilendiyseniz, yani döngü, değişken, programlama dili nedir biliyorsanız JavaScript'i öğrenmek için bu kitaba dalabilirsiniz.
  • Coders at Work Sıra geldi en ilginç ve eğlenceli kitaba. Practical Common Lisp'in yazarı Peter Seibel, bilgisayar dünyasına yön vermiş gurularla sohbet ediyor; programcılığa nasıl başladıklarını, önemli kararları nasıl aldıkları gibi sorular soruyor. Yanıtlar çok ilginç. Mesela çoğunluğu programcılığa BASIC ile başlamışlar; Lisp ve Emacs gurularından Jamie Zawinski aynı zamanda gece kulübü sahibiymiş :) Kısıtlı İngilizceniz bile olsa, küçük bir sözlük yardımıyla okumanızı kesinlikle tavsiye ediyorum. Bu arada, muhtemelen serinin devam kitapları da gelecektir. Zira epey eksik üstad var :) Kim bilir belki Paul Graham'ın Hackers and Painters kitabı gibi Türkçesi yayımlanır.

Son olarak, düzenli olarak okumasam da boş zamanlarımda devam ettiğim okuyabileceğiniz kitapları da verip, 2010 yılının ilk -umarım son olmayacak- kitap girdisini bitiriyorum:

Türkçe Python Kitabı

Türkiye'de Python ile ilgilenenlerin yakından tanıdığı Firat ÖZGÜL(istihza)'ün Python kitabı nihayet orijinal olarak çıkıyormuş. Daha önceki talihsiz olayın ardından böyle bir kitabın çıkması sevindirici. En azından orijinal içeriğe değer verildiğini görüp mutlu oluyorum.

Küçük bir not: Kitabın kapağı hazırlanırken, benim gibi yılan fobisi olan insanlar da dikkate alınsa çok güzel olurmuş. En azından O'Reilly'nin Python kitaplarındaki gibi bir görsel kullanılabilirdi. Kapağı ilk gördüğümde monitör karşısında şekilden şekile girdim :)

Yeni tasarım ve format üzerine

Yine uzun süredir yazamasam da bu sefer zamanı iyi kullanamamın veya tembelliğimin arkasına sığınmıyorum :) Efendim, kısa süre içerisinde blogun tasarımı, altyapısı ve içeriğinde büyük değişiklikler olacak. En önemlisi, İngilizce yazılarımı da yayımlamaya başlayacağım. Aslında format konusunda hala kararsızım: Blog içerisinde Türkçe ve İngilizce yazıları kategorilere ayırmakla, yeni bir sub domain oluşturma arasında gidip geliyorum. Hatta, eğer okuyan varsa görüşlerinizi almak isterim.

Gelelim işin teknik kısmına: Ofisteki yoğunluğumun azalması ve zamanımı daha iyi kullanmaya başlamamla kişisel projelerime ayırdığım zaman da artmış oldu. Böylece sadece blogun tasarımını değil altyapısını da tekrardan kodlamaya başladım. Bu sefer kendi basit(ve yetersiz) frameworküm yerine Kohana'yı kullanıyorum. Aslında birçok projede CodeIgniter kullanıyordum ama arkasında bir şirket olması özellikle patch gönderiminde ve kabul ettirmede epey dezavantaja dönüşüyor. Kohana tercihimin en önemli sebeplerinden birisi de bu aslında - ki önümüzdeki günlerde birkaç şey yazmak istiyorum bu konuyla alakalı.

Şu ana kadar DOM başlıklı makalem -yeri gelmişken bu makaleyi de yeniden yazdığımı ve içeriğini genişlettiğimi de belirteyim- haricinde planladığım kadar detaylı döküman yazamadım ama bu aralar HTML5 ve CSS3 hakkında epey detaylı iki makale hazırlıyorum. Yeni konseptle beraber bu içeriği de ayrı bir bölüme alacağım. Böylece, mevcut yapıdaki en büyük sıkıntım olan içeriği sınıflandıramama sorununu da halletmiş olacağım. Lab bölümüne, projelere ek olarak küçük kod parçalarım için küçük bir bölüm eklemeyi planlıyorum. Böylece, günlük bölümünü biraz daha günlük formatına çevirmiş olacağım.

Mim - Severek izlediğim yayında olmayan 3 dizi

izon mimlemiş beni. Laf kalabalığı yapmadan hemen konuya gireyim. İşte benim severek izlediğim, hayranı olduğum 3 dizi:

  • The X-Files: İzlediğim açıkara en iyi dizi. Fox Mulder, Dana Scully, SCB Spender, Walter Skinner hatta John Doggett gibi kült karakterlerle 9 sezon su gibi akıp geçti. Zaman zaman aşırı Hristiyanlık propagandası yapılsa da gülmekten yerlere yatıracak ince esprilerle bezeli harika bir senaryosu vardı. David Duchovny, son sezonda diziden tamamen ayrılınca 9. sezon nispeten kopuk geçti. Tabii dizinin de sonu da benim için pek tatmin edici olmadı. Umarım bir gün 10. sezonunun çekimlerinin başladığı haberini alırım.
  • Twin Peaks: David Lynch yapımı olduğunu söylemem yeterli olur sanırım :) Twin Peaks kasabasında geçen ilginç olayların anlatıldığı sadece 2 sezon süren bir diziydi. 2. sezonunda olaylar biraz pembe diziyi andırsa da yine The X-Files'taki gibi diyaloglardaki ince espriler ve mimikler görülmeye değerdi.
  • Coupling: Breasts, breasts, breasts!

Ben de mimi Selim, Simto ve Hüseyin'e paslıyorum :)

Neler oldu?

Son yazımın üzerinden yine 2 aya yakın bir süre geçmiş. Bakalım bu uzun sürede neler olmuş:

  • İş hayatında en nefret ettiğim şey haftasonu çalışılmasıdır. Süper zeki işverenler neye dayanarak haftasonu çalışmanın verimli olduğunu düşünüyorlar çok merak ediyorum doğrusu. Yeni işe girecek arkadaşlara önerim, lütfen iş görüşmesi sırasında kesin çalışma gün ve saatlerini öğrenin. İçinde esnek ve türevi kelime bulunan bir cevap alırsanız, şartları ne olursa olsun kabul etmeyin. Kendinize ayıracak zamanınız olmayacaksa maddi şartların ne kadar iyi olduğunun önemi yok.
  • TürkiyeF1'den arkadaşlarımla açtığımız blogumuz dembudemdir'in tasarımını yeniledim. Çok basit olsa da şimdilik iş görüyor. Belki daha sonra dağıtabilirim temayı.
  • Tuna, devlicious yazar kadrosuna katıldı.
  • Arada bulduğum boş zamanlarda çeşitli PHP frameworklerini deniyorum. CodeIgniter ve Kohanayı sevsem de Zend Framework ve symfony'nin yeri ayrıdır :)
  • Yeni uğraşlarımdan biri de Django. Blogun yeni versiyonunu büyük ihtimalle django ile yazacağım.
  • 2 Mart berkerpeksag.com'un *birinci yıl dönümüydü <:o)

Kısa kısa #4

Blogumla çok fazla ilgilenemesem de FriendFeed ve dembudemdir'de oldukça aktifim. Aradaki farkı kapatacağım umarım :) Bu dönemde neler yaptım bir bakalım:

  • İstanbul'a biraz daha alıştım gibi. Merkeze biraz uzak kalsam da ilk günkü kadar yabancılık çekmiyorum. Tabii bunda arkadaşlarımın da etkisi büyük.
  • İşyerinde çok yoğun bir 2 hafta geçirdim. Nihayet bu haftasonu iyi bir tatil yapıyorum.
  • Blog için tamamlanmayı bekleyen 4 yazım var. Tabii bir de teknik bir hata sonucu berbat ettiğim Belge Nesne Modeli yazım var ki bu haftasonu düzeltilmiş ve gelişmiş halini yayına sokacağım.
  • Yazmasam da blog ve lab bölümünde küçük değişiklikler yaptım. Lab'ın proje sayfası çok daha okunabilir oldu.
  • jQuery eklentim jGrow'un yeni versiyonu sonunda bitti. Dökümantasyonunu yazıp yayımlayacağım.
  • İki yeni jQuery eklentim de hazır. Onların da dökümantasyonlarını hazırlamam gerekiyor.
  • Tuna Toksöz ve Doğa Öztüzün ile yeni bir blog projesine başladık. Yayımlayabiliriz umarım :)

Geri döndüm :)

Son yazımdan bu yana(12 Ağustos) neredeyse 2 ay geçmiş. Bu süre zarfı boyunca yeni hayatıma adapte olmaya ve yarım kalan projelerimi tamamlamaya çalıştım(ki hala da çalışıyorum). Tabii bunca hengamenin arasında blogumla pek fazla ilgilenemedim. Ama bu haftadan itibaren burasını biraz daha hareketlendireceğim :)

Geçtiğimiz hafta içinde blog'a son yorumlar gibi birkaç yeni özellik daha ekledim. Mart ayından bu yana ilgilenemediğim, web teknolojileri konusundaki denemelerimi ve çalışmaları paylaştığım lab bölümünü ise kapsamlı bir yenilikten geçiriyorum. Arayüz tasarımı aynı kalacak ama altyapısında büyük değişiklikler olacak ve biraz daha kullanıcılarla etkileşimli hale gelecek.

Tamamen amatör olarak hazırladığım jQuery eklentim jGrow onca eksiğine rağmen oldukça iyi tepkiler aldı. Epey hata bildirisi ve özellik isteğinin -hatta sitemin :)- ardından yeni versiyonu için çalışmalara başladım. Bunun yanında yeni projem için hazırladığım bir eklentiyi daha paylaşacağım. Birde dilim döndüğünce jQuery eklentisi geliştirmeyle alakalı birkaç yazı yazmayı planlıyorum.

İstanbul

Bu yazıyı daha geniş bir zamanda yazmak istiyordum ama şimdilik tarihe not düşmekle yetiniyorum :) Efenim, 30 Temmuz 2008 tarihi itibariyle Hürriyet'te çalışmaya başladım. Ev sorunumu halledip her şeyi yoluna koyduktan sonra İstanbul maceralarımı da anlatacağım.

Şimdilik görüşmek üzere :)

Güncellemeler

Evet, aylardır yazılarımda bahsettiğim güncellemeleri yaptım ve hataları da düzelttim :) Herbiri en fazla 10 dakika alacak 30 küsür maddeyi yaklaşık 4 ayda tamamladığım için kendimle ayrı bir gurur duyuyorum. Aslında henüz el atmadığım birkaç madde daha mevcut :P Onları da bu sene içinde hallecedeğimi umut ediyorum.

30 küsür maddeyi tek tek buraya yazmaya üşendiğimden, belli başlı değişiklikleri sırayalacağım:

  • İlk olarak Google Webmasters Tools'un verdiği rapor doğrultusunda birkaç küçük değişiklik yaptım.
  • Üç sütuna sahip olmasına rağmen arayüz genişliği çok dardı. Düşük ekran çözünürlüğüne sahip kullanıcıları da hesaba katarak yaklaşık 100 piksellik bir yer kazandım.
  • RSS butonlarını sayfanın aşağısından sağ sütuna aldım.
  • Twitter ve last.fm servislerini artık AJAX ile başka bir dosyadan çağırıyorum. Sayfa yüklenme hızına ufakta olsa katkısı oldu bu değişikliğin.
  • Bidiğiniz gibi Smarty'nin performans kelimesiyle arası pek iyi değil. İyi planlanmamış bir yapıyla birlikte performans rahatlıkla yerlerde sürünebilir. Bu nedenle Mart ayından bu yana 50'ye yakın kod optimizasyonu yaptım.
  • XHTML ve CSS uyumluluğunu gözden geçirdim ve birkaç hatayı düzelttim. Son kontrol ettiğimde her ikisinden de geçerli not alıyordu.
  • sIFR gibi gereksiz bir betikten kurtuldum.
  • Yine FCKEditor gibi gereksiz bir editörden kurtuldum. Yaşasın TinyMCE :)

Tabii tüm bu değişiklere rağmen biraz önce dediğim gibi özellikle yorum alanında birkaç eksiğimiz daha bulunmakta. Eh, blogun yorum özelliği çok fazla kullanılmadığından şimdilik çokta göze batmıyor :)

Takip eden var mı bilmiyorum ama ÖSS'nin ardından sınav sonuçlarını bekleme dönemim kafa dinleme, yarım kalan projeleri tamamlamak ile geçti. Üzerinde çalıştığım yazılar ne yazık ki bir süre daha bekleyecek. Önümüzdeki hafta birkaç sınav için İstanbul'da olacağım. Tabii aradan Metallica konserini de çıkartacağım :)

Ağustos'un ilk haftasında mutlu haberlerle görüşmek üzere.

Uçup giden hedefler: Bölüm 3

Hedefinize ulaşmak için en gerekli şeyin zeka ve yetenekten ziyade disiplinli çalışmak olduğuna inanırım. Ki pek çok başarılı insanın başarısının altında yatan ana nedende budur.

Bende disiplin şart! diyerek yaklaşık iki ay önce ÖğğSSye hazırlanmak için işimden ayrıldım. Başlangıçta plan basitti: Bilgisayarımı sadece e-postalarımı kontrol etmek, RSS okuyucuma bakmak ve film/dizi izlemek için kullanacak, kalan zamanımı ise çok sevdiğim Matematik konularına ayıracaktım.

Tabii planın uygulanışı kağıt üzerindeki gibi kolay olmadı. Birkaç serbest projeye ek olarak kendimi tutamayıp başta Symfony ve Illustrator olmak üzere pek çok framework'e, programlama diline ve programa merak saldım. Ve böylece ÖğğSS hedefimden uzaklaşmaya başladım.

Efenim bu psikiyat-vari giriş ve gelişme bölümünden sonra kısa kesip sadede gelirsem; zararın ve manyaklığın neresinden dönersek kardır diyerek, çalıştığım projeleri, blogun eksiklerini ve üzerinde çalıştığım iki yazıyı mümkün olan en kısa sürede tamamlayıp Matematik testlerime gömüleceğim.

İlk haftanın ardından

Blog açılalı henüz bir hafta olsa da bu kısa sürede, ilk yazımda bahsettiğim gelişim sürecinde farketmediğim hatalar ve eksiklikler ortaya çıktı. Not ettiklerimi bugün itibariyle düzelttim. Bir de geliştirici kısmının, tasarım tercihi dediği hatalar var ki sormayın gitsin :)

Bu hafta içerisinde labı da biraz elden geçirip daha işe yarar hale getirmeyi düşünüyorum. Belki MediaWikiyi sisteme adapte ederim.

Ayrıca şu sıralar Mark Knopfler ve Metallica kafamı karıştırmakla meşguller. İkisi de ölmeden önce gidilmesi gereken konserler listesinde ama görünen o ki birini seçmem gerekecek. Tabii gönül Iron Maiden ister ama o başka bir yazının konusu olsun :)

Panzer Birlikleri - K.J. Macksey MC

Bu aralar boş zamanımı İkinci Dünya Savaşı hakkında kitaplar okuyarak geçiriyorum. Bunlardan biri olan Panzer Birlikleri hakkında dilim döndüğünce bir şeyler karalamak istiyorum.

Panzerlerin İkinci Dünya Savaşı boyunca kazandıkları başarıların ana nedeni; modası geçmiş süvari, piyade ve topçu prensiplerini hiçe sayması ve cephede bağımsız kararlar alması sayesinde, süratli mevki değiştirebilmeleri ve düşmanı sürprizlerle yanıltabilmeleriydi. Ama ego ve megolamaninin sınırlarında gezen Adolf Hitler'in intihar derecesindeki emirleri, henüz hazır olmayan tank endüstrisi, erken kazanılan başarılar neticesinde Panzerlere duyulan aşırı güven ve özellikle düzensiz ikmal hatları nedeniyle yenilgileri kaçınılmaz oldu.

Kastaş Yayınlarının, İkinci Dünya Harbi Belgeseli serisi altında yayımladığı K.J. Macksey MC tarafından kaleme alınan bu harika kıtabı, Panzer Birliklerinin zaferleri ve yenilgilerini objektif bir bakış açısıyla okumak isteyen her tarih meraklısına rahatlıkla tavsiye edebilirim.

Ayrıca, konuya ilgi duyanlar için Kastaş Yayınlarının İkinci Dünya Harbi Belgeseli kitapları da okunmaya değer eserler.

jGrow 0.2 yayında!

Ocak ayında, hem ihtiyaç hem de jQuery'yi biraz daha öğrenmek amacıyla jGrow'un ilk versiyonunu hazırlamıştım. İlk sürümün ardından gelen yorumlar neticesinde, iki adet küçük değişiklik yaptım.

Sürüm Notları

  • Opera 9'da çalışmama sorunu düzeltildi.
  • Mike Alsup'ın plugin development pattern'i kullanıldı.

jGrow hakkında bilgi almak ve son sürümünü indirmek için proje sayfasını kullanabilirsiniz.

Uzuuun bir aradan sonra tekrar merhaba!

Bu yazıyı henüz blogumun altyapısı bitmeden yazıyorum. Büyük ihtimalle siz okuduğunuzda epey önce yazılmış olacak.

MPH'i kapatmamın üzerinden 3 yıla yakın bir süre geçti. Zaman zaman arkadaşlarımın bloglarında kısa süreli yazılar yazsam da aklımın bir köşesinde her zaman kişisel blogumu yeniden açmak vardı. Şimdiye kadar açılmamasına pek çok sebep gösterebilirim ama direkt olarak söylemeliyim: Uyuşuğum!

Gelelim blogun oluşum hikayesine: Tasarımın ilk taslağı neredeyse 2 yıl öncesine dayanıyor. Küçük değişikliklerle bu hale geldi. Bu uzuuun gelişim sürecine sebep olarak, yukarıdaki paragrafı referans alabilirsiniz. Site içerisinde, çeşitli yerlerde göreceğiniz ikonların kaynağı ise FamFamFam. Neyse ki Smarty'nin nimetleri sayesinde bir sonraki tasarım değişikliği için blogu kapatmak ya da bu kadar uzun zaman beklemek zorunda kalmayacağım :)

Smarty demişken, başka bir dala atlayıp blogun altyapısından bahsetmek istiyorum. Öncelikle, PHP ve MySQL ikilisi ana iskeleti oluşturuyor. Template sistemimiz Smarty, veritabanı sınıfımızsa ezSQL. JavaScript framework'ümüz ise tabii ki jQuery.

Efendim koskoca 2 seneyi anlatmaya çalışırsak, Türkiye standartlarında okunmayacak kadar uzun bir yazı olacağından şimdilik kısa kesiyorum. Bundan sonra dilim döndükçe CSS, PHP, Smarty, jQuery, JavaScript ve ActionScript hakkında bilgiler vermeye ve kendi çözümlerimi paylaşmaya çalışacağım. Tabii arada sırada günlük hayattan, futboldan, oyunlardan, sinemadan ve 2. Dünya Savaşı'ndan da bahsedeceğim.

Her türlü soru ve öneriniz için berker.peksag at gmail.com e-posta adresini kullanabilirsiniz. Buraya kadar okuduğunuz için teşekkür ederim. Her zaman okunabilir olmak dileğiyle.

About me

I'm an open source software developer and Python core developer from Helsinki, Finland.

Follow me on Twitter.