Vampircik Sözlük ve Türkiye’deki sözlük patlaması!

Açılalı iki yıldan fazla oldu bu sözlük. Kuruluş amacını çoğu yerde anlatıp durduk, her gün daha da geliştirdik. Fakat ilk defa hakkında genel bir yazı yazma imkanım olduğunu fark ettim.

Türkiye’de “internet sözlüğü” kavramı basit anlamda bir “çevirici” anlamından ziyade, “her konu hakkında özgürce yorum yapabilme” anlamına geliyor.

Bu, yeni yeni duyulan ve çoğu kişi tarafından yanlış anlaşılmış bir kavram olan web 2.0′ın temel kavramına denk geliyor. Yani ekşi sözlük bu kavramı bundan sekiz yıl önce ortaya atmış aslında.

Günümüze dönecek olursak artık her yerde, her konuda bir sözlük olduğunu fark ediyoruz. Dikkat edenler çoğunun aynı altyapıya sahip olduğunu fark edeceklerdir. Herkes bunun nasıl yayıldığını meak ediyordur diye düşünüyorum. Bu yayılmanın kaynaklarından biri olduğum fakat bu güne kadar çok da önemsemediğim bu konuyu özetlemek isterim.

Vampircik.com başta asp ile yapılandırılmış idi. Fakat windows hosting ücretlerinin yüksek olması ve kodların tarafımızdan yazılmamış olması bizi “ücretli bir sözlük” satın alma yoluna soktu. Biz de bu konuyu araştırdık, ettik ve şimdiki sistemin özünü satın aldığımız freelancer bize bu sözlüğü “trislem.net” üzerinden test ettirdi. O zamanlar kimsenin oturup sözlük yazacak vakti ve yeterli donanımı olmadığı için biz bu sözlüğü alıp üstüne geliştirme yapmayı düşündük, yaptık da.

İşin komiği sözlüğü aldığımız freelancer, bu işi çok sevdi. Her ne kadar sistemi kullanmayacağını söylemiş olsa da bu işe devam etti ve hala etmekte, nacizanebilgi.com adresinden trislem.net’in son halini görebilirsiniz.

Daha sonraları ise bize sattığı kodların bir şekilde “warez” ortamına düşmesi ile, kendisi bu kodları “hazır sözlük” adı ile “open source?” olarak internete sundu ya da sunmak zorunda kaldı diyelim. Böylece ortaya oldukça gelişmemiş, veritabanı kısmı berbat bir şekilde tasarlanmış, her şekilde açık kaynaklı kod mantığından uzak tertipsiz ve düzensiz bir kod ve bunun sonucunda da yüzlerce klon ortaya çıktı. Ayrıca kodu satın aldıktan sonra öğrendik ki bu kodlar esasında netsozluk.net tarafından geliştirilmiş.

Belki bunu reddedebilir bazı kişiler, kendileri bilirler. Herkes hata yapabilir, keşke vaktimiz olsa idi de biz kendimiz kendi sözlüğümüzü yazabilseydik diye düşünmüyor değilim. Zira iyi planlanmamış bir projenin çokça büyüdükten sonra düzenlenmesinin ne kadar zor olduğunu şu günlerde yaşıyor ve sırf bu yüzden tamamen sıfırdan kendi sistemimizi hazırlıyoruz. Her şeyden öte, mantıklı düşünen herkesin bu olayın doğru olduğuna inanacağına eminim, ne yazık ki Türkiye’de internet işleri böyle dönüyor(muş). Biz de yaşayarak öğrendik.

Bunun dışında, ne yazık ki Türkiye’de açık kaynaklı programlama yok. Hala açık kaynak Türkiye’de “beleş” ya da “kırılmış, nulled, riped” gibi kavramlarla beraber anılıyor. Oysa ki bu böyle midir? Ya da neden bu denli internetin yoğun kullanıdlığı, internet sitesi sayısının çok olduğu, pek çok projenin geliştirildiği Türkiye’de kendini ispatlamış bir “open source” proje yok?

Bir bilgisayar mühendisi ve internete emek vermiş, en azından open source olan birkaç proje * denemiş biri olarak şunu söyleyebilirim ki, insan saatlerce verdiği emekten sonra hala saygısızlık görüyor ise elbette bir firmaya girip işi ile saygı görmeyi tercih edebiliyor.

Vampircik.com hakkında konuşmam gerekirse; sözlük amaçladığımız yolda ilerledi. Artık ikiyüzbin tanımı devirdi. Bundan sonra biz eski ekşi sözlük yazarlarının alışmış olduğu konseptten sıyrılıp, kendi konseptinde yürüyeceği, kendi framework’ünün yazıldığı, web 2.0′ın getirdiği her kuralın özüne inilerek kullanıcı dostu ve kullanıcılarının iş birliği ile çok daha farklı bir “diyar” olacağı müjdesini verebilirim. İstiyordum ki framework’ü open source olsun. Fakat bunca şeyden sonra, internetin profesyonel bir ortamdan ziyade “köşeyi dönmek için tercih edilmiş bir mekan” olarak görülmesi sebebiyle bunun gerçekleşmeyeceğini üzülerek söylemeliyim. Vampircik altyapısı hala bilgisayarim.org üstünden satılmakta, bunun sebebi vampircik sözlük ihtiyaçlarını karşılamak ve en azından sözlük açmak isteyenlere makul fiyatlarla hatasız ve profesyonel bir hizmet sunmak.
Hürmetler.

