Friday, November 21, 2014

How Google ranks Web pages?

Google’s search algorithm combined precomputed PageRank scores with text matching scores to obtain an overall ranking score for each webpage. The PageRank algorithm assigns a PageRank score to each webpages. The algorithm models the behavior of an idealized random Web surfer [1, 2]. This Internet user randomly chooses a webpage to view from the listing of available webpages. Then, the surfer randomly selects a link from that webpage to another webpage.

The model the activity of the random Web surfer, the PageRank algorithm represents the link structure of the Web as a directed graph.


The process for determining PageRank begins by expressing the directed Web graph as the nxn hyperlink matrix, H, where n is the number of webpages.


Friday, November 14, 2014

Real Time Adaptive Shortest Path Navigation System - [Proje]

1 – PROJECT OVERVIEW

This document includes the project proposal for the RETINA(REal Time Adaptive Shortest Path Navigation System) that will be produced at end of fall semester. The schedule for this project starts in September 2012 and ends in January 2013. This project will be developed by the students who are taking CE 497 Senior Project 1 course. The members of this project are as follows:

  • Taner Güngör
  • Efe Sezer
  • Uğur Eryüzlü
  • Ulaş Göde

Project will be supervised by Asst. Prof. Süleyman Kondakçı and project coordinator is Taner Güngör who is elected by the project team.

Real Time Adaptive Shortest Path Navigation System provides a package that is combination of the software and hardware. It performs a shortest path for the agents (who are using this system in their vehicles) in the traffic. The system finds that shortest path according to the specified parameters, such as instantaneous flow, throughput, weather conditions, (rain, humidity, snow) illumination of the roads. The oriented customers for this product are personal and commercial vehicle drivers and commercial transportation companies.

The project scope for the Real Time Adaptive Shortest Path Navigation System will be included embedded boards which are Arduino and ARM. These boards will perform the software operations via sensors which are attached on the Arduino board and show up the shortest path on the screen.

Wednesday, October 29, 2014

Yaban - Yakup Kadri Karaosmanoğlu [Bam Teli]

Uzun bir süredir aklımda olan fakat hayata geçiremediğim bir başka eylemi bu yazı ile gerçekleştiriyorum. Yeni dizinin adı "Bam Teli". Okuduğunuz kitaplarda kimi bölümler vardır hani, onları okuduğunuz vakit o kitaptan daha fazlasını alamayacağınızı bildiğiniz noktalar. Hem büyük bir sevinç hem de büyük bir hüzündür okuyucu için. Büyük bir sevinçtir çünkü merakla okumaya başladığınız o kitaptan istediğinizi almışsınızdır, büyük bir hüzündür çünkü kitabın geri kalanını okuyacak iştahınızı söndürebilir. İşte bu noktalar o eserin bam telidir. Bu ilk yazıda Yakup Kadri Karaosmanoğlu'nun yazdığı Türk edebiyatında aydın-halk arasındaki uçurumu açık ve kaygıdan uzak şekilde ele alan nadir romanlardan biridir. Bu romanın bam teli olduğunu düşündüğüm noktaları aşağıdaki pasajlar:

Wednesday, October 22, 2014

"Light's Out" Game and Its Solution with Linear Algebra

Hi reader, this is my first article that is written in English here. Why I am writing in English? Actually, I want to share my reports and projects that I found interesting during the master. All reports and projects are of course in English. So, I don't want to translate these subject to Turkish. If you don't know English but want to learn more about. You can ask everything about the related subject. Today, I am going to talk about "Light's Out" game and its solution with "Linear Algebra". If you know Linear Algebra and how to apply it to the game, then it is just 10-15 lines of code. I am also going to share the MATLAB solution end of the article.

Chapter 1: Abstract

1. Preliminary

Light out is a game introduced by tiger electronics, an American toy manufacturer, on a 5 by grid matrix, where each matrix can have either on or off status? The game begins with some of the matrices turned on randomly. Pressing a single buttons will affect the status of itself and its neighbors. The game of the game is to systematically press as much as possible less number of times and making every matrices become off.[1][2]


The goal of the game is to turn all of the lights off. The goal of the puzzle is to switch all the lights off, preferably in as few button presses as possible. Every time a button is pressed, the state of that button as well as the state of the buttons above, below and to the left and right are changed. For example, if all buttons are turned off and a button is pressed, the resulting outcome could result in three, four, or five buttons lighting up depending upon where the original button was located on the game board.[4]

Thursday, August 28, 2014

Disket Sürücüsü ile Müzik Çalmak

