Sunday, September 29, 2013

Arduino ve GPS Modülü - [GPS Tracker] - II

Herkese merhaba, GPS Tracker projesinin 2. yazısındayız. İlk yazıyı okumak isteyenler buradaki linkten ulaşabilirler. Hatırlatmak için projeyi tekrar kısaca anlatacağım. Uydudan Arduino'ya bağlı GPS modülü aracılığı ile alınan bilginin USB ile bilgisayarımıza aktarılması ve buraya gelen bilgilerin anlamlı datalara dönüştürülüp kullanıcının ihtiyacına uyarlanması işlemiydi. Bu yazıda Arduino'ya yüklediğimiz programın ne işe yaradığını açıklayıp. Projenin QT ayağına da değinmek istiyorum. Projenin QT ayağında, ek olarak Google Map API(V3)'sini de kullandım. API yardımı ile uydudan aldığım longitude(boylam), latitude(enlem) bilgilerini kullanarak bulunduğum konumu harita üzerinde gösterebiliyorum. Ayrıca aldığımız hız bilgisini de ekrana yansıtabiliriz. Bu uygulama ile basit bir navigasyon sistemi yapmış olacağız. Çünkü QT Creator ile yazdığım program dinamik bir program. Uydudan alınan veri değiştikçe, QT'ye yansıtılan veri de aynı hızla değişiyor. Şayet arabanızda laptobunuzu açıp, Arduino'yu da laptoba bağlarsanız, siz hareket ettikçe haritada sizi temsil eden simge de hareket edecektir.(Tabii biraz zahmetli bir iş olduğu kesin, bende henüz arabada denemedim.) Lafı çok fazla uzatmadan Arduino'ya yüklediğimiz kodu açıklamak istiyorum.

Thursday, September 26, 2013

Kinect ve İlk WPF Uygulaması - Derinlik Algılayıcı - [Proje]

Herkese merhaba, 1 yıldan beri Kinect teknolojisini takip ediyorum. Uzun zamandır bir Kinect alıp aklımdaki projeleri uygulamaya geçirmek istiyordum. Ve yaklaşık 1,5 ay önce çok uygun bir fiyata Kinect buldum. Daha önce duymayanlar için kısaca tanıtmak gerekirse Kinect ya da Project Natal, Microsoft'un, Xbox 360 platformu için geliştirdiği ve herhangi bir uzaktan kumanda ya da kontrol aygıtı olmadan oyun oynama imkanı veren alet. İlk olarak 4 Kasım 2010'da, Kuzey Amerika'da satışa sunulmuştur.

Projenin amacı bilgisayar ortamında herhangi bir kontrol çubuğu veya kumanda kullanmadan, sadece el hareketleriyle oyun oynayabilmektir. Bunun yanında ses de ayrı bir işletimi için geçerlidir. Kinect sisteminin el, kol hareketlerini algılaması ise kızılaltı ışın yayan projektörlerle gerçekleşiyor. Bu ışınlar görünmüyor. Işınların elde ettiği veriler, CMOS algılayıcılarında komuta çevriliyor. Bu sayede oyuna komut gidiyor. İşletim sisteminin kalitesinin yanı sıra bu komutlar bir saniyeden çok daha kısa zamanda ulaşmaktadır. 3. boyut grafiğinde gerçekleşmesi gereken hızlı komutları ise bilgisayara ait olan yazılım sağlıyor. Yani Kinect, sadece komutları ulaştırmakla sorumlu bir aygıt.

Saturday, June 15, 2013

Oyunlarda Yapay Zeka - Artificial Intelligence for Battle City [Proje]

