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.

Beş dakika

Başla!,

Beş dakikalık hayat..,

Su gibi geçiyor. Su gibi duru değil. Boşluk ve ıssızlık. Karanlık ve aydınlık. Para ve çamur, kir ve koku. Zaman avlanıyor.

İnsan.

Gösteriyor aydınlığını. Karanlığı o kadar aydınlık ki. Aldanıyor insan. Zaman avlanıyor.

İnsan.

Düşünüyor düşünemediğinde. Ağlıyor kahkahalarıyla. İçi parçalanıyor. Zaman avlanıyor.

Hayat.

An. Ona ulaşmak, onu yakalamak yok. Ona dokunmak zor. Kovalamaca yoruyor ademi. Âdem olmak zor.

Beş dakikada bitiyor hayat.

Son.

Anlaşılamayan Gençlik

Çok popüler bir obje olmuş durumda şu sıralar hani o efsane genç nüfus. Gözlerin üstünde olduğu, çeşitli beklentilerin bulunduğu gençlik. Elbette bu beklentiler kişiden kişiye değişiyor. Kimi oy hesabını gençlik üstüne kurarken kimi de vatanı milleti ileride şahane bir şekilde temsil edecek övünç kaynakları olarak görüyor onları.

Evet, peki gençliği hiç gençlerden dinleyen oluyor mu? Açıyoruz gazeteyi karşımıza gençleri anlattığını iddia eden muhtemelen tanımadığımız bir psikolog ya da sosyolog çıkıyor. Peki ya gençleri anlamak gerçekten akademik çalışmalar ve beyin fırtınalarından mı geçer? Onlara kulak vermek daha kolay ve daha başarılı bir yöntem olmaz mı?

İşte, bunun için yazıyorum bunları. Anlayasınız diye bizleri. Ne yazık ki bazı tabular oluşmaya başladı Türkiye’de. Bunda elbette en büyük etki kutsal medyamızda. Gençler asi, kolay beğenmeyen, Türkçesine sahip çıkmayan, bir önceki kuşakla yakından uzaktan alakası olmayan bir güruh olarak gösteriliyor. Acaba bu ne kadar doğru? Ya da böyle bir gençlik yetişiyorsa bunun sebepleri yok mu, önlemler alınamaz mı?

Açın televizyonunuzu, kutsal kutuyu, insanı karşısında eblekleştiren ve etkisi altına alıveren o kareler topluluğunu, sonra açın bir komedi unsuru bulundurduğunu iddia eden bir diziyi ve karşılaştığınız ilk genci bir inceleyiniz. O zaman anlayacaksınız ne demek istediğimi. Peki ya internet? En güzel örnek şu sıralar çılgınlar gibi reklamı yapılan patlıcan (http://patlican.ekolay.net/) sitesi. Sözde gençlik portalı. Açılımı şöyle “patliican”, yani “patlayacaksın”. Ana başlıkları da böyle; “Muhabbete akıcan, mobil takılcan”. Evet, artık ne yazık ki böyle yaklaşımlarla gençlerin ilgisi çekilmeye çalışılıyor. Bir genç olarak soruyorum; “Biz bunu hak edecek ne yaptık? Bizleri neden kültürsüz mantarlar olarak görüyorsunuz?”

Görüyoruz ki, daha doğrusu göremiyoruz ki kültürümüz artmıyor. Kültürel etkinliklerimiz olmuyor. Devamlı kendimizi aşağı görüyoruz, daha da aşağı inmek için elimizden geleni ardımıza koymuyoruz. Sonra da bu gençlik bizden olmamalı diye kara kara düşünüyoruz, onlara fırsatlar tanımıyoruz, onları doğduklarından itibaren koşturuyoruz. Onlara verdiğimiz nasihatler ile hayatlarını kurtarabileceklerini söylüyoruz, onlara güveniyoruz… Onları anlıyor muyuz?

Hele ki şu dönemde epey garipleşti iş. Apolitik gençlik, aniden politik yapılmaya çalışıldı. Bu kadar hayattan kopmuş, sosyalliği sanal komünitelerde arayan bu gençler ise tökezledi. Bazıları anlam veremediler koşturmaya, kendini kurtarma amacını sırtına yüklemiş olan çoğu aval aval baktı olan karışıklıklara. Sonra mikrofonlar onlara uzandı:

“Geleceğinizden endişeli misiniz?”

Genç doğruldu, düşündü…

Gelecek? Hayallerde böyle bir isim yer almaktaydı fakat önce sınavını geçmeliydi, sonra finallerini vermeliydi, iş mülakatını geçmeliydi, sonra bir ev kiralamalıydı, sonra ailesinin yüzünü kara çıkartmamalıydı sonra sonra… Karanlık.

İşte çoğu genç artık böyle düşüncelerde yüzüyor. Sözümona uzmanlar da onları anlamaya çalıştıklarını iddia ettikleri gibi onları yoksaymaya devam ediyorlar. Onları en iyi şekilde eğitmek, sahiplenmek, keşfetmek olması gerekirken amaç tam tersi görmezden gelerek sistemi “olması gerektiği gibi” işletmeye devam ediyorlar.

Umuyorum bizler de anlaşılacağız bir gün. Elbette o zaman bizler artık genç olmayacağız.

Bilgisayar mühendisliğini seçeceklere tavsiyeler

Selam olsun.

Şu öss döneminde hafiften deneyimlerimizi aktarmak iyi olabilir sanırım. Bu yazıyı tüm bilgisayar mühendisliği adaylarına ithaf ettim gitti :)