Herkese merhaba, ilk defa üniversite son sınıftayken youtube üzerinde gördüğüm floopy diskler(disket sürücü) ile müzik çalma işlemini uzun zamandır yapmak istiyordum. Bugün bahsedeceğim konu bu. Hatta yaklaşık 3 ay gibi bir süre Hermes İletişim'de part-time çalıştığım vakit, bu konuyu anlattığım ve aramızda ilk önce kim yapacak diye ufak bir iddiaya tutuştuğum Aşkın Yollu'ya armağan ediyorum bu yazıyı. Öncelikle ihtiyacımız olan malzemelerin listesini vereyim.

1 - Arduino UNO

2 - Kullanılmayan Bir Disket Sürücüsü (Yazıda 3.25 inchlik 34-pine sahip sürücü kullanıyorum, birden fazla kullanabilirsiniz)

3 - Kullanılmayan Bir ATX Güç Kaynağı (Şart değil, gereken akımı Arduino üzerinden de alabilirsiniz)

4 - CAT5 UTP Kablolar (Sürücü ve Arduino arasındaki bağlantılar için)

5 - Breadboard

Yukarıdaki malzemelerimiz tam ise, sürücümüzü müzik çalar hale getirmeye başlayabiliriz. Öncelikle eğer güç kaynağı kullanacaksanız, güç kaynağımızın aşağıdaki resimde görüldüğü gibi yeşil ve herhangi bir siyah kablosunu kısa devre yaptırıyoruz. Bu sayede güç kaynağımız sabit 5 voltluk bir enerji verecektir. Bu enerji ise disket sürücüsünü çalıştırmak için yeterlidir.

Sunday, June 15, 2014

AdobeHDS(Adobe HTTP Dynamic Streaming) ve Video İndirme

Uzunca bir süredir Mete Çubukçu'nun NTV'de yayınlanan Pasaport adlı programını izliyorum. Çubukçu, “Pasaport”ta Ortadoğu’dan Avrupa’ya, Kafkasya’dan Amerika’ya uzanan geniş bir coğrafyada siyasi, sosyal, toplumsal gelişmeleri ve hayatları ekrana getiriyor. Çubukçu aynı zamanda dünya liderleriyle röportajlar yaparak programı renklendiriyor. Programın her bölümü ayrı bir keyif olmaKla beraber internet üzerinden izlenebiliyor. Buradaki linkten programın tüm bölümlerine ulaşabilirsiniz.

Benim bu yazıda değinmek istediğim nokta ise, internet ortamında bulunan bu videoları nasıl bilgisayarımıza indirebileceğimiz ile alakalı. Başlangıçta normal bir flash oynatıcı üzerinden stream yapıldığını düşünüyordum. Biraz uğraşsam dosyanın server üzerindeki yolunu bulup, videoyu bilgisayarıma indirebilecektim. Ancak daha sonra videoların "AdobeHDS" denen bir yöntemle stream edildiğini anladım. Peki nedir bu AdobeHDS?

AdobeHDS(Adobe HTTP Dynamic Streaming) normal HTTP bağlantıları üzerinden MP4 standartlarına uygun naklen video yayını yapılabilen bir yöntem. Ayrıca varolan önbellek altyapısını kullanarak iş akışı içerisine içerik hazırlamanızı sağlayan bir arayüz de sunmaktadır. Bu yazıda avantaj ve dezantajlarından bahsetmeyeceğim. Daha fazla bilgi almak isterseniz bu linkte fazlasıyla mevcut.

Friday, May 23, 2014

TTNET IEEE Build Up 2014 Etkinliği

Uzun bir süredir iş dolayısı ile katılmak istediğim etkinliklere katılamıyordum. Bunlardan birisi İzmir Ekonomi Üniversitesi tarafından düzenlenen GGJ Ege 2014 idi. Bu etkinliğe katılamasam da sunumların yapıldığı son gün alana gittim ve oyun sunumlarını izledim. Daha önceki GGJ'lerde ekip arkadaşım Alper Yeşil'in dereceye girdiğine de şahit oldum. Hatta şakayla karışık sanırım sorun bizdeymiş bile dedim.