Bu yıl üniversitedeki son dönemim, hatta bu yazıyı yazarken diplomayı alıp mezun olamama yaklaşık 1 ay gibi kısa bir süre kaldı. Mezun oluyorum diye seviniyorum, ama buruk bir sevinç. Bir çok kişinin aksine üniversitede geçirdiğim yılları özleyeceğim. Normalde geçmiş yıllardan aldığım fazladan dersler ile kredimi ziyadesiyle doldurmuştum. Aslında bu hazırlıkların hepsi son yılımın çok rahat geçmesi için yapılan yatırımlardı. Ancak geçmiş yılların yoğunluğunun verdiği alışkanlık ya da açılan seçmeli derslerin cazibesinden olsa gerek son yılım pek rahat geçmedi. Bilakis, diğer yıllara nazaran daha yoğun olduğu zamanlar bile oldu. Çünkü 1 adet bitirme projesinin yanında 2 adet projeli ders aldım. Bu projeli derslerden birisi "SE 354" kodlu, "Oyunlarda Yapay Zeka" dersiydi. Ders ilk defa verilmekle birlikte, öğretim görevlisi, üniversiteye ilk başladığım sıralar okulumuzda asistanlık yapan ve SDL ile tanışmama vesile olan Kaya Oğuz hocamızdı. Pojemiz Unity oyun motoru üzerinde C# programlama dili ve Standart Unity kütüphanelerini kullanarak "Battle City" benzeri bir oyun yapmaktı. Aslında belli bir arayüz hocamız tarafından bize sağlandı. Bizim yapmamız gereken ise bu arayüz üzerinde bulunan tanklara yapay zeka yazmak idi. Arayüzden kastım, harita, harita üzerinde bulunan çeşitli eşyalar(silah, sağlık) ve 4 tane tank bulunmaktaydı. Daha detaylı bilgi projenin anasayfasında mevcuttur. Aslında oyunun tamamını hocamız yazmış, sadece tanklar için gerekli yapay zekanın yazılmasını bizden istemişti. Proje aşaması çok eğlenceliydi. Ancak bazı noktalarda insanın kafası karışabiliyordu. Sonsuz olasılıkları düşününce iş içinden çıkılmaz bir hal alıyordu.

Thursday, June 13, 2013

Belgesel Kuşağı - Carl Sagan's Cosmos

Uzun zamandır, hayata geçirmek isteyip, işlerin ve derslerin yoğunluğundan dolayı gerçekleştiremediğim bir projede "Belgesel Kuşağı" idi. Peki nedir bu "Belgesel Kuşağı"? Kısaca bu zamana kadar izlediğim, üzerimde güzel izlenimler bırakmış, bazı şeyleri daha kolay ve rahat bir şekilde anlamamı sağlamış ve herkese faydalı olacağını düşündüğüm kimi belgeselleri sizlerle paylaşmak diyebiliriz. Bu kuşağın ilk serisi "Carl Sagan's Cosmos". ABD'li gökbilimci Carl Sagan'ın tarafından sunulan, yine Carl Sagan, Ann Druyan ve Steven Soter tarafından yazılan 13 bölümlük belgesel serisidir. Belgesel hayatın kökeni ve kainatın yapısını zevkli ve sade bir şekilde izleyicilere anlatmaktadır. Aynı zamanda kitabı da bulunan belgesel serisi, 60'dan fazla ülkede 500 milyona yakın kişi tarafından izlenmiş ve ABD'deki tv yapımları arasında en çok izlenen iki belgeselden biri olmuştur. Lafı çok fazla uzatmadan youtube linklerini sizlerle paylaşıyorum.

Saturday, February 16, 2013

Nostalji Oyunlar 2 - Super Ghouls'n Ghosts

Herkese merhaba, nostalji oyunlar serisinin 2.si "Super Ghouls'n Ghosts". Benim favorim olmakla birlikte en sevdiğim oyundur. Evet evet yanlış duymadınız! Kendisi listemde ilk sırada yer almaktadır. Pek çok kimsenin listesindeki ilk sıra belli olmamakla birlikte birçok kişi böyle bir sıralama yaparken bile tereddüt eder. Ancak bana göre "Super Ghouls'n Ghosts" kesinlikle listenin en üstlerinde yer almayı hakeden bir oyun. CAPCOM tarafından 1991 yılında "Super Nintendo Entertainment System(SNES)" için piyasaya sürülmüş bir oyun. Bilmeyenler için ufak bir hatırlatma "Ghosts'n Goblins" bir seri ve "Super Ghouls'n Ghosts" bu serinin 3. oyunudur. Serinin oynadığım tek oyunu "Super Ghouls'n Ghosts" ve PSP için 2006 yılında piyasaya sürülmüş "Ultimate Ghosts'n Goblins"dir. Ben bu yazımda "Super Nintendo" için üretilen versiyonu ele alacağım. Serinin diğer oyunlarını görmek için bu linke tıklayabilirsiniz. Lafı çok fazla uzatmadan, aşağıdaki görseller eşliğinde oyunumuzu anlatmaya başlıyorum.


Friday, February 8, 2013

Web2py ve Yeni Başlayanlar İçin Temel Bilgiler