Esasında bilgisayar mühendisliği kavramını anlamak lazım. Ülkemizde hala oturmamış bir kavram ki insanlar “bilgisayar” kelimesini duyunca “off süper” diye tepkiler veriyor. Belki siz de onlardan birisiniz. Acaba gerçekten öyle mi?

Burada önemli olan sizin o mesleğe yaklaşımınızdır. Yıllarca bir terzinin yanında yamaklık yapmış biri tekstil mühendisliğini duyunca bu tepkiyi verebilir. Zira o işin zorluğunu ya da detaylarını bildiğinden bu meslek onun hayalinde bulutların ötesindedir. Bir de tam tersi bir durum vardır ki o da o mesleği hiç bilmemek, sağdan soldan duymak ve gözünde büyütmektir. İşte bir bilgisayar mühendisi adayının ilk öğrenmesi gereken şey bu mesleğe olan yaklaşımıdır.

Öncelikle bilmelisiniz ki, bilgisayar mühendisliği sabır işidir. Bakıyorsunuz bakal cips satıyor kasap etleri parçalıyor, terzi dikişini dikiyor işini yapıyor. Fakat bilgisayar mühendisi ne yapıyor? Onun işi böyle pratik şeylerle anlatılabilir mi, ya da bu kadar basite indirgenebilir mi? Ne yazık ki pek böyle değil. Bu mesleğe adım atanlar bilirler ki, eğitimlerinin ilk süreçlerinde bilgisayardan dahi bahseldilmez. Birkaç mesleki ders alınsa da bu onlara pek ışık tutmaz, temel mühendislik eğitimleri alınır ve “mühendis” kavramı oturtulmaya çalışılır. Elbette bu senelerde çoğu kişi mesleğinden “ne yazık ki” soğur.

Bilgisayar mühendisleri yazılım ve donanım alanlarına ayrılırlar. Bu klişe bir kategorilendirmedir, hala kimse bilmez bunun özünü. Genelde yazılım denince akla programlama dilleri ve algoritmalar gelir. Tabi bunun ötesinde büyük projelerde, proje yöneticiliği, yazılım mühendisliği, sistem analistliği, analist programcılık gibi aşamalar vardır. Donanım, gerçi bu ne anlama geliyor kimse bilmese de, mikroişlemci tasarımları, devreler, ledler, butonlar ıvır zıvır derken yine makina dili ile işlem yapan devasa bir alanı ortaya çıkartır. Bazıları donanım diyince hala ram çıkartıp takma, cd-rom açıp kapama, kasa tamiri düşünse de bu pek de öyle değildir. Donanımsal bilgisayar bilimi çok daha zorlayıcı bir alandır, yeni teknolojiler üretmeyi hedefler.

