gentoo

gentoo


0 takip ediyor | 0 takip ediliyor


Bilgi alanları


İlgi alanları

Bir Ülkenin Beyni Nasıl Felç Edilir ( 7)

Cevapı a şıkkında hemen görüyoruz. Yani yazının iktibas edildiği sitenin kendisinde:

http://www.bilimvegelecek.com.tr

Burada kendilerine bilim, teknoloji gibi süslü kelimeler seçen insanların güya Turan Dursun'un ağzından din adamlarına hakaret ettiğini görüyoruz. Ayrıca Dursun'un çoğu kitabını okumuş bir insan olarak da böyle bir yazıya hiç rastlamadım.

Bir ülkenin beyni böyle bilim gibi kavramların arkasına saklanıp bu konularla hiç alakası olmayan saçma sapan yazılarla, üniversitelerde politikanın bilimin önüne geçmesiyle, asistanlara çanta taşıtma ile, üniversiteye girişlerde binlerce onbinlerce zeki, enerjik genç beynin meslek lisesi çıkışlı olduğu bahanesiyle üniversite kapısından döndürülmesiyle felç edilir.

Böyle insanları --hebele, hübele-- laflarının arasına sıkıştırdıkları sanki tekerleği yeni keşfediyormuşçasına söyledikleri evrim! kelimesi ile farkedebilirsiniz. Eski çağlarda da varmış böyle dinozorlar şimdi de var ne yazık ki..

Google 50 yıl içinde kendini yok edecek! ( 26)

bence google devam etsin microsoft kendini yok etsin :) !

Yerli malı böcek robot hazır ( 4)

süper :) ! diğer arkadaşların da belirttiği gibi bende bu konuda profesyonel çalışmaların amatör çalışmaların artmasına paralel olarak artacağı kanaatindeyim. tabi profesyonel çalışmalar için önemli ölçüde AR-GE için kaynak ayrılmalı. tek bir kişinin finanse edebileceği işler değil bu. hatta özel şirketler bu işe sponsor olsun nasıl Sony'nin, Honda'nın robotları varsa Arçelik de kendi reklamlarda kullandığı Çelik için sponsor olsun.

bu arada profesyonel olarak bu konuda uğraşmak isteyenler için Standford üniversitesi ücretsiz olarak robotiğe giriş derslerini yayınlıyor. bu arada dersi anlatan profesör Oussama Khatib'i çok beğendim. adamın ders anlatma şekli, vücut dili, mimikleri esprileri bir harika :) ! hiç o konuyla ilginiz olmasa bile kendini dinlettiriyor. bizim (bazı) üniversite hocalarımız görsün de ders alsın.. bazen bilgisayar mühendisliğinde okuyan arkadaşların c++ ile ilgili forumlarda sorduğu soruları görüyoruz. sorunun kendisinde ve çözüm yönteminde buglar (programlama hataları) var ki öğrenci nasıl buna cevap yazsın. ilkönce bu durumda eğitmen durumunda olan kişilerin kendilerini eğitmeleri konunun özünü anlamaları sonra anlatmaları gerekiyor.

Hz. Mevlana ne güzel söylemiş: ne kadar bilirsen bil, söylediklerin karşındakinin anladığı kadardır ..

BSA’nın Türk Ekonomisine ZARAR Açıklamasının Arkasında Ne Var? - 1 ( 18)