Herkese merhaba, yaklaşık 1 aydır "Web2py" ile uğraşmaktayım. Bilmeyenler için kısaca tanımlamak istiyorum. Web2py, web uygulamalarınız için kullanabileceğiniz Python ile yazılmış bir framework. Hemen hemen Django Framework'ü ile aynı özelliklere sahip olsada, aralarında bazı temel farklar da bulunmakta. Öncelikle aralarındaki bu farklardan kısaca bahsetmek istiyorum.

  • Django MTV(Model, Template, View) yapısı kullanırken, Web2py MVC(Modeli View, Controller) yapısı kullanır.
  • Web2py, web uygulamanızı geliştirmenize olanak sağlarken, Django uygulamanızın tüm detaylarına hakim olmanızı ve tasarımınızı görünürde olmasa bile kafanızda bitmiş olmasını ister.
  • Web2py, sizden her şeyi import etmenizi beklemez ama Django ile uygulama geliştiriyorsanız hemen her şeyin import edilmesi gerekir.
  • Her iki frameworkte geriye dönük destek sağlamaktadır.
  • Web2py otomatik kendiliğinden veritabanınızı migrate eder, ancak Django bunu yapmaz.
  • Her iki frameworkte shell üzerinde işlem yapmanıza olanak sağlar.
  • Web2py kendiliğinden "View"ları belirleyip render eder. Fakat Django bunu yapmaz.
  • Her iki frameworkte "layout" modelini destekler.
  • Web2py, 2 tip yönetim paneline sahiptir. Bunlardan ilki uygulamayı geliştirdiğiniz yönetim paneli, diğeri ise admin yönetim panelidir. Buna karşılık Django tek yönetim paneline sahiptir. Ancak Web2py framework'üne göre daha detaylı ve iyidir.
  • Web2py, Django'dan daha rahat bir template sistemine sahiptir. "endif", "endfor", "endifequal", "endifnotequal" gibi ifadeler yerine her şey "{{ }}" ve "{{ pass }}" etiketleri arasında yapılır. Geliştirici için büyük kolaylık sağlar.
  • Web2py, Python ifadelerini "View"larınızda rahatça kullanmanıza olanak sağlar. Ancak Django bu desteği vermez.

Sunday, February 3, 2013

Nostalji Oyunlar 1 - Road Fighter

Çok uzun zamandır aklımda olan, fakat zaman sıkıntısı sebebiyle hayata geçiremediğim bir başka yazı dizisi de nostalji oyunlar serisidir. Nedir bu "Nostalji Oyunlar Serisi"? Çocukluğumda bolca oynadığım ve hala oynamaktan bıkmadığım oyunlar serisi diyebilirim. Bu yazı dizisinin ilk oyunu "Road Fighter". Yaşıtlarımın hemen hepsinin bildiği bir oyun. İsimden tanıyamayanlar için, aşağıda bir çok görsel bulunmakta. Eminim görselleri görünce bir çok kişi oyunu hatırlayacaktır.


Blogum 2 Yaşında!

Evet başlıktan da anlayacağınız gibi bugün Blogspot'ta yazmaya başlayalı tam 2 yıl oldu. Bundan tam 2 yıl önce bir Perşembe günü yazdığım ilk yazı ile blog serüvenimde başlamış oldu. Tabii Blogspot dışında da denemelerim olmadı değil. Neler üzerine yazacağımdan emin olamadığım bu projeler haliyle çok kısa süreli oldu. Bazıları ise başlamadan bitti. Bu yüzden bu blogda spesifik bir konu üzerine yazmaktan ziyade aklıma o an ne gelirse onunla ilgili bir şeyler yazmaya karar verdim. Hem bu süreç sonunda eğilmem gereken konuları da daha net belirleyebilecektim. 2 yıldan bu zamana aklıma gelen ve yazmak istediğim şeyleri burada sizlerle paylaşmaya çalıştım. Hatta bir çoğunu tembellikten veya vakit bulamamam dolayısı ile yazamadım. Ancak zaman buldukça blogumla ilgileniyorum. Okulda yaptığım projeleri, yeni öğrendiğim ve benim gibi çok kimsenin aradığı şeyleri paylaşıyorum burada. Bir çok bakımdan getirisi olduğunu da söyleyebilirim. İş görüşmelerinde blogun var mı sorularına sıkça maruz kaldım. Bir çok işverenin gözünde bir blogunuzun olması sizi bir sıra üste taşıyor. Ancak sırf bu sebepten dolayı blog yazmak çok anlamsız diye düşünüyorum. Bunun dışında bir kere geçmişte neler yazdığınızı, düşündüğünüzü göstermesi açısından çok faydalı. Bir başka güzel yanı sizin karşılaştığınız problemlerle bir çok kişinin de karşılaştığını görme şansı yakalıyorsunuz. Hatta bir nebze olsun bu kişilere yardım ettiğiniz düşüncesi mükemmel bir duygu. Bu 2 yıl bana başka bir şey daha öğretti. Bu blogun geçici bir proje olduğu kanısındaydım. Aslında gelecekte açmayı planladığım blogun ne üzerine olacağı ile ilgili ciddi bir bilgi verecekti burası bana. Belli bir zaman burada bildiklerimi ve düşündüklerimi paylaşmaktı amacım. Hangi konular üzerine yazmak istediğime karar verip daha profesyonel bir blog ve farklı bir tasarım ile tekrar yazacaktım. Ancak zaman geçtikçe farkettim ki Blogspot'tan ziyadesiyle memnunum ve başlangıçta geçici olarak varsaydığım bu proje, zamanla yapmak istediğim şeye dönüşmüş. Yakın bir gelecekte farklı bir servisle blog hizmeti vermeyi düşünmüyorum. Ancak belki tasarım anlamında sitenin dış görünüşü ile ilgili bazı değişiklikler yapabilirim. Şöyle sarı ile siyah arasında uygun bir tema yakışır gibime geliyor. Neyse lafı çok fazla uzatmadan 2 yıldır blogumu takip eden, ilgi gösteren herkese çok teşekkür edip yazımı burada bitiriyorum.