Kısacası bu alandaki mühendis adayları, her zaman, zamanın gerektirdiği ihtiyaçları takip etmeli, sektörü araştırmalı ve alandaki yenilikleri kovalamalıdırlar. Bunun yanında titiz ve temiz bir işçilik ile “üretim” yapmalıdır. Bir hatanın tüm projeye mal olabileceğini bilmeli, buna göre mesleki eğitimin başında önem teşkil eden dersleri ciddiye almalıdırlar. Sonuçta, sabır bu mesleğin temelinde yatar. Bir mühendis sabreder, bazı şeylerden feragat ederse, mesleğinin ne anlama geldiğini öğrenir ve başarılı bir bilgisayar mühendisi olur. Zira şu dönemde, ülkemizde “bilgisayar mühendisi nedir ne iş yapar” denildiğinde buna doğru cevap verebilecek çok bilgisayar mühendisi adayı az sayıdadır. Akılları başlarına geldiğinde iş işten geçmiş olur.

Bir diğer mevzu ise sevmek. İnsanın en temel yaradılış özelliklerinden biri, öyle ki bir insan ailesini gerçekten severse, sayarsa onlara bağlı olur, onları tanır, onlarla birlikte olmaktan keyif alır, sıkılmaz. Mesleğiniz de aynen bu şekildedir. Onu severseniz, onunla mutlu olur, bir de üstüne başarılı olursunuz. Bu sebepten ötürü, kesinlikle ve kesinlikle eğer istemiyorsanız, eğer bilgisayarı sevmiyorsanız bu mesleği seçmeyin. Ailenizin baskısı ile zaten tercihinizi yapmayın, önce bir düşünün, en sevdiğiniz aktivitelerinizi düşünün, eğer ki içinde bilgisayar var ise o zaman bu mesleği seçin.

Bir diğer mesele ise şüphesiz okul seçimi. Şuna emin olun ki, Türkiye’de tam manasıyla, şahane bir bilgisayar mühendisliği bölümü yoktur. Daha evvel de bahsettiğim üzere mesleğimiz henüz anlaşılamamış durumdadır. Bunun yanında son yılların güzide mesleği olan bilgisayar mühendisliği bölümü derslerini genelde bilgisayar mühendisliği mezunu öğretim görevlileri vermez. Çoğu elektirik-elektronik mezunudur ve sonradan bu alana ilgi duymuşlardır. Yazılım sektörünün büyümesi ve mühendislere geniş olanaklar sağlayıp devasa projelerde yer almalarını salaması da akademisyen sayısını azaltmıştır. Bunu çok daha detaylı olarak sonra inceleyebiliriz, zira çoğu insan kendi içindeki özgüvensizliğinden piyasaya çıkıp yazılım uzmanı olamayacağından ürker ve “akademisyen olurum abi, üniversitede kalırım” der. Oysa ki bu ne kadar da ilginç bir mantıktır.

Peki bunca laftan ne çıkartmalıyız? Şöyle ki; bilgisayar mühendisi olacaksanız bunu kendiniz başaracaksınız. Kafanıza kimse sihirli bir asa ile dokunup sizi böyle gözlüklü beyaz önlükler giyen labaratuvarlarda koşturan bir bilgisayar mühendisi yapmayacaktır, buna emin olun. Siz kendiniz arzulayacak, kendiniz kovalayacak, kendiniz araştıracaksınız. Eğer böyle olursa, kendi mesleğinizde ileriyi görmeye başlarsınız ve şüphesiz doğru yoldasınızdır. Yoksa okulun kampüsü küçük, aktivitesi yok diye söylenir ve kendi işinize adapte olmazsanız muhakkak ki kaybeden siz olacaksınız.

Bunun için acele etmeyin, kendinize sorular sorun, bilgisayarı sevip sevmediğinizi düşünün, bir okula takılıp kalmayın zira o okulda dört - beş sene geçireceksiniz, lakin bir mühendis olarak kırk yıl geçirebilirsiniz, bu sebeple adımlarınızı atarken dikkat etmeye çalışın. Herkesin dediğine hemen aldanmayın, herkesin dediğini kafanıza not düşün, onlardan sonuçlar çıkartmaya bakın. Bu alanda acele ile karar vermek ya da sabit bir fikir ile “ben böyle bir yol seçtim, böyle giderim abi” dememeye gayret gösterin. Bilgisayar bilimlerinde neyin ne hızla değişeceği bilinemiyor. Alanınızda en iyi mühendisken aldığınız 5000$ maaş birden yeni bir teknolojilerin yayılmasıyla 500$’a düşebilir. Bu sebeple özünüzü ve size en yakın bilgisayar mühendisliği alanını seçin.