* Denemiş olduğumuz açık kaynaklı yazılım için; Php Yıllık

Not: Vampircik sözlüğün satın aldığı kod yine bir vampirimiz tarafından karşılanmıştır. Daha sonra ilgili vampir bu kodu terimler.net üzerinden internete sunununca hazır sözlük sistemi ortaya çıkmaya başlamıştır. Kendisine vampirciğe yaptığı yardımdan ötürü teşekkür ederim.

İnternet, Web 2.0, Ajax, .Net, Framework, Intellisense vs. vs. ve Gelecek

Uzun bir aradan sonra merhaba.

Düşünüyorum da doğumumuzdan itibaren başkaları tarafından belirlenmiş bir istikamette, onların sınırladıkları duvarlar arasından süzülüyoruz. Kimimiz önden kimimiz arkadan birbirini takip ediyor. Fakat herkesin yolu ortak. Bunu büyük bir damar olarak düşünebiliriz, içinde milyonlarca kılcal damar var. Herkesin yolu ayrı gözükse de, herkes esasında aynı yolda.

Ne ki şimdi bu dediğinizi duyar gibiyim. Herkes bilgisayar ve dolayısı ile teknolojinin inanılmaz hızlı gelişiminden yakınır. Kimileri artık yeni teknolojileri öğrenemediğini söyler. Fakat her zaman birileri öğrenir, bir yere kadar karnını doyurur sonra yine upgrade olur.

Bundan 7-8 sene önce, çok uzun gelmiyor daha dün gibi sanki, her yer Java Applet’leri ile doluydu. Dhtml menüler zortlar, sayfalar gereksiz efektlerle açılır, çoğu sitenin arkasında midiler çalardı. Anımsarsanız yüzünüzde tebessüm olacaktır değil mi?

Fakat şimdi dönüp inşaa ettiğimiz şeylere baktığımızda farklı bir tebessüm var yüzümüzde. Belki gurur denebilir buna. Neden? Oldukça optimize edilmiş, tablesız, MVC sistemlerini sonuna kadar kullanan, kimilerinin küçümsediği o internet sistemleri artık bir sanat olmuş durumda.

Peki acaba bundan sonra ne olacak. Romalılar gibi doyuma ulaşıp yerle bir mi olacağız? Ben pek sanmıyorum. Dedimya, yeni doğanlar için yeni yolları biz geliştiriyoruz zaten. Daha şimdiden birbirinin aynı, taklidi, klon onlarca sistem doldu. İnternet sanal bilgi alanı olmaktan ziyade bir çöplük oldu. Bunu fark eden, bilgileri toparlayıcı hedefi olan sistemler yükselişe geçti ki en güzel örneği Facebook ve Youtube sanırım.

Sağa bakıyorsunuz ajaxla süslenmiş içeriği olmayan binlerce blog, sola bakıyorsunuz binlerce dostluk sitesi, forumlara değinmeyeceğim bile. Fakat artık browser içinden çalışan ve birilerinin “bak bu güzel” diyip herkesin “huraa” diyerek saldırdığı web 2.0 denen şeyin de sonu geliyor gibi. Zira web 3.0′ın çıkacağı da duyuruldu. Gelişen internet bağlantılarının faydasıyla ben artık daha gelişmiş browserların ortaya çıkacağını, klasik sunucu-istemci olayının text based ya da max. flash arayüzlü sistemler yerine oldukça işlevsel, olmazsa olmaz sistemlere geçiş yapılacağını düşünüyorum.

En azından düşünüyorum evet. Zira sıkıldım artık Ajax’tan, word press’ten, rss’ten, css’ten. Artık aynı kokuyor sanki hepsi. Bu doyuma ulaşmanın farkında olan Microsoft SilverLight’ı çıkartmayı deniyor, ama acaba ne denli başarılı olacak.

Sözün özü şu güne kadar öğrendiğim tek şey, siz teknolojiyi yaratın kazanın. Siz teknolojiyi taklit edin az kazanın. Siz doyuma ulaşmış sistemleri kullanın kaybedin.

Bilgisayar Mühendisinin İş Arama&Bulma Süreci

En ilginç anların yaşanacağı, belki de en korkulan, arzulanan süreçten bahsedeceğim bugün.

