Tonguç Yumruk'un Weblog'u
Anlık olaylar, fikirler, gudik ismail vs...

Sat, 29 Oct 2005

Evet, web anketlerine bakılırsa hayatım hiç iyi bir durumda değil ama en azından elimde Common Lisp var, CLSQL var, UnCommon Web var... Üstelik TCP/IP ve Ağ GÜvenliği kitabını da aldım... Demekki hayatım o kadar da büyük bir felaket değil...

Dün Açık Akademi'den çıkan son kitap olan TCP/IP ve Ağ GÜvenliği kitabını aldım. Henüz sadece başlarını okuyabildim ancak şöyle bir içeriğine göz attığım kadarıyla oldukça detaylı bir kitap. Piyasada zaten doğrudan TCP/IP ve diğer ağ protokolleri hakında çok detaylı kitaplar mevcut değil. Bu kitapta ise her protokol detaylarıyla anlatılmış. Paket başlıklarının yapısına kadar detaylarla protokoller anlatılmış. Kitabın sonunda ise TCP/IP'ye yönelik saldırı teknikleri açıklanıyor. Özellikle firewall kurmaya çalışan insanların işine yarayacak gibi.

Kitabın içeriği konusunda okuduktan sonra daha detaylı yazacağım fakat daha ilk sayfadan dikkatimi çeken birşey oldukça fazla basım hatasının bulunmasıydı. Şimdiye kadar okuduğum kısmında kritik bir hata göremedim ancak umarım bu hatalar da bir sonraki baskıda düzeltilmiş olur.

Bir yandan ağ güvenliği okurken bir yandan uzun zamandır yapmak istediğim birşeyle uğraşmaya başladım. UnCommon Web kullanarak basit bir web uygulaması (blog) yazmaya başladım. Amacım öyle uçar kaçar cinsten bir blog uygulaması yazmak değil fakat yeterince olgun bir yazılım geliştirebilirsem belki kendi günlüğümün altyapısını bu sisteme taşımayı düşünebilirim. Web uygulaması geliştirmek hayatta en nefret ettiğim işlerden biridir. Bağlantısız yapı vs... gibi konular bir yana en çok sinirimi bozan şey kod ile HTML çıktısını ayırma meselesidir. Burada Lisp'in mükemmel sözdizimi tam anlamıyla imdadıma yetişti. Programın kodunun HTML kodu ile çok benzer olması sayesinde kodun içinden çok temiz bir biçimde HTML üretmek mümkün olabiliyor. Nefis birşey. Bunun dışında UnCommon Web'in sağladığı inanılmaz imkanlar da yabana atılacak gibi değil. Şu ana kadar Lisp için "gördüğüm en başarılı web programlama dili" dememi engelleyecek hiçbirşey olmadı. Bakalım gelen günler ne gösterecek.

Aslında blog tarzı sistemler için bir SQL veritabanı kullanmaktan hiç hoşlanmam. Şu anda PyBlosxom kullanıyor olmamın bir sebebi de budur. Ancak bu uygulamayı öğrenme amacıyla geliştirdiğim için arkaplanında basit bir SQL veritabanı olan SQLite kullanarak CLSQL hakkında da biraz fikir edinmeye karar verdim. CLSQL gerçekten inanılmaz bir veritabanı kütüphanesi. Veritabanı sorgularını doğrudan Lisp sözdizimi ile yapabilmenizi sağlayan bir fonksiyonel arayüzü var. Bu sayede (select 'title 'body 'date :from 'blog :order-by :date) yazabiliyorsunuz. Daha karmaşık SQL yapılarını yine Lisp'in içinde kalarak yazabimek amacıyla ayrıca bir reader macro'da içeriyor. Bu sayede düz SQL kullanarak yazabileceğiniz her türlü sorguyu çok daha "Lispy" bir sözdizimi ile yazabiliyorsunuz.

CLSQL'in en çok ilgimi çeken yönü ise kendi içinde bir ORM yapısı içermesi. Bu sayede nesnelerini doğrudan veritabanındaki tablolar ve alanlar ile eşlemeniz mümkün hale geliyor. Her ne kadar detaylı olarak incelememiş olsam da Bill Clementson'ın bu sistem hakkında "Poor Man's ORM" deyimini kullanmasına bakılırsa diğer dillerdeki ORM sistemlerine kıyasla bazı eksikleri olduğunu düşünüyorum. Tek sorun bunları henüz bulamamış olmam...

Not: FZ istemeden ben yazayım... UnCommon Web ve CLSQL ile uygulama geliştirme konusunda birşeyler yazacağım, söz...

Not 2: Ankara'da böyle bir yer var...

[22:22] | [/kod] | # | G! |

Fri, 28 Oct 2005

This Is My Life, Rated
Life: 5.8
Mind: 6.1
Body: 5.5
Spirit: 4.5
Friends/Family: 4.3
Love: 0
Finance: 5.8
Take the Rate My Life Quiz

[23:19] | [/misc] | # | G! |

Tue, 25 Oct 2005

Web 1.0: Scaling Extensible Whatever with Blah Blah Blah Across the Enterprise. Kaçırılmaması gereken bir etkinlik...

[16:44] | [/web] | # | G! |

Sun, 23 Oct 2005

Bahadır Kandemir günlüğünde GoogleFight yardımıyla bir popülerlik karşılaştırması yapmış. Cevap vermek te bana düştü... Gerçi yazdıklarına yorum olarak yolladım ama anonim olarak yollamışım, haliyle tekrar yazayım dedim.