Gelecekteki proje arkadaşlarıma şimdiden başarılar dilerim :)

Bilgisayar Mühendisi Adayı Olmak

Şu sıralar adaylık, aday adaylığı kelimeleri çok popüler. Düşündüm de, herkes bir siyasi olmak için gerekenleri biliyor gibi, siyasetin devamlı içine çekiliyoruz, paçalarımız gergin. Bir de pek de umrumuzda olmayan bilim dünyasına bakalım, bir mühendis adayının notları ileride keyifle okunabilir. En azından ben tebessüm edeceğim sanırım.

Aman yarabbim. Bilgisayar. Hani çocukluğumuzda ancak Hollywood filmlerinde gördüğümüz bir ekran, bir kasa, kablolar güruhu. Karşısına oturup köleleştiğimiz alet. Anlayanın da anlamayanın da işinin düştüğü “şey”… Biz bu aletin uzmanları Türkiye’de nasıl yetişiyor, Türkiye’de bilişim sektörü ne hallerde, bilgisayar mühendisliği öğrencileri nasıl eğitim alıyor gibi konular üstünden hafifçe geçeceğiz, tabi bir adayın dilinden.

Bana göre bilgisayar mühendisliği Türkiye’de anlaşılamamış meslekler arasına çok rahat girebilir. Örneğin bir toplulukta mesleğiniz sorulup, cevabınız alındıktan sonra “uff, süper, şahane” tepkileri gelir genelde. Lakin esasında kimse ne iş yaptığınızı bilmez. Sadece hoş bir söylenişi vardır, mühendistir bir kere. Hele bilgisayar! Baksana, her yer bilgisayar; “Bu adam ileride kesin köşe olur… İrtibatı kopartmayalım.”

Bir de bunun akademik ayağı var ki, o çok daha kötü. Zira bu bahsi geçen mesleğinizi beğenen kişiler mesleğinizi “bilmedikleri” için belki de o tepkiyi verirler. Lakin bu işin ehli “eğitimci” kabul edilen kişilerin de diploma haricinde bu kişilerden çok farkı yoktur. Tek farkları onlar “off” demez, “off” dedirtirler, bunu kendilerine hak görürler adeta. Bilindiği üzere Türkiye’de çoğu mühendislik bölümünde hala belirli standartlar yoktur. Bu da mühendislik sektörlerinde büyük bir dağınıklığa sebep olmaktadır. Bilgisayar Mühendisliği de böyledir. Pek çok üniversitede alınan mesleki dersler benzer gözükse de yapı itibari ile aralarında çok büyük farklar vardır. İleride mesleğimizi doğrudan etkileyecek bu derslerin içeriği genelde özenle seçilmezler. Örneğin bazı okullarda programlama dersinde, oldukça paslanmış bir dil olan Fortran öğretilmekte, çoğu dilin temel yapısı olan C küçük görülüp es geçilmekte, böylece yazılım sektörüne yönelecek öğrencilerin çoğu daha alt yapısını bilmedikleri projelerde tökezlemektedirler. Bu sebeple sektörel eğitim veren kurumlar Türkiye’de gerçekten güzel ekmek yemektedirler. Bu Türkiye’de en azından bilgisayar mühendisliğindeki eksikliği rahatça gözler önüne sermektedir. Siz de iyi bilirsiniz ki “mühendis” diploması alan kişiler, kendilerine güvenmeyerek bilimum yerden sertifika alma çalışmalarına girerler. Tüm bunların sonucunda ise esas amacı ülkesine hizmet etmek olması gereken bilim dünyasının taze mühendisleri daha ne yapacaklarını bilmediklerini büyük bir dünyaya adım atarlar, yada yaka paça atılırlar.

Çaylak mühendislere güvenmeyen birçok köklü firma alım yaparken genel yetilerini ölçtükleri mühendisleri, aldıkları eğitimlere çok önem vermeden işe alırlar, çekirdekten çaylaklarını yetiştirip kendileri için kalifiye bir eleman haline getirirler. Bu bakımdan bazılarına göre “iş, işte öğrenilir”. Bu kişiler elbette şanslı olanlardır, bir de işe giremeyip hayatın tokatları ile işini kendi kendine öğrenmesi gerekenler vardır ki, o çok ayrı bir konu. Fakat tüm bu konuların kaynağı sorgulandığında tek adrese çıkılmaktadır. “Eğitim”. Evet, Türkiye’de her konuda bulunan belki de en büyük eksiklik.

