I’m currently in the process of writing my thesis. I had created my own Makefile but this one here is one Makefile I’m happy that I found about. It has many latex utilities I had not known before (like texi2dvi) and it makes everything much easier for the latex writer.
I’ve made some customizations so that evince is fired instead of xdvi and I’ve set the environment variable stuff inside the Makefile. I’ve also changed the default target (using .DEFAULT_GOAL special variable). Change as you please, and enjoy writing your work (instead of pulling your hair because of Latex!).
“He who controls the search engine, controls the Internet.”
Abstract: <blockquote>In this paper, we present Google, a prototype of a large-scale search engine which makes heavy use of the structure present in hypertext. Google is designed to crawl and index the Web efficiently and produce much more satisfying search results than existing systems. The prototype with a full text and hyperlink database of at least 24 million pages is available at http://google.stanford.edu/ To engineer a search engine is a challenging task. Search engines index tens to hundreds of millions of web pages involving a comparable number of distinct terms. They answer tens of millions of queries every day. Despite the importance of large-scale search engines on the web, very little academic research has been done on them. Furthermore, due to rapid advance in technology and web proliferation, creating a web search engine today is very different from three years ago. This paper provides an in-depth description of our large-scale web search engine – the first such detailed public description we know of to date. Apart from the problems of scaling traditional search techniques to data of this magnitude, there are new technical challenges involved with using the additional information present in hypertext to produce better search results. This paper addresses this question of how to build a practical large-scale system which can exploit the additional information present in hypertext. Also we look at the problem of how to effectively deal with uncontrolled hypertext collections where anyone can publish anything they want. </blockquote>
I’ve just came across a verification tool for MPI programs. Even debugging sequential programs written in a language like C/C++ can be a quite daunting task because of the complexity it involves; all those pointer operations including memory management, cryptic C++ template errors, the time wasting edit-compile-test procedure of compiled languages etc. Dynamic languages are easier in my opinion because they are more simple with automatic garbage collection, duck typing and the interactive shells that enables you to test your programs and/or snippets much faster. Parallel programming introduces other complexities. You have to watch out for deadlocks, race conditions etc. and thinking/visualizing them is much more harder than sequential programs. The human brain is more suitable for small number of parallel jobs, it is most intuitive to understand serial programs. Maybe this is because of the way we had been taught at the universities because parallel programming is not so widespread right now.
Simply thinking about the number of different runnings of parallel programs can be daunting. The simple example in the ISP website is enlightening: <blockquote>It is well known that even an MPI program with five process, each making five MPI calls each, has over 10 billion interleavings (schedules). This is what bogs testing tools down – they do not know which interleavings matter, thus end up missing some interleavings while pursuing others redundantly.</blockquote> We had a discussion with my friend from mathematics department, Hakan Özadam, about the number of interleavings. Five processes, making five calls each to MPI functions means 25 function calls. For each process, you have to choose 5 function calls. If you number each from 1 to 25, you can have each process choose its functions and move on to the next one. Thus, the number becomes: C(25/5) * C(20/5) * C(15/5) * C(10/5)
Where C(x/y) = x! / ((x - y)! * y!) The last process simply has to select all the left calls for itself, and thus its number of choices is C(5/5) = 1, only one.
That makes the number quite high. No wonder it is hard to formally verify that a parallel program just doesn’t deadlock somewhere and wait indefinitely for an input it is to process (halting problem, anyone?). ISP debugger looks promising on finding certain types of bugs in MPI programs. It seems to have formal framework for following promising interleavings and not checking ones that are sure not to be executed. I wonder how it could be used with Boost libraries, which are the libraries I am using for C++ MPI development.
People think anime/manga writers are so imaginative and creative but I can assure you they are not. They just draw how an average Japanese person behaves and reacts.
Seçimlere yaklaşık 3 hafta kalmışken adaylar hakkında araştırmalarıma başladım. Genel seçimlerde boş oy attıktan sonra yerel seçimlerde oyumu yararlı bir şekilde değerlendirmek istiyorum. Diğer taraftan “Melih Gökçek olmasın da, kim olursa olsun” şeklinde bir düşünce de aklımdan geçmiyor değil. 7 sene önce Ankara’ya geldiğimde bir Çayyolu metro inşaatından bahsediliyordu, halen bitmedi bu. Yollar delik deşik, özellikle birkaç cadde var ki berbat durumdalar, ne olduğu belli olmayan bir toplu taşıma sistemi, yüksek hava kirliliği, doğalgaz almak için saatlerce kuyrukta bekleyen insanlar, kültür-sanat adına koca bir 0. Bunlar bence Melih Gökçek döneminin sorunları ve yeni gelenle birlikte bazı şeylerin düzeleceği konusunda umudum var (umut fakirin ekmeği misali).
Yaklaşık 7 senedir televizyon izlemiyorum. Bu yüzden seçimle ilgili haberleri genelde internetteki haber sitelerinden veya basılı gazetelerden okuyorum. Dün MHP’nin adayı Mansur Yavaş’in web sitesine girdim ve şöyle bir video gördüm:
Bu videoyu izledikten sonra birkaç dakika gülmekten kendime gelemedim. Oda arkadaşlarına gösterdikten sonra onlarla birlikte gülmeye başladık. Bir gün sonra şimdi soğukkanlı bir şekilde analiz yapabilirim sanırım. Kimsenin hakkını yemek istemem, bu yorumumla kendi fikirlerimi vermek istiyorum.
Öncelikle videonun hedef kitlesi kesinlikle ben değilim. Bilgisayar Mühendisliği okumuş, Yüksek Lisans okumakta olan birisi için videodaki animasyonlar çok komik geliyor. Ankara’ya 8-10 tane üniversite yapılabilir mi? Belediye bütçesi buna izin veriyor mu, ve başka bir tartışma konusu da şu, üniversite kurmak belediyenin görevleri arasında mı? Futuristik, ütopik toplu taşımaya gelince. Hmm, aklıma 30 yıllık ikarus’lar geliyor, ne zaman geleceği belirli olmayan belediye otobüsleri, berbat yollar geliyor. Yani hızlı trenler vs. gösteriliyor ama şu birkaç maddelik basit icraatlar yapılsa hem çok daha ucuza malolacak hem de insanlar çok daha rahatlayacaklar: <ol><li>Herhalde bir 30 senedir çalışan Macar malı İkarus otobüsleri kaldırılmalı. Halen ODTÜ-Kızılay arasında çalışıyorlar ve çok miktarda egzoz gazı çıkarıyorlar. Acaba belediye otobüsleri egzoz emisyon kontrollerinden muaflar mı? Aynı zamanda gürültü kirliliği de yapıyorlar ve eminim fazla yakıt ta tüketiyorlardır.</li><li>EGO Otobüs duraklarına nerede olduğunuzu da gösteren Ankara haritası konmalı, kaç numaralı otobüslerin hangi saatlerde geçtiği ve hangi mahallelerdeki duraklara uğradığı bilgisini gösteren tabelalar asılmalı.</li><li>Metro hızlıca genişletilmeli. 7 senedir neden Çayyolu metrosu açılamadı? Bundan kimler rant sağlıyor?</li></ol> Bu önerdiklerim Mansur Yavaş’ınki gibi ütopik şeyler değiller ama çok daha az paraya çok daha fazla mutluluk sağlayacak şeyler.
Tüm bu söylediklerim aslında video kampanyası üzerinden söyledim. Başkan adayıyla ilgili daha fazla bilgi almak istiyorum ve web sayfasına gidiyorum. Beni böyle bir video karşılıyor :) Bundan sonra acaba siteye girmeli miyim yoksa buna değmez mi diye düşünebilirim. Siteye girdiğimde ise beni başka bir manzara bekliyor. Projeler sayfasında izlediğimiz videoda görülen 8-10 tane üniversiteden haber yok. Ama başka gerçekçi projeler var. Gerçekçi projeler ise asıl beni ilgilendirenler. Engelliler konusundaki ve bilişim konusundaki fikirleri güzel gerçekten. Acaba seçilse ne kadarını gerçekleştirir ve ne kadarını unutur diye düşünmeden geçemiyorum.
Bundan sonra Melih Gökçek’in web sitesine ve ilk olarak engellenen projelerine bakıyorum. İnsan adamın engellenen projelerini görünce engelleyenlere teşekkür edesi geliyor. Uçak otel, Semazen Heykeli, Nasreddin Hoca kentsel dönüşüm projeleri… İnsana acaip gına geliyor, neden Melih Gökçek’in bir sürrealist olduğunu anlamamızı sağlıyor. Melih Gökçek’in projeleri ise Disneyland, Orta Doğu’nun en büyük Hayvanat Bahçesi gibi ilginç (!) projeleri ile bitiremediği metroların bitirilmesi hakkında… Biraz dolaştıktan sonra akıl sağlığımız açısından tarayıcıyı kapatsak iyi olacak.
Murat Karayalçın’ı çok bilmiyorum. Onun projelerine de bakacağım. Aslında amacım Melih Gökçek karşısında kimin kazanma ihtimali varsa ona oy vermek. Oy verecek arkadaşlara tavsiyem adayları iyi tanımaları ve dikkatli bir şekilde oy vermeleri. Sonuçta bu sizin hayatınızı etkileyecek önemli bir olay.