Başından beri diyoruz ki anlaşılamadık. Kendimiz dahi başladığımız ve içinde bulunup sürüklendiğimiz sürecin sonunu kestiremiyorduk. Fakat kimsenin durdurmaya gücünün yetemediği zaman o mutlak sona bizi itiyordu. Mezuniyet!..?

Bir yandan 16 yıllık artık uzmanı olduğumuz eğitim hayatımıza güle güle demek için yanıp tutuşurken, bir yandan da tamamen uzağında bulunduğumuz iş dünyasına yanaşıyorduk ağır ağır. Peki bu süreç nasıl işliyor? Neler hayal ediyoruz, neleri görüyoruz yavaş yavaş.

Çoğu bilgisayar mühendisliği öğrencisi ilk senelerinde tamamen bulutlar üzerindedir. Şöyle geçmişine bakacak olursak: hedefi güzel bir üniversitede hayalini kurduğu bölümü kazanmaktır. Bunun için yüzseksen soruluk sınav için senelerce hazırlanır. Test kitabının cevap anahtarını daha az açmaya başladıkça hedefine yaklaşır ve nihayet ona ulaşır. Fakat iş yeni başlıyordur.

Sonraki senelerde gerçeği görmeye başlar. Asla hayallerin tam anlamıyla gerçeğe dönüşemediği gerçeğini. Buna kimi hayat okulu, kimi gerçek hayat dese de o öğrenciliğine devam eder. Hep dinler. Herkes tavsiyede bulunur, herkes her şeyi en iyi bilir. Bu çocuğun kafasının neden karışık olduğuna anlam veremezler. Şahane bir hayat onu bekliyordur. Gerisi hikayedir. Ama çocuğa göre ya kör olmuştur, ya da artık eskisi gibi arzulamamaktadır mesleğini.

Esasında çok önemli olan staj seneleri eğer çok şanslı değilse saate bakarak geçer. Gençliğe oldukça önem verilen? ülkemizde bir hayalet gibi gezer ofiste. Kimse ona yardımcı olmaya çalışmaz, nasıl olsa gidecektir birkaç gün sonra. Staj ona göre daha çok bir defter parçasıdır. Genelde birçok mühendislik öğrencisi gibi otuz iş günlük stajını tamamlar. Ama bu oldukça uzun sürede yapılanlar bir defteri dolduramaz. Bir şekilde oradan buradan müthiş microsoft icadı kopyala/yapıştır kombinasyonunu kullanarak staj defterini ve stajını tamamlar.

Sonrası esas konumuz. En komik, en şahane, en eğitici bölüm.

Bir bilgisayar mühendisi, hangi okuldan mezun olursa olsun asla tam bir mühendis olarak mezun olamaz. Zaten kimsenin de böyle bir şeyi iddia edeceğini düşünmüyorum. Türkiye’de ne yazık ki hala bilgisayar mühendisliğinden çıkan bir adam hangi bölüme, departmana girmeli ve çalışmalıdır bilinmemektedir. Bu yazıyı yazmadan önce bilgisayar mühendisi arayan ilanlara bakayım dedim. Bu kadar eğleneceğimi hiç düşünmemiştim. Grafikerden tutun, ayakkabı imalatçısına, hosting sağlayıcısından reklam ajanslarına kadar herkes bizleri arıyormuş meğer. Evet evet, işsiz kalma korkunuz olmasın. J

Bu son derece normal. Bilgisayarın bu denli hayata yayılmış olması elbette çoğu sektörde çalışabilmemizi sağlamakta. Fakat komik olan şey bizlerden beklenenler. Bir bilgisayar mühendisi, yazılım alanında gelişmek istiyorsa bir yazılım firmasında junior olarak işine başlayıp uzmanlaşır. İşe alım sürecinde hafif algoritma bilgisi ve daha önce kod yazmış olması esas yeterliliktir. Fakat tabi kimse böyle söylemez, işte burada komiklikler ortaya çıkmaya başlar. Örneğin bir ilan şöyle diyor: “Analist programcı aranıyor”. Bir kişiye uzman diyebilmek için -bana göre- bir konuda en az iki yıl deneyim sahibi olması gerekmektedir. Bahsedeceğim ilanla tek ortak fikrimiz bu, zira bilgisayarda, hele hele yazılımda uzman olabilmek için sabretmek ve devamlı araştırmak gerekir. Bu da kısa sürede birçok şeyin öğrenilmesini engeller.

Şunları bekliyorlarmış adaydan:

- Asp, Aspx, Php konusunda deneyimli,

- C#, C++   ve Visual Studio.NET ile en az iki yıl uygulama geliştirmiş,

- Visual SourceSafe veya benzer ekipmanlar kullanmış,

- Oracle, SQLServer, DB2, mySql, postreSql bilen,

- Stored Procedures ve Triggers konusuna hakim,

- AJAX, CSS, JavaScript, HTML, XML bilen,

- Multi-threaded yazılım geliştirme konusunda deneyimli,

- Ve benzer mühendislik kelamları…

