Strateji Üzerine Bir Deneme

Kategorilenmemiş

Herkesin hayatının bir parçası olan “Strateji” kavramı üzerine yazmak istiyorum bugün.

Etimolojiye girmeyeceğim, Google amca bu konuda oldukça şey biliyor ne de olsa. Ancak anlamından bahsetmeden olmaz… Strateji, belli bir amaca yönelik plana ait faaliyetlerdir genel itibariyle. Belli ana kurallar vardır. Bunlardan en önemlisi ise, kurulacak stratejinin hangi şartların zorlamasında olduğunu tam olarak anlamak, yani çözüm uzayını olabildiğince mantıklı bir çerçeveye sınırlandırmaktır. Örneğin bir bilgisayar oyununda savunma yönünde oldukça zayıf bir tarafı seçtiyseniz, “kaynak bulayım, savunma yapayım, iyice ekonomiyi güçlendireyim sonra saldırırım” derseniz hapı yutarsınız. Dolayısıyla ortam şartlarını dikkate almak zorundasınız.

Dolayısıyla konuyu biraz sınırlandıralım. Yönetim ile ilgili çeşitli mekanizmaları araştırmak amacıyla, genellikle çeşitli oyunlar ve kurallar üretilir yahut halihazırda elde bulunan çeşitli oyunlar insanlara  oynatılır ve bunun üzerinden yorum yapılır. Konuyu sınırlandırmak adına bu yazıyı okurken oyunlarda (ağırlıklı olarak bilgisayar oyunları) çoğunlukla olan şartları aklınızda bulundurmanızı istiyorum.

Continue Reading »

Bu yazı toplamda 317, bugün ise 2 kez görüntülenmiş

2 Comments

Metaforlar ve Bulgulayıcılık Konusundaki Faydaları Üzerine

Kategorilenmemiş

Evet, bir başka yazıyla karşınızdayım efenim :)

Öncelikle, “Yazı yazmak üzerine” başlıklı yazıma bir takım yamalar yapmak istiyorum. Bir önceki yazımdan edindiğim tecrübe ile, şöyle bir tez öne sürüyorum:

Öncelikle herkesin bildiği gibi, bir insanın kısa süreli hafızasında aynı anda tutabildiği (tabi cümle değil, farklı temalara ait nesnelere ait kelimeler olacak bunlar, çakallık yapmayın :D) kelime sayısı 5 ile 9 arasında değişir. Bu arada fazla tutabiliyor olmanız zeki olduğunuzu göstermez (genel anlamda zekayı ölçmekten bahsediyorum tabi, yoksa diğer alanlarda aynı yetilere sahip bireylerden daha fazla kelime aklında tutabilen tabi ki daha zeki olacaktır), örneğin ben unutkan bir varlık olduğum için az kelime tutabiliyorum aklımda. Çeşitli tekniklerle bu sayıyı arttırabilirsiniz, ki bu zeki olduğunuzu değil akıllı olduğunuzu göstermeye başlar. Neyse yine dallanıp budaklandırmadan devam ediyorum. Bu durumda yazıda bahsettiğim ve üzerinde yorum yaptığım temel kavramların, 4-5 taneden fazla olmaması gerekiyor (bahsetmeyi planladıktan sonra yazarken aklıma gelen alengirli şeyler için 2-3 kontenjan ayırmak mantıklı geldi). Bu şekilde daha az sıkıcı ve akılda iz bırakıcı yazılar yazılabileceğini düşünüyorum.

Continue Reading »

Bu yazı toplamda 411, bugün ise 1 kez görüntülenmiş

1 Comment

Bakmak, Görmek, Anlamak, Anlamlandırmak, İşe Yarar Hale Getirmek ve Yeniden Üretmek Üzerine Deneme

Kategorilenmemiş

Hmm evet önce bir giriş kısmı yazmak lazım bu yazıya :) Bu konuda neden yazma ihtiyacı hissettiğimi açıklayarak başlayabilirim sanırım.

Küçüklüğümden beri bakmak<->görmek konusunda hep insanlarla tartışma ihtiyacı duymuşumdur. Herkes görmek daha önemlidir der. Benim bu konudaki fikrim biraz daha farklı. Tabi ki her iki fiil de bir insanın hayatla sağlıklı bir iletişim kurmasında önemli bir yere sahip, ancak nereye bakacağımızı bilemezsek hiç bir şey göremeyiz, ya da gördüğümüz şeyler işimize yarayacak şeyler olmaz. Aslında ben “bakmak” kelimesine bilinçlilik anlamı yüklüyorum daha çok.

Benden bir arkadaşım arada bana derslerle ilgili sorular soruyordu, ben de Google’dan arayıp linkleri ona atıyordum. Bir süre sonra sorularını hızlıca cevapladığımı farkedip beni birşey sanmaya başlamış (Sonradan anlattığına göre) :) Ancak son seferinde bana şöyle bir cevap döndü:

“Google’dan bulduğun ilk linki bana attığın için teşekkür ederim :)”