Tuesday, January 29, 2013

GGJ - Ege 2013 [Yarışma sonrası izlenimler]

Bir yıl önce GGJ - İzmir 2012'ye katılmıştım. Şeyda Çobanoğlu sorumluluğunda gerçekleştirilen ve çok memnun kaldığım bu organizasyonun devam etmesini istiyordum. Beklediğim haber, yaklaşık Kasım ortalarına doğru geldi. GGJ - Ege 2013 adı altında ve yaklaşık bir ay önce buradan duyurduğum organizasyon yine İzmir Ekonomi Üniveristesi'nde fakat bu sefer farklı bir ekip ile gerçekleştirilecekti. Ekibin başındaki kişi Aycan İncegül idi. Geçen yıl ki GGJ'den tanıdığım bu renkli arkadaş ile organizasyonun iyi geçeceğine inanıyordum. Nitekim öyle de oldu. Önceki yılların aksine bu yıl Türkiye'nin bir çok yerinde GGJ organize edildi. Geçen yıl olduğu gibi bu yılda İzmir Ekonomi Üniversitesi'nde düzenlenen yarışmaya katıldım. En az geçen yıl ki kadar güzel geçen bu organizasyon için emek sarfeden herkese şahsım adına çok teşekkür ediyorum. Özellikle bu organizasyonun gerçekleşmesi için çok çaba sarfeden okulumuzun öğretim görevlilerinden Yrd. Doç. Dr. Gazihan Alankuş'a da ne kadar teşekkür etsem azdır. Umarım İzmir Ekonomi Üniversitesi, seneye yapılacak olan GGJ'ye de ev sahipliği yapar. Lafı çok fazla uzatmadan, GGJ - Ege 2013 ile ilgili düşüncelerimi sizlerle paylaşmak istiyorum.

Sunday, January 20, 2013

Arduino ve GPS Modülü - [GPS Tracker] - I

Yaklaşık 1 yıldır Arduino ile yakından ilgilenmekteyim. Duymayanlar için Arduino'nun, bir G/Ç kartı ve Processing/Wiring dilinin bir uygulamasını içeren geliştirme ortamından oluşan bir fiziksel programlama platformu olduğunu da kısaca belirteyim. Yazın siparişini Robotistan sitesinden verdiğim Arduino Süper Başlangıç Seti Rev3 (Kitapsız) ürünü o zaman ki indirim ile her şey dahil 120 TL'ye mal olmuştu. Ufak çapta, bir çok proje geliştirdiğim bu üründen ziyadesi ile memnun kaldım. En çok ilgimi çeken proje ise, bu yıl ki bitirme projemle de ilgisi olan, uydudan GPS modülü aracılığı ile alınan bilginin Arduino ile bilgisayarımıza aktarılması işlemiydi.


Wednesday, January 9, 2013

Haftanın Tavsiyeleri - 8

Haftanın Filmi - Malèna / Giuseppe Tornatore


Haftanın Kitabı - Samarkand / Amin Maalouf


Haftanın Müziği - Boléro / Nathalie Manser