Bunlara ek beş yıl sektörde çalışıyor olmak, askerliğini bitirmiş olmak, otuz yaşı aşmamak, yüksek yapmak.

Şimdi ya bu adamlar ne istediğini bilmiyorlar, ya da inanılmazı başarmak istiyorlar. Ben en çok veritabanı isimlerine güldüm. Sanırım bir veritabanı kıyaslama makalesi okuyup tüm kıyaslanan dilleri yazmışlar. Asp ile Php neden yanyana onu da çözemedim. Zira alacakları kişi bir analist programcı. Bir proje lideri olsa, bunları biraz bilse yeterli diyebilirim ama otuz yaşı da geçmemiş olmalıymış?

Ben işin içinden çıkamadım. Bir de ek olarak esnek çalışma saatleri var ki? Bunun anlamı iş hayatında “geberene kadar çalışmak”tır ne yazık ki. İşini seven insanlara koymaz bu, fakat hem üç kuruş alıp hem gece yarılarına kadar çalıştırılmak nedir çözemiyorum.

Sözün özü, mezun olmadan önce “yazılım, network, donanım” fark etmez, muhakkak birisini sevin ve onda uzmanlaşmaya çalışın. Zira hayatınızı etkileyecek en önemli an o dur. Onu başardıktan sonra muhakkak gerisi gelecektir. İşi işte öğreneceğiniz doğru olsa da, işi birazcık bilmeyenler, işini sevmeyenler kendilerine göre bir iş ne yazık ki bulamayacaklardır. Bulsalar dahi mutlu olamayacakalr hep şikayet edeceklerdir. Yukarıdaki ilanı vermemin sebebi de, “bak bu kriter bana uymadı” diye ilanı kestirip atmamanız içindir. Zira o bölümdeki insan kaynakları şeysi sizin bölümünüzü hiç bilmiyor olabilir, gidip şans denemekte fayda vardır. Onların birkaç klavye vuruşu ile istedikleri şeyler, yıllar geçse de öğrenilemeyecek şeyleri içeriyor olabilir.

Umuyorum şu günceden bir gün de siz okurlarıma güzel, iç ısıtıcı haberler verebilirim. Ben en azından şu güne kadar benzer yollardan geçtim, geçiyorum. Sizi bu meslekle ilgili bilgilendirmeye nefes aldığım müddetçe devam edeceğim.

Php Sözlük Scripti

Ekşi sözlük ile beraber oldukça popülerleşen internet platformlarından biri sözlükler oldu. Biz de bir şekilde girişmiştik vampircik.com ile. Daha sonra kodlar dağıldı falan filan. Ortalarda open source olduğu söylenen, fakat open source mantığının yanından dahi geçmeyen bir hazır sözlük mevcut. Öyle ki geliştiricileri belirli açıklar bırakıp dikkatsiz kişileri istediklerinde yokediyorlar.

Neyse. Bu yazıyı okuyorsanız muhtemelen google amcadan geldiniz. Ben de size diyorum ki, vampircik.com’u geliştiren bizler masraflarımızı karşılamak ve aynı zamanda klonları bari adam gibi kodlarla internete sunmak için size fırsat sunuyoruz.

Php ile yazılmış bir sözlük mü arıyorsunuz, güvenli ve bol destekli keyifli bir ekip mi arıyorsunuz? Ayrıca üstüne bu adamlar bilgisayar mühendisi mi olsun istiyorsunuz?

O halde çözüm için http://www.bilgisayarim.org adresinden bize ulaşabilirsiniz. Unutmayın, sözlük sistemimiz ücretlidir. Gereksiz taleplerde bulunmayınız.

Demo Sözlük

http://www.bilgisayarim.org/demo/sozluk

kullanıcı: demo
şifre: demo

AJAX ve Şahane Ajax Örnekleri

Yok hayır, ne deterjan ne de bir futbol kulübünden bahsedeceğim.

Esasında şu günlerde internet programlama ile uğraşmayanlar dahi bu yepyeni uygulama dilini bilir oldu. Bilmeseler bile bu şirin dilin getirdiği yenilikler muhakkak dikkatlerini çekmiştir.

Ajax aslında yeni bir dil değil. Sadece varolan bir şeyin güzelce isimlendirilmişi. Açılımı; Asynchronous JavaScript and XML yani kulağa hiç de yabancı gelmeyen öğelerden oluştuğunu görüyoruzdur sanırım. Ajax’ın temel mantığı XML tabanlı HTML Requestlerin kontrolünü sağlamak. Elbette bu daha önceden de vardı fakat Ajax bize pek çok yenilik, kolaylık ve pratiklik sağladı. Bir kere XMLHttpRequest ismini AJAX ismine çevirdi :)

Ajax’ı kısaca tanımlayacak olursak; interaktif web yazılımları için geliştirilmiş, sunucu ile az miktarda konuşup verileri sayfayı yenilemeden, sadece belirlenen bir alanı yenileyerek güncelleyen bir dildir diyebiliriz. Elbette bu çok dar bir tanım. Fakat şimdilik bu kadarı kafamızda otursa kafi.