O seferinde ilk linkte çıkmıştı, neyse yaptığım bu çakallığın üstünde fazla durmayıp, olayı anlamlandıralım :)

Bu arkadaşın Google’dan haberi yok muydu? Vardı. Ancak orada saçma sapan, yok canım bu da çıkmaz herhalde denilen bilgiler de dahil herşeyi bulabileceğinin henüz farkında değildi. Görmek konusunda ise hiç bir sıkıntısı yoktu, kendisine gelen linklerdeki çözümü bulup rahatça uygulayabiliyordu çünkü.

Evet şimdi dikkatimizi biraz da insanın düşünme şekline yoğunlaştırıp, başlıktaki kavramlara ve aralarındaki ilişkilere atıf yapmaya başlayabiliriz.

Continue Reading »

Bu yazı toplamda 286, bugün ise 1 kez görüntülenmiş

3 Comments

Yazı yazmak üzerine

Kategorilenmemiş

Evet uzun süredir birşeyler yazmıyorum, farkındayım.

Her hafta bir iki yazı yazmaya karar vermiştim, ancak olmadı. Bir iki ay yazıp bıraktım yine…

Sadece teknik yazı yazmak üzerine verdiğim karardan vazgeçiyorum bu akşam. Daha önce verdiğim kararımı destekleyen arkadaşlarım üzülebilir belki, ama gerçek dünyadan bahsediyoruz, devamlı teknik konuşmak ne yazık ki herkesin harcı değil, en azından benim harcım değilmiş bunu artık biliyoruz…

Dolayısıyla biraz daha sözel bir konudan bahsetmek istiyorum, yazı yazmayla ilgili fikirlerime yer vereceğim.

Yazı yazmak nereden çıktı? Sorusu ile başlayabiliriz. İnsanlar neden yazı yazarlar?

Continue Reading »

Bu yazı toplamda 273, bugün ise 0 kez görüntülenmiş

3 Comments

C ile Çevre (ENVIRONMENT) Değişkenlerini Kullanmak

Açık Kaynak, Programlama, tutorial

Önemli bir konu olan çevre değişkenlerinin c içerisinde kullanılması konusuna biraz eğilelim.

Diyelim ki bir program yazdık, ve programa ait bir takım ayarları home dizini altında saklamak istiyoruz. Bunun için $HOME değişkenini programın içerisine bir şekilde almamız gerekir. stdlib.h içerisindeki char * getenv(char * str1) fonksiyonu bize bunu sağlar. Bunun için bir örnek program yazdım, şöyle bir bakmanızla getenv in nasıl kullanıldığını anlayabileceğiniz bir program. Tabi programımız çok da basit olmasın diye for kullanımına dair bir çakallığı da göstermek istiyorum :)

Continue Reading »

Bu yazı toplamda 290, bugün ise 2 kez görüntülenmiş

No Comments

getopt.h ile Programa Ait Seçeneklerin Argv Üzerinden İşlenmesi

Açık Kaynak, Programlama, tutorial

* http://www.advancedlinuxprogramming.com/ *

Evet “Önce bir selam vereydin” şeklindeki itirazlarınızı duyabiliyorum. Bu kaynak çok iyi, bu yüzden yazının başına yıldızla işaretlenmiş şekilde yazıyorum. Eğer linux üzerinde programlama konusunda aşmak istiyorum diyorsanız bir kaç haftalık tüm programınızı iptal edip bu kitaba yoğunlaşın derim. (Ne oldu zor geldi değil mi ehuehuehu zaten ben de azar azar ilerlemeyi düşünüyorum)

Neyse, konumuz programlara ait argümanların işlenmesi. Tabi biz işlemiyoruz her zamanki gibi, Zimbabwe’yi yeniden keşfetmenin alemi yok, yazmış adamlar.

Kullanacağımız kütüphane <getopt.h>. Adından da anlaşılacağı üzere, kullanıcı programı çağırırken hangi seçeneklerle çağırdıysa bunları bize sırasıyla veriyor.

Continue Reading »

Bu yazı toplamda 323, bugün ise 1 kez görüntülenmiş

No Comments

stdarg.h ile Argüman Sayısı Belirsiz Olan Fonksiyonlar Yazmak

Açık Kaynak, Programlama, tutorial

Evet sayın seyirciler gün geçmiyor ki yazılımcıların iğrenç zevklerine bir başkası eklenmesin.

Bugünki (bugünkü, bugünküüü hmm evet) konumuz argüman sayısı belirsiz olan fonksiyonlar yazmak.

Hangimiz printf i görüp de, bu nasıl yazılıyor acaba dememiştir ki? Evet bugün çocukluk hayallerimiz gerçekleşiyor ve argüman sayısı kullanıma göre değişebilen mini mini fonksiyonlar yazıyoruz.

Öncelikle konu ile ilgili bir takım talihsiz açıklamalar yapayım.

Efenim öncelikle, işin bellek yerleşimine kadar uzanan bir takım hesaplamalarda bulunacağız ki ne yaptığımızın farkında olalım.

Continue Reading »