Ben mecbur olduklarından ziyade kolay kullanımdan dolayı kullandıklarını düşünüyorum. Herkesin saatlerce MAN sayfası okuyacak, kullanma kılavuzlarını okuyacak, anlayacak kadar vakti olamayabiliyor. Bir de bunların çoğunun ingilizce olduğunu düşünürsek..
Dediğiniz gibi ben de windows sistemlerin işinin ehli mühendisler tarafından hazırlandığı ve çoğu durumda gayet sorunsuz çalıştığı kanaatindeyim.
Artık son bilgisayar kullanıcısı da o kadar eskiden olduğu kadar bilinçsiz değil. Büyük bir kısmı günlük işlerini yapabiliyor, yazılım sürücülerini yükleyebiliyor hatta kurulum yapabiliyorlar.
Linux'un eksik yönlerine gelecek olursak bence bunlardan en önemlisi yazı tipi teknolojisi. Her şeyden önce bence bunun düzelmesi gerek ki insanlar kolay uyum sağlayabilsin. Bunun için de bir sürü mali kaynak, AR-GE masrafı gerekiyor.
İkincisi de mali kaynaklar. Bir şekilde açık kaynak iş modelinde bu yazılımı geliştiren kişiler için bir kaynak oluşturulmalı. Eğer böyle olmazsa Linux bir kaç amatörün ya da bir yerlerde çalışıp da sadece boş vakitlerinde linux için kod yazan programcının geliştirdiği işletim sistemi olmaktan kurtulamaz. Bunları neden yazıyorum diyeceksiniz. Yaklaşık 5 senedir kullandığım Gentoo sisteme 6 ay kadar ara vermiştim. Tekrar kurayım dedim. İlkönce stabil olmayan sürümü kurdum hatalar çıktı. Tekrar stabil sürümü kurdum ve karşılaştığım manzara şu oldu Gentoo bir bug cenneti haline gelmiş. ATI'nin özel sürücülerini kurmak mümkün değil. Bugzilla sayfasında radeonhd sürücüsünü kurmayı tavsiye ediyorlar ama o da ayrı bir bugla beraber geliyor herhangi bir şekilde X oturumunu kapatırsanız ekran kararıyor. Firefox ancak dbus--launch firefox diye çalışıyor. Alsa ses sürücülerinde bir hata var bir şekilde bazen ya da her zaman bilgisayarın kapanmasına engel oluyor. Konsoldaki hatalı fklavye yerleşimi hala düzelmemiş. Bu kadar hatayı kararlı olması gereken bir sürümde görünce artık eh! dedim ve şu anda Linux Mint üzerinden bunları yazıyorum. Nerden nereye Gentoo'yu ilk kullandığım zamanlarda Daniel Robbins'li günlerde çok farklı seçenekler sunuyordu. Örneğin oyun, sunucu, güvenlik vs.. vs.. Kısacası bir gelecek vadediyordu. Stage1'den sorunsuz derleme yaparak kurulum yaptığımız günlerden bu günlere geldik. Bunun da sebebi işte bahsettiğim mali eksiklikler ...
Üçüncü eksiklik de bence sizin de bahsettiğiniz gibi oyunlar..

Blogcu Söyle Bana Kimsin Sen? ( 5)

Bir de SWEngine 2D oyun motoru ile ilgili bir blog var tabi:

http://swworkshop.blogspot.com

Blogcu Söyle Bana Kimsin Sen? ( 5)

Oturduğu yerden ahkam kesmek diye bir deyim vardır; bu saygın mesleği gazetecilerin elinden alan blog'cular son yıllarda açtıkları sitelerde her konuda fikirlerini istedikleri gibi dile getiriyor, zaman zaman acımasız da oluyorlar!

Gazetecilerin yazılarını ayakta yazdığını bilmiyordum! He he.. Bence blog Türkçesiyle web günlüklerinde yeralan yazıların bazıları sıradan gazetelerle karşılaştırılamayacak kadar kaliteli. Çünkü bu bahsettiğim blog yazarlarının bir çoğu kaliteli, iyi eğitim görmüş, iyi bir işte çalışan insanlar ve işlerini iyi yapıyorlar. Ne güzel işte düşünce özgürlüğünden daha güzel ne olabilir ki.

Zaten Türkiye'de okunabilecek doğru dürüst pek gazete olduğunu düşünmüyorum. Bizim gazetelerin çoğu yabancılarda küçük boyda çıkan tabloid denilen sansasyonel magazin gazeteciliği yapıyorlar. Şahsen ben bir gazete aldığımda da ilgimi çekebilecek haberler pek az oluyor. Ama yabancı gazeteler, örneğin Herald Tribune, The Guardian gerçek gazeteciliğin nasıl olması gerektiği konusunda bir fikir veriyor. Ve yabancı dilde olmasına rağmen ilgimi çekebilecek çok konu buluyorum.

Ben de nedense gazete aldığımda genelde Sabah alırım. Ama geçenlerde bu gazetede Şeref Oğuz isimli bir yazarın akıllara zarar bir yazısı vardı. Bu yazıyla ilgili yorumu da size bırakıyorum :o

Türlerin Kökeni'nin 150. Yılında II. Evrim, Bilim ve Eğitim Sempozyumu ( 10)

Bu görüşünüze katılmıyorum. Ayrıca enteresan bir şekilde "bilim=evrim" gibi çağrışımlar yapılmasını da sağlıklı bulmuyorum.

++.

bilim != evrim.

Aynen katılıyorum ve şunu eklemek istiyorum ülkemizin bilimsel üretkenliği ve kalkınması üniversitelere seçilen profesör, rektör ve bilim adamlarının özgürce hiçbir politik ve dini unsur gözetmeden seçilmesiyle ve çalışmakla olur.