Peki nasıl yapıyor bunları?

- Mantığı çok karışık değil. Öncelikle bahsettiğimiz veritabanı vs. yerlerden verileri alırken XML dilini kullanıyor. Bu da çoğu zaman Türk kullanıcılarının canını sıkabiliyor, zira Türkçe karakterler bazı uygulamalarda problem yaratabiliyor.

- CSS seviyor, çünkü DIV denen bölmelerin içinde varlığını çok raht gösteriyor. Class yapısını seviyor.

- Java Script ile kütüphanelerini kullanarak basit bir HTML sayfasından bunları hızlıca kullanabilmemizi sağlıyor.

- XMLHttpRequest ögesi gerektiriyor. Baştada belirttiğim gibi bu uygulamanın esası Request üzerine kurulu. Bunun için halihazırda pek çok Ajax Framework geliştirilmiş durumda.
Şimdi de güzel Ajax uygulamaları linklerini vererek sizleri bu güzel dile iyice davet ediyorum.

En güncel ve şahane kaynak:

http://www.ajaxrain.com

* Ajax Frameworkleri

Jquery : http://jquery.com/ ve User Interface: http://ui.jquery.com/ (canavar)

Bence en sağlamı bu. http://docs.jquery.com/Plugins adresinden bununla yapılmış pluginleri inceleyebilirsiniz

Moo : http://mootools.net/

script.aculo.us: http://script.aculo.us/

* Animasyon Kütüphaneleri

Çoğul kullandım ama pek fazla yok bunlardan. Benim bildiğim, hayran kaldığım şu var.

http://berniecode.com/writing/animator.html

* En popüler uygulamalar

1- Light box

http://www.lokeshdhakar.com/projects/lightbox2/