Aradan yaklaşık 2-3 ay geçtikten sonra Alper'den telefon aldım. GGJ kıvamında İzmir Yüksek Teknoloji Enstitüsü tarafından düzenlenen TTNET'in sponsorluğunda gerçekleştirilecek olan BuildUp Etkinliğinden bahsedip katılıp katılamayacağımı iki tasarımcı arkadaşının boşta olduğunu söyledi. Kısaca etkinlikten bahsetmek gerekirse, 48 saat içerisinde verilen temaya uygun bir oyun maratonu diyebiliriz. Yani GGJ'den isim dışında pek farkı yok. Alper'in bu teklifi üzerine üniversitede pek çok projede birlikte olduğumuz bazı arkadaşlara durumu anlattım. Tabii ki efsane isim Efe Sezer'den olumlu yanıt dönünce oluru verdik bizde. Ayrıca o gün etkinliğe katılım için son gündü, hemen hızlıca ekip arkadaşları Maya Bora ve Ayışığı Gülsel ile tanışılıp grup adı belirendi. Tek bir çatı altında toplandık mottosu ile grubun ismini "Roof" koyduk ve acele bir şekilde kayıt işlemlerini yaptık. Yaklaşık 3-4 gün sonra bize olumsuz bir yanıt geldi, zira gruptan hiç kimsenin CV'sini veya portfolyosunu göndermemiştik. Akabinde etkinliğin yetkililerinden Onur Temizkan ile iletişime geçip bu etkinliğe ne kadar çok katılmak istediğimizi anlattım. Gerekli belgeleride yolladık. Etkinlik ekibi tarafından yapılan yeni bir görüşme ile katılımımız onaylandı. Biraz sorunlu bir süreç oldu ama değdi doğrusu.

Sunday, May 18, 2014

Network Settings - [Proje]

Linux kullanmaya üniversite 2.sınıfta başladım desem yanlış söylemiş olmam. Üniversite 1.sınıf ilk dönem, Ubuntu 9.04 (Yanlış hatırlamıyorsam) ile Windows XP'yi aynı anda kullanıyordum. Ancak Windows 7'nin piyasa çıkışı ve benim tek işletim sistemi olarak Windows kullanmak istememin sonucu o gün format atarken grub hatası aldım. Ve aldığım bu hata benim herhangi bir Linux dağıtımı kullanmamı biraz daha geciktirdi. Bütün bunları neden anlattığıma gelince, Linux dağıtımlarına mesafeli durmamın sebebi çoğu işlemin "Terminal" denen ve Windows'taki karşılığı "Komut Satırı" olan yapının üzerinden yürümesiydi. Linux dağıtımları her ne kadar görsellik barındırsalar da önemli ve gelişmiş birçok ayar hala Terminal üzerinden yapılıyordu. Görselliğin kolaycılığına(hatta birazda tembelliği diyebiliriz) kaçan birçok kişi için başlarda Terminal çok sıkıntılı bir yapı olarak görülebilir. Ancak bu sistem ile sağlananları ve yapılabilecekleri görünce insan ister istemez hayretlere düşüyor. Terminal ile yakınlaşmam üniversite 2.sınıf yıllarıma denk geliyor. Bu yıllarda Terminal üzerinde çeşitli komutları deneyip öğreniyordum. İlk defa Shell Script Programlamaya da bu dönemde başladım. Programlama dediysem basit girdi, çıktı üreten ufak scriptlerdi.

Okulumuzda "CE 354" kodlu, "UNIX Komut Dillerinde Programlama" adlı dersi de ilk bu zamanlar almayı düşündüm. Fakat hayatın cilvesi bu dersi son yılımda ve son dönemimde aldım. Ders genel olarak UNIX ile ilgili temel bilgileri, Terminal üzerinde işlem yapabilmeyi ve ufak ama çok yararlı scriptler yazmayı kapsıyordu. Elbette ders için yapmamız gereken birde proje vardı. Projemizin ismi "Network Settings". Ulaş GÖDE, Volkan BENLİ ve benim tarafımdan yazıldı. Kısaca açıklamak gerekirse: Interface(Arayüz), Hostname ve DNS Konfigürasyonu gibi 3 temel konu üzerinde ayarlama yapabilen ufak bir program. Benim yazdığım kısım Interface(Arayüz) Konfigürasyonu kısmı, bu bölümde bağlantı tipini ayarlayabilirsiniz. Şayet internet erişimi için wireless(kablosuz) bağlantı kullanıyorsanız, kablosuz ağları görüntülemek, istediğiniz bir ağa bağlanmak, otomatik, DHCP ya da el ile IP ataması yapmak gibi ayarlar mevcut. Diğer bölümlere de kısa kısa değinmek istiyorum. Hostname Konfigürasyonu kısmı Volkan BENLİ tarafından yazıldı, burada hostname ve IP görüntüleme, düzenleme, ekleme ve silme işlemleri yapılmakta, Ulaş GÖDE'nin yazmış olduğu DNS Konfigürasyonu kısmında ise mevcut DNS adreslerini görüntüleme, düzenleme, adres ekleme ve silme işlemleri yapılmaktadır. Sözü çok fazla uzatmadan resimler eşliğinde projeyi anlatmak istiyorum.

Wednesday, May 7, 2014

Alan Adınızın(Domain) Nameserver Adres Ayarlarını Yapmak