Bu yazı toplamda 311, bugün ise 1 kez görüntülenmiş

No Comments

Opencv, c İle Nasıl Kullanılır? -Görüntü İşleme- (1)

Açık Kaynak, Programlama, Uzun Kod İçerikli, tutorial

Evet güne hızlı başladım, şimdi de opencv ile bir resim nasıl açılır, nasıl görüntülenir, üzerinde bir iki basit işlem nasıl yapılır gibi şeyleri öğreneceğiz. (Linux için opencv paketini yükleyip, en altta verdiğim parametrelerle derleme yapmanız yeterli. Windows için biraz arama yapmanız gerekecek :) )

Öncelikle her yazıda yaptığımız gibi, konu ile ilgili struct‘ın ne olduğunu görelim. Açtığımız resimler ile ilgili bilgiler (IplImage *) struct’ında tutulur. Şu an yapacağım kopyala yapıştırdan gözünüz korkmasın, hepsini bilmek zorunda değilsiniz. width, widthstep, height, nChannels, depth ve imageData‘yı bilmeniz yeterli, bunlar birazdan açıklanacak.

Continue Reading »

Bu yazı toplamda 733, bugün ise 3 kez görüntülenmiş

12 Comments

GLib Tek Bağlı Liste ile Örnek Proje, Kelime Sayacı

Açık Kaynak, Programlama, Uzun Kod İçerikli, tutorial

Geçen gün farketmemişim, glib kütüphanesinde tek bağlı liste de bulunuyormuş. Onu da anlatmadan geçmenin pek mantıklı olmayacağını düşündüm, ancak çift bağlı liste ile çoğunlukla aynı özellikleri taşıdığı için örnek bir proje yapıp olayı onun üstünden anlatmak daha mantıklı olacaktır.

Önceki makaleyi okumayanların, http://www.huseyinalb.com/glib/ adresinden okumalarını tavsiye ediyorum. Orada anlatılan bir çok şeyi burada atlayacağımdan emin olabilirsiniz :)

Öncelikle GSList, yani tek bağlı listenin struct‘ına bakalım.

typedef struct {
gpointer data;
GSList *next;
} GSList;

Görüleceği üzere, çift bağlı listeden tek farkı kendisinden önceki elemana atıf vermemesi.

Örnek projemiz, bir dosyadan alınan yazıda bulunan kelimeleri sayıp, miktarlarına göre sıralamak. Öncelikle, önceki anlatımdan bunun önemli bir farkını belirtmekte yarar var. Bu sefer glib’de bulunan hazır fonksiyonlardan tamamıyla faydalanmamız pek mümkün değil, çünkü kendi tanımladığımız bir struct’ı kullanmak zorundayız.

typedef struct
{
char * kelime;
int miktar;
} kelimeTip;

Bu struct’ta kelimeler ve bu kelimelerden kaç tane bulunduğu saklanacak. Okuduğumuz yazıdan her gelen kelime, listede aranacak, eğer zaten varsa listedeki kelimenin miktarı arttırılacak, eğer yoksa listeye eklenecek. Bunun için gereken fonksiyonların prototiplerini yazmak gerekirse;

Continue Reading »

Bu yazı toplamda 422, bugün ise 1 kez görüntülenmiş

No Comments

GLib Çift Bağlı Liste Nasıl Belgesi

Açık Kaynak, Programlama, tutorial

Merhabalar, uzun bir süre sonra kaldığım yerden yazmaya devam etmenin kıvancını duymaktayım :)

Bundan bir kaç saat önce, hash tablosu kullanmak için bir kütüphane aramaya başladım ve glib-2.0 kütüphanesinin, standartlaşmış ve c programlama dili ile veri yapılarına takla atlatmak üzere donatılmış olduğunu farkettim. Kısa bir flashback yaşayıp, boşa geçen yıllarımı yadettikten sonra, bu konuda bir nasıl belgesi aramaya başladım.

http://www.scribd.com/doc/3499572/Manage-C-Data-Using-the-GLib-Collections

adresindeki kitabı buldum ki henüz bir kaç sayfasına bakmış olmama rağmen oldukça beğendim.

http://www.gtk.org/api/2.6/glib/

adresinde de bu kütüphaneye ait atıf kütüphanesini (Reference Library) buldum. Ancak demin linkini vermiş olduğum kitap eğer sayılmazsa, bir çok alanda yazılmış tonlarca dökümantasyona kıyasla bu konuda pek anlatım bulamadım.

Bu kütüphanedeki yapıları kullanabilir hale gelmek istiyorum, tabi bunu yaparken belgelendirmesini de yapıp topluma faydalı sayacan sevecen bir genç olmamak için herhangi bir nedenim yok.

Hedefim olabildiğince her veri yapısını kullanmayı gösteren ayrı ayrı nasıl belgesi yazmak, umarım sıkılıp bu belgelendirmeyi yarıda bırakmam.

Continue Reading »

Bu yazı toplamda 703, bugün ise 2 kez görüntülenmiş

4 Comments
« Older Posts