(Bonus: Light box Gone Wild: http://particletree.com/features/lightbox-gone-wild/ - Grey Box: http://orangoo.com/labs/GreyBox/ )

2- Live Validation

http://www.livevalidation.com/

3- Image Cropper

http://www.defusion.org.uk/demos/060519/cropper.php

4- mxGraph

http://www.mxgraph.com/demo.html

5- Sliding Tabs

http://extjs.com/deploy/ext-2.0-alpha1/examples/tabs/tabs-adv.html

6- Drag and Drop Portal

http://blog.xilinus.com/prototype-portal/test/index.html

7- Fisheye

http://positionabsolute.net/blog/2007/08/prototype-fisheye.php

8- Gridview

http://extjs.com/deploy/ext-2.0-alpha1/examples/grid/grouping.html

http://dotnetslackers.com/projects/AjaxDataControls/GridView/ComplexEditing.aspx (.net)

Umarım işinizi görecek bir döküman olmuştur.

Açık kaynağın gücü, tekelin zorbalığı ve aradan sıyrılan Web 2.0!

Konu fena değil mi? Yıllardır tartışılagelen “asp mi döver php mi?” sorusunun merkezi belki de. Open source ve karşısında kapitalizmin dibinde biten Microsoft ürünleri.Şöyle bir bakalım. Bir şirket ile görüşmeye gidiyorsunuz, şahane bir fikriniz ya da ürününüz var. Sunum başlayacakken soruluyor “altyapı ne olacak?”. Eğer linux altyapısı gösterirseniz gülüşmeler fısıldaşmalar duyuluyor. Fakat bir Microsoft ürününü önlerine sunarsanız “şahane” gibi tepkiler gelebiliyor, güven duyuluyor. Sebep? Çünkü biz etiketler ülkesiyiz.

Peki böyle mi? Neden taktın bu kadar Microsoft’a?

Microsoft’a takıldığım düşünülmemeli. Tepkimin sebebi insanların etiket merakı, araştırmadan kaçması, farklı çözümlere yanaşılmaması, kalabalık olan her yerde çözümün olduğuna inanılması. Yoksa Microsoft gerçekten de dünyada en iyi yazılımcılara sahip, oldukça güzel ürünleri, projeleri olan bir firma. Visual Studo serilerini keyifle takip ediyor ve kullanıyoruz. Meseleyi biraz daha açalım.

Mavi Jeans ünlü olmadan önce oldukça düşük fiyatlardan pantalon satıyordu. Fakat ciddi ve kaliteli reklam stratejisi ile markasını tanıttı. Bu da etiketlere doğrudan yansıdı. Aynı kalitede üretim yapan fakat reklamı beceremeyen firmaların pantolonları aynı kalitede görülmedi halk tarafından. Neden? Çünkü herkes Mavi giyiyordu, güveniyordu.
Microsoft da böyle. En azından Türkiye’de hala böyle. Şimdilerde geliştirdiğiniz platformlar ne yazık ki Microsoft altyapısı ile geliştirilmeli gibi bir dayatma var gibi gözüküyor. Onun yazılım ekipmanı ile geliştireceksin, onun altyapısında verileri tutacaksın, onun standartlarına uyacaksın falan filan… Peki biz bu firmaya neden bu kadar bağlıyız? Hiç mi yok alternatifimiz?

İşte burada özgür yazılım olarak ifade edebileceğimiz open source uygulamalar dikkatimizi çekiyor. Bu uygulamalar tekelciliğe haykıran birkaç kişinin ürettiği şeyler. Hedeflerinde ilk sırada para olmadığından yaygın olarak kullanılsa da çok büyük projelerde ne yazık ki hala istenilen seviyede özgür yazılım bulmak zor. En azından Windows uygulamalarında çok çok büyük projeler göremiyorduk, ta ki internet çıkagelene kadar. İnternet ile insanlar mesafelere bakılmadan daha da yakınlaştı, kulaktan kulağa dolaşan şeyler haykırılmaya başlandı ve özgür yazılım oldukça büyüdü.

İnternet ve Özgür Yazılım

Belki de özgür yazılımın en çok kullanıldığı alan İnternet. Programcılık da tıpkı insanlar gibi çok çeşitlidir. İnternet programcılığı bunlardan sadece biri ve belki de günümüze gelene kadar en küçük görülenlerindendir. Sistem programcıları, windows uygulamaları geliştirenler, database yöneticileri böyle kikirdeyerek bu kişilere yaklaşırlar(dı). Günümüzde ise göremedikleri şeyleri bazıları görmeye başladı. Evvelki satırlarda ifade ettiğim şeyi unutuyorlardı. “Mesafe ve insanların insan olduğu”.

İnternet insanları sıra arkadaşı mesafesine indirdi, samimiyeti getirdi. Gelişen teknoloji ile beraber iletişim kolaylaştı. Öyle ki artık insanlar görüntülü, sesli iletişimi yok denecek ücretler ile yapmaya başladı. Elbette internetin bunda yadsınamaz payı vardı. Zira insanlar üstünde koştukları program ile ilgilenmek yerine, kendilerine yön veren, onların çıkarlarını gözeteden yazılımlar ile daha çok ilgilenirlerdi. İnternet onlara pek çok “fayda” sağladı ki fayda kavramının insanoğlu için ne kadar önemli olduğunu tekrar anlatmak dahi istemiyorum.

Böylece insanlar görmeye başladılar. Banka işlemlerini evlerinden halledip, araştırmalarını internet üzerinden yapmaya başladılar. Facebook gibi uygulamalar ile unuttukları yüzleri hatırlayıp internet forumlarında klavye şövalyesi oldular. Böylece “marjinal fayda” doruğa ulaştı, kullanıcı ihtiyacını karşılayıp mutlu oldu, bunun yanında haz da duydu. Zira minimum maliyete maksimum verim aldı.

Peki ya internetin geleceği? Türkiye?

İnsan içinde bulunduğu şeylerin farkında olamıyor. Tıpkı akvaryumda yaşan balıklar gibi. Bundan daha beş sene öncesinde ADSL sadece şirketlerde bulunuyordu. İnsanlar (en azından ben) harıl gürül modem gıcırtılarıyla, 146′larla internete bağlanıp saatlerce bekleyip Led Zeppelin’in Stairway To Heaven şarkısını indirmeye çalışıyorlardı. Şimdi ise beklentiler değişti, gelişti. Peki ya internet?

Tim O’Reilly ki Web standartlarının kaşifi olan O’Reilly Media’nın kurucusu, bunu Web 2.0 ile açıklıyor.

Tim O’Reilly’e göre Web 2.0′ın kısmen tanımı şöyledir: “Web 2.0 bilgisayar endüstrisinde internetin bir düzlem olarak ilerlemesiyle bir işletme devrimi ve bu düzlemin kurallarını başarı için anlamaya çalışmaktır. Bu kurallar arasında başlıcası şudur: Ağ etkilerini daha çok insanın kullanabilmesi için programlar kurmak.”

Bunun anlamı şudur; İnternet kullanıcıları salt bilgi alan kişiler olmanın ötesinde, teknolojinin getirdikleri ile bilgi veren, geliştiren, önüne sunulan seçenekler ile yenilikler yaratan üretken kullanıcı sınıfına dönüşecektir.

Bu bana göre çok heyecan verici. Zira eskiden Google amcaya soru sorar, oradan bir copy/paste ile oluşturulmuş siteye girer, okur, heyo çığlıkları ile kapar giderdi kullanıcı. Fakat bununla artık farklılaşmalar doğdu, kullanıcılar doyuma ulaşmaya başladı. Sanılanın aksine Web 2.0; Ajax, CSS, Div taglarından ibaret bir dil topluluğu değildir. Hala ne yazık ki bu anlaşılamadı.

Peki bunun dışında ne getirecek? Web 2.0 ile Açık kaynaklı yazılımın, Microsoft’un ne alakası var?

Doğrudan kullanıcıyı etkileyecek ve içine çekecek olan Web 2.0 yazılımları ile kullanıcıların her biri artık bir geliştirici olacaktır. Bu da özgür yazılımın insanılmaz bir grafik ile yükselişe geçmesini sağlayacaktır. Öyle ki bu kullanıcılar özgür yazılım projelerinde aktif rol oynayarak internette salt bilgi alan kesimden çıkıp insanlara çözümler sunan bireylere dönüşecektirler. Hatta bundan ekmek yenmeye başlandı bile. Dikkat ederseniz Facebook.com Web 2.0′ın zirvesinde şu an. Fql, Ftml gibi kendi yazılımları tamamen PHP, C ve C++ ile geliştirildi. Bu da özgür yazılım ile oluşturulmuş en büyük sitelerden biri arasında kendisini göstermemizi sağladı. Böylece sessizce olsa da özgür yazılıma güven arttı, bu da doğrudan Microsoft ve benzeri firmaları düşündürüyor olsa gerek. Örneğin İngiltere’de şirketler artık Windows sunucuları yerine Unix sunucuları tercih ediyorlar. Zira Unix sunucuların bir yıllık maliyeti, Microsoft sunucularının bir aylık maliyetine eşdeğer.
Sektörlere getirecekleri

Şunu iyi biliyoruz ki sektörler en çok maliyete ve faydaya önem veriyor. Eğer bir firma, şirket, kobi, holding kendisine fayda sağlayacak, satış yüzdelerini artıracak bir yazılım bulursa dikkat kesiliyor, gerekirse büyük meblağlar ödüyor. Fakat özgür yazılım ile bu meblağlar düşecek, çözümler artacak, tekel yok olacaktır. Zira çözümler artacak, seçenekler çoğalacaktır. İnsanların Linux tabanlı sistemlere güveni, interneti etkin kullanmasıyla yazılım anlayışı değişecektir. Firmalar mağazalarını tek tıkla internet üzerinden kontrol edebilecek, anlık veriler ile en kesin rakamlara ulaşabilecekler ve en önemlisi bu sistemler için milyon dolarlar ödemeyeceklerdir.

Sözün özü, katılımcı internet sitelerinin yükselişte olduğu günümüzde şirketler için fantastik çözümler sırada gibi. Alışılagelmiş yazılımların yanında daha etkileşimli, kullanıcısına heyecan veren basit ama kullanışlı, çok daha hızlı sistemler kullanıcılarını bekliyor olacak. Yazılımcılar ise kapalı kutu Microsoft yazılımlarından çıkıp, bağımsız yazılımlar ile programlarını tamamen özgürce, altyapısını bilerek, alınteri ile üretip oldukça özgün sistemler kurabileceklerdir. Web 2.0 standartlarıyla beraber gelen Ajax ve bilimum ekipmanı da kullanarak oldukça hızlı ve oldukça esnetileblir, güvenilirliği yüksek yazılımları oldukça düşük maliyetlere müşterilerine sunarak kar marjlarını yüksek tutacaklardır.

Sanırım tüm bu anlattıklarım bir laf çorbası olmamıştır. Bunlar beni heyecanlandırıyor. Hem de çok. Umarım heyecanımı düzgün paylaşıp sizlere faydalı olabilmişimdir. Yakında yeni projelerim ile beni Web 2.0 içinde göreceksiniz gibi hissediyorum :)

Facebook Application Yapmak?

Her yerde facebook, herkeste facebook

Hatırlıyorum da bir sıralar yonja.com diye bir şey vardı aynen facebook gibi. Fakat bu örnek biraz daha farklı. En azından limitler var (esasında oldukça limit var), en azından İngilizce bilmeyenler pek etkin olamıyor. Bu da (en azından Türk kullanıcıları için) bir eleme demek. Bunun sonucunda da daha farklı bir kullanıcı kitlesi ortaya çıkıyor. Fakat neden bu facebook denen hadise bu kadar popüler oldu? Benzer pek çok komünite hali hazırda vardı? Ama o uygulama (applicationlara uygulama diyeceğim bundan sonra) hazinesi yoktu hiç birinde değil mi?

Evet, facebook garip bir hızla büyüdü. Kulaktan kulağa denebilir belki ama yaratıcıları şahane bir altyapı ile karşılıyorlardı misafirlerini. Uygulamalar ise en çok dikkat çeken şeyler oldu, zira pek çok komünite sisteminde bu denli kullanıcıya panelini yönetebilme imkanı sunan bir platform yoktu.

Peki ya Facebook için uygulama geliştirme?

Nasıl oluyor da bu denli kalabalık bir uygulama arşivi inşaa edilebilmiş demişsinizdir belki siz de içinizden. Ortaya çıkalı ne kadar oldu da 6000 den fazla uygulama geliştirilebildi?