Şimdi son sınıfa başlamak üzere olan bir adayın genel izlenimlerine bakalım. Eğitiminizde yabancı dil büyük önem arz etmektedir. Bu bakımdan ilgili hazırlık aşamasını atlar yada tamamlarsınız. Bu husus genelde standartlaşmıştır, çoğu mühendis bu yılı “yatma yılı” olarak kabul eder. Zira çoğu zaten lisede hazırlık okumuş lakin süper eğitimin getirisi ile öğrendikleri dili birkaç senede unutuvermişlerdir. Bu hazırlık yılı tazelenme ve üniversiteye adapte olma yılıdır. Sonra akademik yıllar başlar. Kimya dahi alabilirsiniz. Genel matematik derslerinden sonra yavaş yavaş programlamaya girersiniz. Tabi hayalinizde o yeşil devreler, o kabloların tasarımı falan vardır. Ama beklemeniz gerekir elbette, herşeyin bir sırası vardır. Sabretmeyi öğrenirsiniz. Sonraki sınıflarda karşınıza mühendislik matematiği, lineer cebir gibi önemli dersler gelir. Sonra sabrınız muradınızı yanında getirir. Devre analizi, devre tasarımı bilimum devre şeysi alırınız. Lakin bir türlü uygulayamazsınız o devreleri. Hep tahtada hep kağıtlarda. Ses çıkartırsınız, hemen bir “höt” gelir. Karar verisiniz. Yazılım en mantıklısı, en azından uygulamanızı kendi evinizde geliştirebilirsiniz, hem sektörde de yükselişte bu dal, herkese de lazım. Evet evet, yazılım en güzeli. Ona da değer verilmez. Çoğu öğretim görevlisi “elektronik” mezunu olduğu için tahtada C anlatır tıpkı devre derslerini anlattıkları gibi. Bu sefer deneyimlisinizdir, ses çıkartmaz ve söz dinlersiniz. Nasıl olsa kendi kendinizi geliştirebilirsiniz. Bu sefer programlama dillerini küçük görüp, makina dilini size verirler. Lakin bunu da uygulayamazsınız, belki birkaç ışık yakıp ses çıkartabilirsiniz mezuniyetinize az kala, ama o kadar, bu kodları ezberlemek en iyisidir. Mikroişlemciler, robotik gibi dersler alırsınız. Heyecanlı bir öğretim görevliniz ve donanımlı bir labaratuvarınız yok ise bu derslerin janjanlı adları ile sadece övünebilirsiniz. Düşünsenize robotik ve kağıt üstünde yazılı olmak. Böylece alırken kalbinizin hızla çarptığı dersler, sınavda kalbinizi zorlar. Kağıt üstünde bilgisayar mimarisi çizersiniz.

Tabi öğrenciler de artık garipleşmiştir. Kimi rahat, kimi gergindir. Bazıları her bölümde olduğu gibi kafayı akademisyen olmaya takar, çalışır da çalışır, unuturlar ki yine kapılarında kabul için uyudukları kişiler onları aşağı gören elektronik mühendisi olan öğretim görevlileridir. Heyecanı kalmamış bu hocaların imkansız tezleri ile çürürler, ekmek ve aslan ile tepişir dururlar. Kimiler PR denen nesneyi keşfeder ve kendilerini pazarlarlar. Danışmanlık yapıp oradan oraya koştururlar. Kimileri kendi şirketini kurmaya çalışır, kimisi memur, kimisi patronun kölesi olur. Kimse ne yapacağını bilmez, artık sadece o ulvi nesne, “diploma” için uğraş verirler. Eğitim alamazlar, öğretimin nasıl yapılacağı bilinmez. Konunun uzmanları değil, konunun yanından geçenler tüm kaprisleri ile sizlerledir. Herkes kendi dersinin en önemli olduğunu iddia ettiğinden tarih dersinin projesi için arkeoloji müzesini gezebilirsiniz. Kiminin ise sert kuralları vardır. Mesleğinize yardımcı olduğunu düşündürür başta, sevinirsiniz, sonra sayfalarca ezberi görür ve yine uygulamasız nasıl mühendis olacağınızı kara kara düşünürsünüz. Ama unutmamalıdır, sonunda o diplomaya kavuşacaksınızdır, asıl sorunun o zaman başlayacağına eminsinizdir artık.