Karşılaştırmada "LISP'in sözdiziminin berbatlığından" bahsedilmiş. Sanıyorum berbatlıktan kasıt s-expressionlar ve ön ek (prefix) tarzı yazım. Öncelikle s-expression meselesine değinelim. s-expression denen şey Lisp'in temel yazım tarzıdır. Bu yazım tarzının en büyük avantajı dilin en temel veri tipi olan listeler ile (LISP = LISt Processing) kod yazmakta kullanılan ifadelerin aynı şekilde yazılmasıdır. Bu sayede Lisp dünyasnda veri/kod ayrımı yapılmaz. Veri kod gibi çalıştırılabileceği gibi Lisp kodunun kendisi de herhangi bir liste gibi işlenebilir.

Bence Lisp'in s-expressionlarının en büyük avantajı veri/kod ayrımı meselesi değildir. Bu yazım tarzının en güzel yanı saf sözdizimi ağaçları (raw syntax tree) yazıyor olmamızdır. Bu sayede Lisp kullanırken operatör önceliği gibi konularda endişe etmemize gerek kalmaz, zira Lisp şu ana kadar gördüğüm sözdizimeri arasında yanlış anlamalara en kapalı olan sözdizimine sahiptir. Özellikle benim gibi hangi dilde yazarsa yazsın her türlü aritmetik/mantık ifadesini daima parantezler içine alan insanlar için Lisp bir cennet sayılabilir.

İronik bir şekilde ön ek sisteminden en son olarak bahsetmek istiyorum. Aslındabana Lisp'in kullandığı ön ek sistemi sadece yukarıda saydığım özelliklerin sağlanabilmesi için ortaya çıkmış faydalı bir yan etki gibi gözüküyor. Ön ek tarzı yazımın şu ana kadar görebildiğim en büyük faydası ise operasyondan bağımsız olarak (yani fonksiyon çağrısı, aritmetik/mantık işlemi gibi şeyleri ayırd etmeden) sınırsız parametre listelerine izin vermesi. Bu sayede 1 + 2 + 3 + 4 yerine kısaca (+ 1 2 3 4) yazabiliyorsunuz. Evet çok büyük birşey değil, ama birşey...

Not: Bir büyüğümüz güzel söylemiş: Too much syntactic sugar, causes the cancer of semicolon

Not2: Bunları yazınca Python'u sevmediğim düşünülmesin. Python'u seviyor ve günlük olarak kullanıyorum, fakat açıkçası Lisp'in yazım tarzı daha çok hoşuma gidiyor.

[12:56] | [/kod] | # | G! |

Tue, 04 Oct 2005

Evet, hiçbirşey ters gitmedi. Sonunda Gazi Üniversitesi Hukuk Fakültesi'nden 8 yıllık boğuşmanın ardından mezun oldum. Şu an tam anlamıyla ne yapacağımı bilmeden boşlukta yüzüyorum...

Mezun olmaktan başka neler oluyor peki son zamanlarda? Sonunda yıllar süren inadımdan vazgeçtim ve ehliyet almak için bir kursa gitmeye başladım. Bugün hayatımda ikinci defa araba kullandım (birincisi dündü). Kısaca şunu söyleyebilirim: Berbat bir tecrübe! Bİrşeylerin nasıl daha "kullanıcı dostu" olabileceğine dair bir ton makale okuduktan sonra insanın sadece iki ayağı varken basması gereken üç pedal olması tuhaf geliyor doğrusu. Aslında iki pedal bile fazla ama neyse... Bundan sonra şunu anladım. Arabaların yaklaşık yüz yıllık tarihinde içten yanmalı motordan beri meydana gelen tek ciddi gelişme otomatik vitestir. O günden bugüne gelen geri kalan herşey zaten varolan şeylerin (fren, silecek, motor şu bu...) biraz daha geliştirilmesinden ibaret olmuş. Bana kalırsa araba dünyasının ciddi bir yeniliğe ihtiycı var. Mesela şu pedalları komple kaldırarak başlayabilirler...

Neyse, çok iyi anlamadığım konularda fazla ahkam kesmeyi sevmem ama bu arabaların hali gerçekten içler acısı geldi, dayanamadım... İnşallah bu aletleri biraz daha çözdükten sonra düşüncelerim değişir. Fakat şunu da söylemeden geçemeyeceğim. Eskiden araba kullanmakla bilgisayar kullanmak arasında yapılan benzetmeye karşı çıkardım. Bundan sonra biri bana öyle bir benzetme ile gelirse vereceğim cevap belli: Düz vitesli araba kullanabilen birinin GNU/Linux'u kullanmakta zorlanabileceğini kabul etmiyorum.

Evet, yeniden blog tutmak için fena bir başlangıç olmadı... İnşallah ibr dahaki sefere biraz daha Common Lisp ve "neden php kötüdür" konulu bir şeyler yazacağım

[23:33] | [/misc] | # | G! |
Elektrikli Posta
Uptime
1 yıl, 26 gün, 4 saat, 31 dakika
Çocuklara Bilgisayar
Kategoriler
/ (201)
  dev/ (13)
  kod/ (28)
  life/ (2)
  linux/ (38)
    freedays/ (2)
    senlik/ (0)
      2006/ (15)
  misc/ (58)
  mobil/ (3)
  musiki/ (18)
  net/ (10)
  tech/ (9)
  web/ (5)
Zaman Makinesi
< October 2005 >
SuMoTuWeThFrSa
       1
2 3 4 5 6 7 8
9101112131415
16171819202122
23242526272829
3031     
Kapı Komşuları
Güzel Siteler
Ivır zıvır
XML Feed

FSF Associate Member: 2040

Powered by PyBlosxom

Valid XHTML 1.0!