Herkese merhaba, bugünkü konumuza yaklaşık 1 yıl önce internette gezerken rastgele karşılaştığım ve hizmetinden son derece memnun kaldığım Hostinger sitesinden bahsederek giriş yapacağım. Öncelikle Hostinger ile ücretsiz üyeliği dışında hiç bir ilişkimin olmadığını belirterek yazıya giriş yapayım, peki neden bu sitenin tanıtımını yapıyorum? Çünkü vermiş olduğu harika hizmet(Reklamların olmaması yeterince harika bence) sebebi ile reklamının yapılması ve tavsiye edilmesi kanaatindeyim. Öncelikle siteye ücretsiz bir şekilde üye olmanız gerekli, vermiş olduğum bu linkten üye olabilirsiniz. Benim referansım ile kayıt olmak istemiyorsanız bu linkten üye olabilirsiniz.

Hostinger'in ufak tanıtımından sonra sıra, başka bir siteden almış olduğumuz alan adımızı(Domain), yine başka bir siteden almış olduğumuz hosting ile bağlamaya geldi. Bu işlemi yaparken alan adımızın "nameserver" alanlarını hosting sağlayıcımızın "nameserver" alanlarına eşitleyeceğiz. Ben domainlerimi GoDaddy sitesinden alıyorum. Almış olduğum bu domainleri ise Hostinger sitesinde oluşturmuş olduğum üyeliğin altındaki herhangi bir host alanına bağlıyorum. Örnekleri bu siteler üzerinden yapacağım. Ancak diğer hizmet sağlayıcı sitelerde de yapılan işlemler birebir aynıdır.

Yazımıza, GoDaddy'den alan adımızı aldığımızı ve Hostinger'de üyeliğimizin olduğunu varsayarak devam ediyorum. Aldığımız alan adlarını görüntülemek için GoDaddy'de menuden "Domain > Manage My Domains" seçeneğine tıklamalıyız. Aşağıdaki resimde gördüğünüz gibi satın aldığımız alan adlarımız listelenmiş bir şekilde karşımıza çıkacaktır. Burada "ns23.domaincontrol.com, ns24.domaincontrol.com" nameserver adreslerine sahip olan alan adları, otomatik olarak GoDaddy'nin nameserver adreslerine yönlendirilmiş vaziyettedir. Bizim yapacağımız bu alanları hosting sağlayıcımızın nameserver adreslerine yönlendirmek olacak. Tabii bu yönlendirmeyi yapmak için öncelikle "Lock" edilmiş alan adlarının "Lock" statülerini kaldırmalıyız.

Saturday, March 8, 2014

Blogger için Çalışmayan İzleyici Eklentisi Sorununun Çözümü

Blogger geçtiğimiz 21 Ocak günü, blogspot.com uzantısını her ülkenin kendi domain alan uzantısı ile değiştirdi. Türkiye'deki blogspot.com uzantısının sonuna .tr eki eklenerek blog linklerimiz blogspot.com.tr olarak değiştirildi. Değişikliğin sebebinin ise hükümetlerden gelen bir talep olması hiç şaşırtıcı değil. Dünya çapında gerçekleştirilen bu değişiklik ile hükümetler, yayınlanmasını sakıncalı bulduğu içeriği kendi ülkeleri içerisinde kolayca yasaklayabilecekler. Tabii bu değişikliğin sonucunda bazı eklentilerde sorunlar baş gösterdi ve bunlardan birisi olan izleyiciler eklentisi bu yazının konusu.

Google Friend Connect ürünü olan izleyiciler eklentisi, yapılan değişiklik sonucu aşağıdaki gibi hata vermektedir.

This gadget is configured incorrectly. Webmaster hint: Please ensure that "Friend Connect Settings - Home URL" matches the URL of this site."

Hatayı düzeltmek ve eklentiyi tekrar görünür yapmak ise sandığınızdan çok daha kolay. Aşağıdaki adımları sırasıyla izleyip bu sorundan kurtulabilirsiniz.

1 - Öncelikle Blogger kumanda paneline giriş yapın.

2 - Ayarlar > Temel > Başlık sekmesinde blog isminizi düzenlemek için "Düzenle" sekmesine tıklayın.

3 - Blog isminizi değiştirip "Değişiklikleri Kaydet" butonuna tıklayın.

4 - Yaptığınız değişikliği görmek için blogunuzu görüntüleyin ve izleyiciler eklentisinin çalıştığından emin olun.

5 - Daha sonra tekrar Ayarlar > Temel > Başlık sekmesinden blog isminizi eski haline getirip, "Değişiklikleri Kaydet" butonuna tıklayın.

Yukarıdaki adımları yaptıktan sonra sorununuz çözülmüş olacaktır.