Elbette bu ortak bir inşaanın sonucu. Paylaşımcı içerikten sonra popüler bir sistem de paylaşımcı inşaa olacak gibi gözüküyor. Elbette daha evvelden denenen bu sistemler Facebook’ta zirve yapmış durumda. Dikkat ederseniz ekstra uygulamaları olmadan Facebook klasik bir arkadaşlık sisteminden farksız.

Facebook’un Anatomisi

Alıyoruz neşterimizi elimize ve başlıyoruz Facebook yapısını incelemeye.

Facebook, Left Bar (Sol Menü) ve FaceBook Canvas Pages’ten oluşuyor esasında.

Sol menü eklediğimiz uygulamaların listelendiği güçlü bir menü uygulamasıdır. Facebook Ajax altyapısı kullandığından bu menüde drag and drop özelliği mevcuttur, yani menünüzü kolayca tasarlayabilirsiniz.

Canvas Page kısmı ise uygulamaların koştuğu içerik alanıdır. Bu kısımda bir uygulamaya bağlı tüm işlemler gerçekleştirilir.

Hali hazırda profilinizin detayların listelendiği sayfa da bir canvas sayfadır.

Bunun yanında her uygulamanın bir ana sayfası vardır. Bu kısım sol menüden tıklandığında gelen alandır.

Çoğu uygulama facebook kullanıcılarının profillerinde gözükür. Bu kısım belki de uygulama geliştiricilerinin en fazla üstünde yoğunlaşması gereken alanlardan biridir. Zira bir uygulamanın hızla yayılması profiller vasıtası ile olur. Bu sebeple bu alan tasarlanırken karışık olmayan fakat ilgi çekici uygulamalar düşünülmelidir.

Elbette bunların yanında pek çok özellik de mevcut. Fakat şimdilik bunları biliyor olmamız yeterli.

Şimdi geçelim uygulamamızın içine dalmaya. Öncelikle http://developers.facebook.com/step_by_step.php adresinde oldukça pratik bir uygulama geliştirme aparatı bulunmakta. İngilizce bilen arkadaşlar muhakkak onu da incelemeliler.

Bir Uygulama Geliştirelim

Öncelikle http://developers.facebook.com/ adresinden Get Started kısmına ulaşıp Add Facebook Developer Application diyerek uygulama geliştiricileri için tasarlanan uygulamayı profilimize yüklemeliyiz. Bundan sonra developer uygulamamıza girip Setup New Application diyerek ilk uygulamamızı listemize alabiliriz.

Bu adımdan sonra yapılacak şeyler hayalimizdeki uygulamanın bilgilerini içermektedir. En önemlileri olan Application Name uygulamamızın ismi, Callback Url uygulamamızın yer alacağı dizinimizdir. Unutulmamalıdır ki facebook kullanıcılarına bir alan vermemektedir. Bu sebeple çalışmalarımızı kendi hostingimiz üzerinden yapmalıyız. Canvas Page URL ise uygulamamızın kısa yolu olacaktır. Akılda kaılıcı ve uygulamamızın ismi ile alakalı bir kısayol olmasına dikkat edilebilir, edilmeyebilir de.

Bir şekilde bu aşamaları geçtikten sonra uygulamanızı listenize ekleyebileceksiniz. Fakat elbette iş çok daha farklı.

Facebook bildiğimiz mantıkların ötesine geçmiş durumda. Bizlere FBML (Facebook Markup Language), FQL gibi alışık olmadığımız bir çalışma örneği sunuyor. Hatta “oha adamlar kendi dillerini yazmışlar” diyorsunuzdur içinizden sanırım.

Bu denli derin bir konuya girip darmadağın olmak istemediğimden kısa kısa özetliyorum. Belki ileride daha ayrıntılı bir döküman hazırlayabiliriz.

Şimdi bu facebook ile çalışabilmek için iki önemli anahtara ihtiyacımız var. İlki API Key, diğeri ise Secret Key. Bunlar API geçişlerinde Facebook’un uygulamanızı güvenli bir şekilde tanımasına olanak sağlayan köprü anahtarcıklarıdır. Uygulamanızın config dosyasında muhakkak tanımlanmalıdırlar.

$appapikey = '[your api_key]‘;
$appsecret = ‘[your secret]‘;
$facebook = new Facebook($appapikey, $appsecret);
$user = $facebook->require_login();

Şeklinde facebook uygulamamızı çalıştırabiliriz.

Fakat öncelikle bu classları tanıyacak altyapıyı elde etmemiz gerekli. Eğer ki PHP kullanıcısı iseniz Client Library’niz hazır. http://developers.facebook.com/resources.php adresinden edinebilirsiniz. Bundan sonra tek yapmanız gereken ilgili dosyaları include ederek tasarımınızı yapmanız.

http://developers.facebook.com/step_by_step.php#downloads adresinden facebook’un developer adaylarına yardım olması amacı ile sunduğu örnek uygulamayı keşfedebilirsiniz.

Şimdilik bu kadar.