Evrim teorisinin okullarda okutulmadığını iddia ediyorsunuz ama biz lisedeyken insanin maymundan geldiğine kendini inandırmış bir biyoloji hocamız vardı :)

İkincisi evrim teorisi kisvesi altında materyalist düşünce propagandası yapılmasına karşıyım. Kaldı ki bizim inancımız ile evrim teorisi arasında çelişkili bir yer olduğunu sanmıyorum. Merak edenler bakabilir. Sadece insanların sıfırdan yaratıldığını söylüyor ve belki insanlar yaratıldığında diğer hayvanlar ve bitkiler varmıştı. Belki hayvanlar ve diğer bitkiler zamanla değişerek oluşmuştur. İnsanlarla ilgili tek bildiğim de insanoğlu, ilk insan Adem(as)'dan günümüze göre boy, bos ve güzellikte eksiliyormuş.

Design Patterns: Tasarım Şablonları ve Programlama Dillerinin Kötü Yönleri ( 43)

Bence siz bazı yerleri karıştırıyorsunuz ya da yanlışlıkla bir bölümü yazdınız sanırım.

Öncelikle şunu belirtmek lazım. C ve C++ aynı kategoride iki dil değildir.

Doğru

C nin içine nesne ekleyelim niyetiyle C++ ortaya çıkmamıştır.

Doğru

Söz konusu olan mevzu yeni bir dilin ortaya çıkması değil var olan dilin evrimidir.

Aynı fikirde değilim.. Gene wikipedia'daki Compatibility of C and C++ maddesini inceleyebilirsiniz.

C low-leveldir pasif bir dildir. C++ yüksek seviyeli bir dildir.

Hem C, hem de C++ yüksek seviyeli dillerdir. Bkz. High Level Programming Languages Assembly ya da makine dili gibi diller alt düzey dillerdir.

Bjarne Stroustrup un Why C++ is not just an Object-Oriented Programming Language makalesini okumanızı tavsiye ederim. Makale de derki C++ temel de çok farklı programlama teknikleri baz alınarak tasarlanmıştır.

C++'nin farklı programlama teknikleri kullanarak tasarlandığı doğrudur. Ama bunu örnek verirken C++ hem nesneye yönelik programlamayı hem de genel programlama tekniklerini (generic programming) destekler. Öyleyse C'ye yakındır diye mi örnek verdiniz. Eğer öyleyse C++'de generic programming'in en güçlü örneği Standart Şablon Kütüphanesidir ve bu C'de desteklenmez

Ama temelde iki şeyden bahsediyor generic programlama ve OO design fakat bu ikisini desteklemeye çalıştığı için C++ taki OO design bozulmuştur.

Hayır. C++ zaten tasarlanırken iki yanı keskin bir kılıç gibi hem generic programming hem de object oriented programming destekleyecek şekilde tasarlanmıştır. Biraz önce bahsettiğim gibi C++'nin en güçlü özelliklerinden biri olan Standart Şablon kütüphanesi tamamen generic programming'in bir örneğidir. Sınıf tasarımı konusunda da sanırım Bjarne Stroustroup'un ünlü bir sözü gibi "kibrit kutusuna savaş gemisi yerleştirmeye çalışmazsanız" bir problem yaşamazsınız.

Design Patterns: Tasarım Şablonları ve Programlama Dillerinin Kötü Yönleri ( 43)

Bende java bilmediğim için java versiyonunu anlamıyorum :) Singleton tasarım deseninin C++ versiyonu da şu şekilde olabilirdi. Ancak bu program da singleton tasarım deseninin eksiklerinden nasibini alarak çoklu işletim (multi threading) kullanan programlarda doğru çalışmayabilir.

//singleton.h #ifndef SINGLETON_H #define SINGLETON_H class Tekli { public: static Tekli* ornek () { if (!pOrnek_) pOrnek_ = new Tekli; return pOrnek_; } int karesiniAl (int sayi) { return sayi * sayi; } private: Tekli () {} // Kod icinde yeni bir tekli nesnesi // olusturulmasini engelle Tekli (const Tekli &); // Kopyalama kurucusu kullanarak yeni bir tekli nesnesi // olusturulmasini engelliyoruz static Tekli * pOrnek_; // Tek ve biricik ornegimiz }; #endif // singleton.cc #include "singleton.h" #include <iostream> Tekli * Tekli::pOrnek_ = 0; using std::cout; int main () { int sayi = Tekli::ornek ()->karesiniAl (9); cout << sayi << '\ '; return 0; }

