Bilgisayar mühendisliği rehberi

Selamlar

abdullahonden.com bir slogan taşımıyordu başta. Fakat şimdi farkettim ki burası bir bilgisayar mühendisinin, mühendislik öncesi ve mühendislik sonrası adımlarını gayet samimi bir şekilde anlatıldığı bir yol haritası, adeta bir bilgisayar mühendisliği rehberi oluvermiş ve olmaya da devam edecek gibi gözüküyor.
Bunun önemini yeni kavradım. Esasında hobim olmayan, ama sonradan sevdiğim araba hususunda aramalar yaparken Barış Purut Bey’in Honda Jazz bloguna rastladım. Burada arabasını ilk aldığı andan itibaren yaşadıklarını anlatmış. Ne kadar basit denebilir başta, fakat o arabayı merak edenler için bana göre “kullanma kılavuzu” ya da “uzman görüşlerinden” daha iyi, daha samimi ve açıklayıcı bir kaynak oluvermiş.

İşte bu blog da tıpkı bu bahsi geçen blog gibi. İçeriği ile “abdullah önden” kişisini hedeflemek yerine, bir insanın bilgisayar mühendisliği öğrenciliğinden, bilgisayar mühendisliğine doğru olan yaşamını anlatacak.

Hani çocukken sorarlardı: “ne olacaksın?” diye. E o zamanda cin çocuklar en yüksek paranın kazanıldığı meslekleri söylerlerdi: “mühendis, doktor, çöpçü?” gibi.
İşte dilden dile dolaşan, efsane bir meslek gibi gözüken, kolay para kazanmanın anahtarı olduğu sanılan bilgisayar mühendisliği umarım bundan sonra okurlarımız tarafından daha iyi anlaşılacaktır.

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

PHP ve MySql ile İnternet Programlamaya Giriş

Buraya tıklayarak internet programlama, php ve mysql hakkında yazdığım oldukça doyurucu bir makaleye ulaşabilirsiniz.

Arkadaşlık Mefhumu

“Samimiyetsizlik dünyasından merhabalar.” Böyle sesleniyor her bakış artık bize. Gülümseyen bir yüz, tokalaşan bir el dahi artık farklı sanki. En azından buraları öyle.

Klişeleşmiş bazı şeyler var megaköylerde. Ara sıra düşünüyorum acaba bu standartları belirleyen bir kurum mu var diye? Bize devamlı geliştiğimiz, aydınlaştığımız söylense de bunun yanında bizden bir şeyler götürdüğünü kimse inkar edemez. Doğumumuzdan itibaren, sırtımızdan itile itile bir savaşın içine sürüklenmişiz barış dünyasında. Başta neden ve nasıl kelimeleri haznemizden alınmış. Kararları verenlerin kementleri ile hareketimiz sağlanmış. Sonrası.. Sonrası zaten belli. İstenen kişi oluveriyoruz.

Peki ya dostluklar? “Dost”. Ne kadar da ağır bir kelime değil mi? Acaba kaç kişi gözünü kapatıp “şu veya şunlar benim dostum” diyebilir acaba? Hele arkadaşlık?

İnsanlar genelde bir menfaat üzerine insanlarla tanışırlar. Sonra yine bu menfaat dolayısı ile aralarında bir bağ oluşur. Örneğin okul, iş, yolculuk, aşk? Kişilerin arasında bir ortak nokta vardır muhakkak. Okuldayken yoklamaya imza atacak, kendisi ile kantinde oturacak bir arkadaş, işteyken beraber yemeğe çıkacak, kısa sohbetini edecek bir arkadaş, aşkta ise ruhun gemisi olan nefsi okşayacak bir sevgili. Günümüzde en azından bu kavramlar böyle, buna indirgenmiş durumda.

Neden bunu inceliyorum? Esasında soruyorum kendime, sorguluyorum. Hep cevabım şu; “ortak noktanın sağlamlığı”. Artık insanlar birbirinin gözüne bakamıyor. Herkeste bir bezginlik ve ümitsizlik var. Anını kurtarmaya çalışan kişinin bakışları sizinle beraber o bir anı daha öldürmek istiyor gibi. En azından o en korkulan şeyden bir süreliğine daha kurtulmuş oluyor; yalnızlık.

Biraz geriye gidelim. 1300’lü yıllar. Osmancık sesleniyor; “Kardeşlerim, biz imanımız yüreğimizde, gücümüz bileğinde pehlivanlar, vatanımız için şehadet şerbetini içmeye hazırız! Benimle misiniz?”

Ben böyle dostluklar, böyle amaçlar, böyle hayatlar göremiyorum artık. Tek gördüğüm kayıp şehrin hayalet siluetleri. Bir insanın en yakın arkadaşına seslenişi “kanka-kanki” olmuş. En sevdiği arkadaşına durup dururken bağırıp çağıranlar türemiş. Sadece metin bazlı bir program vasıtası ile aşk?lar biter olumuş. Sohbet bitmiş.. Mesk bitmiş.. Hayatlar bitmiş..

Siz de farkında mısınız, bizler, bizim için programlanmış olan standartlar peşinde koşar olmuşuz. Sorgulamak yok. İnanmak yok. Araştırmak yok. Verileni al.. verileni al.. verileni al!

“Kardeşlerim, eğer benimleyseniz, kendinize edindiğiniz bir amacınız ve o amaçta asla sizi yalnız bırakmayacak kardeşleriniz olsun. Ona koşun fakat her zaman elinizde kitabınız olsun, doğru olun, dürüst olun ve inanın. İşte o zaman hayat denen şeyin tadını alacaksınız.”

not: sizin de doğum gününüz kutlu olsun :)

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 :)