Geriye dönüp bakarsınız, büyük keyifle, heyecanla girdiğiniz o bölüm, o şahane meslek şimdi gözünüzde bir anlam kazanamamaktadır. Düzgün bir eğitim alamamışsınızdır. Anlaşılmaz olan mesleğiniz sektör tarafından da bilinmez, her birinin öğrenilmesi seneler alan nitelikler beklenir sizden. Aynı zamanda genç olmanız da istenir, kısacası mehdi bekler gibi beklerler o adayları, ama en sonunda acı deneyimlerle öğrenilir ki bu işler karışık işlerdir. Hem sektör bilmez sizi, hem siz bilmezsiniz sektörü. Çoğu kişiyi görebilirsiniz orada burada freelancer web programcısı, sistem programcısı olarak. Bazıları bilgisayar dahi satmaya başlar, bazısı artık başka bir bölüm kazanmıştır.

Sonra sorarlar, neden biz de “onlar” gibi olamıyoruz. Herşey bizde de yok mu? Bak üniversiteler, bak gençler pırıl pırıl, bak üç kuruşumuz da var bu uğurda harcayacağımız… Hmm, olmuyor sanırım. Sanırım kafalar asıl değişmesi gereken. Oturup birileri mühendislik ne anlatmazsa, mühendislik standartları belirlenmezse, eğitimciler bilinçlendirilmez, sektörde pay sahibi iş adamları bilgilendirilmez ise Türkiye hala daha böyle kafası karışık gezecektir, en kötüsü kafasının neden karışık olduğunu dahi bilmeyecektir.

Bundandır ki, bir bilgisayar mühendisi adayı bana göre, bu devirde, kendi kendini yetiştirmektir ana mesele. Bol okumalı, yazmalıdır. Sonra çalışmayı yavaşça sevecektir mühendis. Ezberden öteye geçecek ve uygulamaya başlayacaktır. Okuduğu için projelerde zorlanmayacak anlayamadığı noktaları araştıracaktır, yazacaktır, eksiklerini ve nasıl adımlar atması gerektiğini öğrenecektir. Kanındaki heyecanı kaybetmediyse girişecektir doğru adreslere, münazara edip hayaller ile gerçeklerin buluşturulup nelerin üretilebileceğini görecektir. Geliştirecektir kendisini. Fakat hala öğrencisi ile iddialaşan, onu disiplinize etmek için sınavlarından bırakan da bırakan, bir şey öğretmeyen, bir öğrencinin en değerli varlığı olan “zamanını” heba eden eğitimciler olduğu müddetçe mühendisler, çalışmayan, okumayan, yazmayan, umutsuz, hayal kuramayan böylece üretemeyen mühendisler olarak mezun olacaklardır.

İşte bir bilgisayar mühendisi adayı önünü, geçmişini böyle görüyor. Elbette ışık var, fakat bunu herkesin göremediği açık. Umuyoruz ki yakında biz de ışıklar saçan, parıldayan bir nesile sahip oluruz, yetişiriz, yetiştiririz.

Düşen bir adamın hikayesi

50 katlı bir binadan düşen bir adamın hikayesini duymuş muydunuz?

Adam her katta kendini rahatlatmak için şunu demiş içinden:

“Buraya kadar her şey yolunda.”

“Buraya kadar her şey yolunda.”

“Buraya kadar her şey yolunda.”

“Buraya kadar her şey yolunda.”
Ben aslında düşmüyorum, tırmanıyorum.”

* yere çarpar… *

Nasıl düştüğünüzün önemi yoktur. Önemli olan yere nasıl vardığınızdır.

300

Evet, gitmedim 300′e, tıpkı dediğim gibi. İzledim evimde. Bir yorum yapasım geldi hatta…

Yıllardır film izlerim, izleriz. Amerikan kültürünü az çok biliriz, hatta “bak yine Hollywood” klişesi dediğimiz dahi olur. Bu film ise bu sözü pek aşıyor, pek ileri götürüyor. Kimilerine göreyse hiç de öyle değil.

Öncelikle geç izlediğimden içimde ister istemez bir karşıt duruşluk vardı. Yani “yapmışsınızdır yapacağınızı da dur yine de izleyeyim” gibilerinden. Elbette biliyordum da 300′ün çizgi roman olduğunu, süpermanvari olduğunu ama… Neyse,

Oturduk, izledik.

Gelgelelim yoruma.

İlginç bir film. Klişe dahi diyemeyeceğim, sırf “efekt abi efekt”, “of aslan kaplan doğuştan savaşçı bunlar” diyip de savunulamayacak tarihi gerçekleri örtbas etmişler. Mantık kuralları elbette yok. Fakat olay süperman gibi bağımsız bir muhitte ve tamamen hayali olsa bu denli sözler etmezdik elbet, lakin olay gerçek olay olunca bazı şeyler çok gülünç geldi.

Mesela geçit ağzında Leonidas ve yüce Spartalı askerlerin geçitin ağzında düşmanı durdurma sahneleri o kadar komikti ki Cüneyt Arkın’a o kadar laf edenler bile utanır. 300 asker en az 3000 kişiyi geri itti. Evet, bildiğiniz itti. Düşünün musluğu açıyorsunuz, musluk akıyor, eğer tazzik çok fazlaysa ağzını ne kadar tıkarsanız tıkayın o sizi püskürtür, heh işte bu aslanlar püskürmüyor. Hatta 3000 kişiyi geri itebiliyor. Çözemedim.

Bir diğer komiğime giden ise süvari birliği sahnesi idi. Görüntüde en az bin süvari atlısı üstlerine koşuyordu. Bilirsiniz bir süvari iner, diğeri geçer… Bunda öyle olmadı 4 5 atlıyı aşağı indirdiler bitti. Bakın gerçek hayatta olsa bu atlar önüne bile bakmadan ne varsa ezip geçer. Hm, olmadı tabi.

Sonra ok sahnesi. Gökten yağan abartısız en az on bin ok kimseyi yaralamadı. Bunda mantık aramayalım derseniz, filmde aramayalım derseniz anlayacağım ama kişilerin süperman olmadıkalrını biliyoruz. Ölümlüler yani, sadece iyi savaşçılar. Bu arkadaşlar çok yüksek mevkiden düşen en az 500 gr (ki daha fazla olur ok ağırlığı) altında kalkanlarına birşey olmuyor. Ama saplanıyor, gerçektne komikti. Okçuluk tarihinde oklar bu kadar işe yaramaz olsaydı sizce kullanılır mıydı :)

Daha bir komedi fil sahneleriydi.

Üzüntüm hiç mi düşünmedikleri idi. Yani tamam piyade ve piyade savaşında 300 kişi binlerce kişiyi tutabilir bir geçitte, karşı tarafın kumandanı akılsız ise. Ama süvariyi asla, okçu destekli piyadeyi asla, hele hele filleri asla… Diğerlerini saymıyorum bile.

İran - Amerika meselesne değinmeyeceğim bile. Çok komik bir filmdi bence. Film sonunda da 1 batılının 5 doğuluya bedel olduğunu da bize öğretti film… Yani bilemiyorum, anlayan anlıyor sanırım bu filmden çıkarılabilecekleri.

Staj

:) Evet, nedense staj kelimesi duyulduğunda herkeste bir tebessüm hali oluşuyor. Belki genel kavramları içinde çay taşıma, klasör getir-götür, fotokopi olduğu içindir.

Peki ya staj nedir? Ya da staj denilince akla üstte yaptığımız tanım mı gelmeli? Bu mudur?

Yurt dışından örnekler vermek beni feci üzse de staj hususunda da bizden çok ilerideler. Dışarıda stajın işten çok farkı yok. Deneyimlerini sizle paylaşmak, sizi gelecekte yanlarında görmek istemeleri bunun temeli. Fakat Türkiye’de staj denince insanlar güler, bazıları naylon der bazıları o iş kolay der. Herkes der. Lakin deneyim almak, kendini geliştirmek… Bunlara önem verilmez. Yap, geç.

Bu sene yine staj, yine arayış, yine “acaba hayallere, yaratıcılığa, düşüncelere önem veren birini bulabilecek miyiz?” derdindeyiz. Hmm. Belki. Belki vardır yahu buralarda da hayal kurabilen birileri…

Staj mı :) O kolay ya…