Design Patterns: Tasarım Şablonları ve Programlama Dillerinin Kötü Yönleri ( 43)

Şimdi bir yanlış anlaşılma olmasın. Yukarıda örnek olarak verdiğim program C++'nin tekli tasarım deseni gerçeklemesi değil,sadece girişten gelen her farklı kelimenin kaç kere yazıldığını sayan bir program. Ve C++'nin karmaşık olabileceğini göstermek için yazdım tabi ki daha okunabilir bir şekilde yazılabilirdi. Tamamı da bu şekilde..

#include <iostream> #include <map> #include <string> #include <iterator> using namespace std; typedef map<string, unsigned int> Kelimeler; typedef pair<string, unsigned int> Sayac; class KelimeArttirici : public iterator<output_iterator_tag, void, void, void, void> { Kelimeler & kelimeler_; public: explicit KelimeArttirici(Kelimeler & kelimeler) : kelimeler_(kelimeler){} KelimeArttirici & operator= (const string & kelime) { ++kelimeler_[kelime]; return *this; } KelimeArttirici & operator*() { return *this; } KelimeArttirici & operator++() { return *this; } KelimeArttirici & operator++(int) { return *this; } }; namespace std { ostream & operator<< (ostream & cikis, const Sayac & sayac) { return cikis << sayac.first << '\\t' << sayac.second; } } // namespace std int main () { Kelimeler kelimeler; copy(istream_iterator<string>(cin),istream_iterator<string>(), KelimeArttirici(kelimeler)); copy(kelimeler.begin(), kelimeler.end(), ostream_iterator<Sayac>(cout, "\ ")); }

Design Patterns: Tasarım Şablonları ve Programlama Dillerinin Kötü Yönleri ( 43)

Genel olarak tasarım desenleri ile ilgili görüşlerinize katılmakla beraber sadece singleton ile ilgili görüşlerinize katılmıyorum.

Örneğin birine oyun yazacağım diye sorsanız. Size Singleton pattern kullanmanızı önerecektir. Sebepleri arasında performans , prosedurel kod yazmaya izin vermesi , geri dönük uyumluluk sayılabilir.

Şu anda okuduğum oyun programlama kitabında singleton tasarım deseni yoğun olarak kullanılmış. Ama Andrei Alexandrescu'nun Modern C++ Design ve Scott Meyers'in Item 10 in Effective C++ inceledikten sonra singleton tasarım deseninin aslında bir sorunlar yumağı olduğunu düşünmeye başladım. Konunun daha fazla ayrıntısı için yukarıda daha önce verdiğim iki bağlantıyı inceleyebilirsiniz.

Bu konuda bir kaç bağlantı:
http://steve.yegge.googlepages.com/singleton-considered-stupid
http://accu.org/index.php/journals/1470

Singleton kullanmak yerine sınıfın türünden bağımsız olarak bellek ayırma verme işlemlerini yapan akıllı sınıflar yazmak bence daha mantıklı..

Design Patterns: Tasarım Şablonları ve Programlama Dillerinin Kötü Yönleri ( 43)

Karmaşıklık olarak C'ye 1 değerini verirsek, C++ 2, Java ya da C#'a 4 diyebiliriz herhalde.

Ben C++'nin de en az java veya C# kadar karmaşık olduğunu düşünüyorum :)

Java'nın geldiği noktaya bakalım¹.

static <: T extends Object & Comparable<:? super T>> T 

Collections.max(Collection<? extends T> coll) 


Bu da C++ kodu. Yeterince karmaşık bence :o

class KelimeArttirici : public iterator <output_iterator_tag, void, void, void, void>

{

    / /

};

Design Patterns: Tasarım Şablonları ve Programlama Dillerinin Kötü Yönleri ( 43)

Ben şu meşhur GoF'nin yazdığı kitabı incelerken bu durum deseninin (state pattern) ve bununla ilgili Coplien'in Envelope-Letter (Mektup-Zarf) kavramının özellikle grafik programlamada oldukça faydalı olabileceği kanaatine varmıştım. Tam tersine singleton tasarım şablonunun (design pattern) de hani 'bil ama kullanma' türünden işleri bir anda içinden çıkılamaz bir düzeye getiren bir tasarım deseni olduğu kanaatine varmıştım.

Hatta bu tekli tasarım desenini (singleton design pattern) hem cdili haber grubunda hem de oyungeliştirici forumlarında tartışmıştık.

http://tech.groups.yahoo.com/group/cdili/message/7602

http://www.oyungelistirici.net/index.php/forumlar?func=view&id=4146&catid=10&start=20