RSS

Terzi kendi söküğünü diker (ama biraz uzun sürebilir)

05 May

FZ Blogs ortamında 2004 ve öncesindeki yazıların bir kısmında ‘encoding’ problemi vardı, uzunca bir süredir utf-8 kullanıyor olmama rağmen eski yazıların bir kısmı iso-8859-9 olarak kodlanmış halde duruyordu ve sayfalar utf-8 olarak sunulduğu için karakterleri farklı şekilde kodlanmış o eski yazıların Türkçe harfleri yanlış çıkıyordu. Özellikle de ‘Bayesian top title learner – Blog keyfi modelleyici‘ eklentisi ile sağ taraftaki ‘Featured’ kutusu içinde epey çirkin bir görüntü oluşabiliyordu.

Problemin çözmek için (aheste aheste) geliştirdiğim ‘encoding’ dönüştürücü PHP kodunu PHP dokümantasyonundan faydalanarak yazmak, test etmek ve sonuçta veri tabanını güncelleyecek şekilde çalıştırmak yaklaşık 10 dakikamı aldı. 1 seneyi aşkın süredir bunu yapmam gerektiğini düşünüyordum.

10 dakikalık bir teknik işi 1 yıldan daha uzun süre ertelemek, buna üşenmek, sürüncemede bırakmak… Ve sonra bir gün aniden yapıvermek. Gel de insanı rasyonel bir etmen var sayan aksiyomla yola çık şimdi!

Sanırım Scientific American MIND dergisinin geçen sayısındaki ‘Procrastinating Again? How to Kick the Habit‘ makalesini alıcı gözle okumakta fayda var 😉

Advertisements
 
5 Comments

Posted by on May 5, 2009 in CogSci, General, Programlama, psychology

 

5 responses to “Terzi kendi söküğünü diker (ama biraz uzun sürebilir)

  1. Volkan YAZICI

    May 6, 2009 at 08:40

    Ben olsam şöyle yapardım: ISO-8859-9 kayıtlarını veritabanından bir dosyaya “dump” edip, “iconv -f iso8859-9 -t utf-8 …” tarzı bir komutu çıktı üzerine çalıştırıp, dosyayı tekrar veritabanına yedirirdim.

    Şunu da eklemeden edemeyeceğim ki, bu kadar Common Lisp, Haskell, vs. gibi REPL ve harikaları konusundaki muhabbetlerden sonra, oturup bu kodu PHP ile yazmanızı da çok içerledim doğrusu.

     
  2. Emre Sevinc

    May 6, 2009 at 10:39

    Merhaba Volkan,

    Yorumlar ve alternatif teknikler için teşekkürler.

    Eski yazıların bir kısmını vakti zamanında elle utf-8’e çevirmiştim. Ayrıca yine yazıların bir kısmının başlığında sorun yoktu ama içeriğinde vardı. Dolayısı ile belli bir dönemi alıp, bunların ayrı ayrı başlık ve içerik kısımlarının utf-8 mi yoksa iso-8859-9 mu olduklarını kontrol edip eğer utf-8 değil ise utf-8’e çevirmem gerekiyordu. Dümdüz gibi görünen bir problemin birazcık daha girintili çıkıntılı olduğunu buradan görmek mümkün. Ben sadece ilgili kayıtlar üzerinde iş yapmayı ve devreye MySQL dump gibi ekstra bir şey sokmamayı tercih ettim. Böylesi bana çok daha pratik geldi.

    REPL ve anında etkileşimli kodlama, evet çok çok değerli bir özellik ve bunu içermeyen programlama ortamları çok itici geliyor bana, kabul ediyorum. Diğer yandan konu MySQL ile iletişim kurup birkaç sorgu ve encoding dönüştürme işi olunca, bunu yapmanın en pratik yolundan biri de PHP diye düşünüyorum. Yani uzun lafın kısası böyle bir şey için aklıma ilk gelen araçlar önce PHP sonra da Perl olur. Bu türden bir iş için birinci adayım kesinlikle CL yahut Haskell olmaz. (Tıpkı bambaşka işler için ilk aklıma gelecek şeyin kesinlikle PHP yahut Perl olmayacağı gibi).

     
  3. sabri ünal

    May 17, 2009 at 01:37

    bilgisayar programcıları tembel insanlardır yargısını malesef kıramıyoruz… aynı şeyi ben de tam iki gün önce yaptım… yaklaşık 6 aydır bekleyen ve ne etki vermeyeceği yönetim paneli yenileme işini 6 bekletmeden sonra 1 gece başlayıp, yarısına kadar bitirdim… sonra sabah 12 ye kadar da gerisini bitirdim…

    tembellik değil bence, az motive olmak veya işlerden kendi işlerimize sıra gelmemesi meselesi.

     
  4. Ali Utku Selen

    June 19, 2009 at 19:44

    Yorumlar içinde yapman gerekiyor mu?

     
  5. Emre Sevinc

    June 20, 2009 at 13:38

    Evet, iso-8859-9 olarak kalmış bazı yorumlar var maalesef 4-5 sene öncesinden ama bunu yapmadım çünkü bunların sayısı çok az ve içerik olarak da pek bir şey yok hatırladığım kadarı ile (zira benim blog yıllarca yoruma kapalı idi, açalı çok olmadı).

     

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: