PCM-4 Göstericiler

//denemelere devam
//bu sefer pointer

#include<stdio.h>

int main()
{
int a;
int*aPtr; /*pointer bu oluyor bak*/

a=8; /*8 değerini atadık*/
aPtr=&a; /*a'nın adresini atadık*/

printf("a'nın adresi %p"
"naPtr nindeğeri %pn", &a, aPtr);

printf("a'nın değeri %d"
"n*aPtr'nin değeri %dn",a,*aPtr);

return 0;
}

Bu yazıda pointer için basitçe bir örnek verdim. Daha karmaşık örneklere ileride geçerim. String konusu var bundan sonra kitapta. O da çok geniş bir konu. Pointerla ikisini birleştirip uzun ama oldukça uzun bir örnek verebiliriz. Bu arada Google Android’e bakıverdim az. Java… çok güzel site kurmuşlar ve irc’de 300 kişi falan oluyor. Moblin, Symbian odalarında 30 40 kişi olduğu düşünülürse ne kadar popüler olduğu ortaya çıkıyor. Keşke Java bilseydim 🙂 Öğrenmeye niyetim yok ama yeter artık dil öğren dil öğren kafam şişti. Uygulama zamanı artık. Java ile yapılanları elbet Python, C, C++ hatta C#’tan birisi ile yapabiliriz herhalde 😀 Bir ara öğrenme hevesi gelmişti şu C konularından önce ama beğenmedim olayını. Geliştirme araçlarını falan.

PCM-3 Diziler

/* bu dizi konusu canımı 
sıkacak */

#include<stdio.h>
#define BOYUT 10

int main()
{
int n[BOYUT]={19,3,15,7,4,2,1,33,5,8};
int a, b;

printf("%s%12s%15sn","Eleman","Değer","Grafik");

for(a=0;a<=BOYUT-1;a++){
printf("%d%13d ",a,n[a]);

for(b=1;b<=n[a];b++)
printf("%c",'*');
printf("n");
}
return 0;
}

Diziler üzerine bir örnek. Fonksiyonları anlıyoruz tamam da o yerleştirme, düzen işleri uğraştırıyor 🙂 KDevelop güzel bir uygulamaymış. Rahat rahat kodladım ve hiç hata yapmadım bu sefer. Bu konudan sonra Pointer konusuna giriş yapacağım. O bölümde diziler geniş bir şekilde kullanılmış, başta biraz garipsedim ama sonra Python’da ki diziler falan geldi aklıma. Mantık benziyor o yüzden sorun yok^^

PCM-2

#include<stdio.h>
int main()
{
int sayici,sayi,toplam;
float ortalama;

toplam=0;
sayici=0;

printf("Sayıyı giriniz(Bitirmek için -1 girin):");
scanf("%d", &sayi);

while(sayi!=-1){
toplam=toplam+sayi;
sayici=sayici+1;
printf("Sayıyı giriniz(Bitirmek için -1 girin):");
scanf("%d", &sayi);
}
if(sayici!=0){
ortalama=(float)toplam/sayici;
printf("ortalaması:%.2f",ortalama);
}
else
printf("sayı girmedinizn");

return 0;
}

Burada girilen sayıların ortalamasını alıyoruz. Güzel bir örnek kodlar uzadıkça yapılan hatalar artıyor keşke C araçlarında da visual stuido da ki gibi otomatik tamamlama olsa. Bu kadar çok hata yapıp nerede ne yapmışım diye aramak zorunda kalmam. Print yazmışım printf yerine yok ” işaretini unutmuşum falan. Zaten gözler bozuk daha da iptal olacak 😀

Pardus ile C Macerası

#include<stdio.h>

int main()
{
int x,y,z,sonuc;
printf("Çarpmak için üç sayı giriniz:");
scanf("%d,%d,%d",&x,&y,&z);
sonuc=x * y * z;
printf("Sonuc=%dn",sonuc);

return 0;
}


Pardus ta ilk C denemem oldu. Önce GCC’yi kurmam gerekti. GVim ile kodları yazdıktan sonra ./a.out yazarak programı çalıştırdım. Kitaptaki örneği birebir kopyaladığımızda farklı sonuçlar çıkıyor. Düz 123 yan yana yazıp çarptırınca büyük rakamlara dönüyor bende scanf’in arasına virgül koydum. Aralarına virgül koyarak yazdığımda düzgün sonucu verdi. Örnekleri teker teker bloga ekleyeceğim. Gittikçe karmaşık örnekler yayınlayacağım. Kitaptaki örnekleri geliştirip farklı deneyimler elde edeceğim.

Ekonomik Kriz ve Yeni Fırsatlar – 2


Bir önceki yazıda ekonomik krize giriş yapmış ardından bunun özgür projeler üzerine etkisinden bahsetmiştik. Bu yazıda ise yeni fırsatlar neler olabilir neler yapılmalıdır onun üzerine duracağız. Sabah saatlerinde ekonomide önlem olarak açıklanan paketlerden beşincisi duyuruldu. Yine vergi indirimleri geldi. İçlerinden bizi ilgilendiren Bilgisayar, Bilişim ve Büro makinalarında alınan verginin %8’e indirilmesi. Bana göre bu oran bile çok. Kabul ediyorum belki dünyanın en pahalı ülkesi değiliz ama en pahalılardan birisi olduğumuzu söyleyebiliriz. En pahalı interneti kullandığımız yönündeki haberlerden sonra biraz araştırma yapmıştım doğru hatırlıyorsam birinci Kazakistan’dı. Ülkemiz ihracatını ne kadar geliştirirse geliştirsin kazancımız düşük oluyor. Özellikle elektronik ürünlerde, elektrikli ev aletlerinde hatta taşıt sektöründe ana parçaları biz üretmediğimiz için sadece ufak bir paya sahip oluyoruz. Yurt dışından gelen parçaları birleştirip satmayla elde edilen kazanç ile ürünün ilk maddesine sahip olup satma arasında fark var.

Küreselleşen dünyada Çin, Hindistan gibi yeni güçlere karşı yüksek vergi oranları ve işçilik ücretleri ile rekabet etmek imkansız. Yüksek nüfusları sayesinde işçilik o kadar ucuzki onlarla rekabet etmek için ya kendi işçilerimizin maaşlarını kesecez ya da üretilen malın kalitesinden vazgeçecez. İki hareketin sonucuda acıtır. Büyük düşünen bir Türkiye kaliteli mallar üretmeli ve işçilerine hak ettikleri yüksek geliri sağlamalıdır. Bunu başarabilmek içinde öncelikle maliyetler kısılmalı ardından gerekli teknik eğitim verilmeli. Şu alınan vergilere bakın, %18 üstüne ÖTV falan… Böyle maliyetler varken küresel aktörler Türkiye ye niye yatırım yapsın? Serbest Ticaret Bölgeleri, Tekno Kentler bir yere kadar…

Kriz acıda olsa zayıf şirketleri götürecek. Yapılan yanlışları düzeltmek zorunda kalan küresel ekonomi yeni bir yapılanmaya gidiyor. Tahminimce düşük-orta kalite ürünlerin üretimi giderek doğuya kayarken yüksek kaliteli ürünleri dünyanın batı kesimi üretecek. Türkiye bu iki kutuplu dünyanın yine tam ortasında yer alacak ama önlem alınmazsa ikisine de katılamayabilir. Teknoloji gerektiren kaliteli ürünleri ortaya çıkarabilmek için teşvikler arttırılmalı. Özgür yazılımlarda bu noktada gittikçe önem kazanacak ama içlerinden sadece en iyi olanları ayakta kalacak. Batı devletlerinin ufak adımlarlada olsa özgür yazılımlara geçtiklerinin haberleri geliyor. Çoğu kurum, göç işlemlerinin maliyetlerini düşünmeden gelecek için özgür yazılımlara geçecek. Bu kurumlar özgür yazılımlara geçmek için bu alanda uzman firmalara ihtiyaç duyacak. Yeni fırsatlar dediğim bu 🙂 Özgür yazılımlara geçtikçe bu alanda ki ihtiyacı karşılamak için yeni firmalar doğacak. Linux nedir bilmeyen, hayatında windowstan başka işletim sistemi kullanmamış firmalar bu ihtiyaçları gidermede yetersiz kalacaktır. Geçiş işlemlerinin tamamlanmasından sonra bu sefer kurumsal destek ihtiyacı doğacak ve bu ihtiyacı gidermek için yine özgür firmalar aranacaktır. Elemanlarını özgür yazılımlar için hazırlamak isteyen firmalar bu konularda onları eğitecek yeni kurumları arayacak! “Linux sertifikası verilir” gibi ilanlara hazır olun.

Kısaca Göç, Destek ve Eğitim başlıklarında yeni fırsatlar ortaya çıkacak diyebilirim. Bunun yanında ülkeler yazılım sektörüne daha fazla yoğunlaşacaktır. Yazıya başlarken direkt ilk maddeyi dışarıdan aldığımız için kazancımızın az olduğundan bahsetmiştim. Yazılım sektöründe ise eğer özgür yazılımları kullanıyorsanız böyle bir gideriniz olmayacaktır. Tamamen kendi ürettiğiniz, dışa bağımlı olmayan modüllerden oluşan yazılımların pazarlaması araba ve buz dolabı satmaktan daha kazançlı olacak. Bu aşamada kaliteli eleman bulmak için eğitim sektörümüzde değişikliklere gidilebilir. Bunun yanında firmaların bilgisayar, elektrik, internet bağlantısı gibi ihtiyaçlarını karşılarken ödedikleri vergiler düşürülerek gerekli olan hammadde üzerinde ki yükler azaltılırsa türk yazılımcıların batıdaki meslektaşları ile kıyasıya bir mücadeleye gireceğinden eminim.

Kendi açımdan özel olarak oyun sektörünede özel olarak ilgi gösterebilirim. Ne kadar kriz olursa olsun, oyunlar oynanmaya devam ediyor. Şimdilik oyun satışlarıyla ilgili bir rapor görmesemde online oyunların tartışıldığı forumlar hala hareketli. Ülkemizde oyun sektörü yeni yeni oluşuyor… Mount & Blade gibi türk yapımı oyunların çoğalması yazılımcılarımız için gerekli tecrübeyi sağlayacaktır. Ondan sonra belki Blizzard’a kafa tutacak oyunlar çıkarabiliriz(zor :D)
Oyun sektörüde başka bir yazının konusu olsun.

Ekonomik Kriz ve Yeni Fırsatlar


Amerikada başlayan ve dünyaya yayılan kriz belki de yeni bir döneme girmemizi sağlayacak. Öncelikle firmaların bu kadar özgür bırakılamayacağı anlaşıldı. Prim, komisyon gibi kimi çıkarlar için firmaların kötü durumlarını gizlediği, bazı şeylerin görmezden gelindiği anlaşıldı. İnsanlar varolmayan paralarıyla çok büyük harcamalar yaptılar ve sıkıştıklarında herşeylerini kaybettiler. Burada tek suçlu kriz değil. Taksitle ev alıp daha taksidini bitirmediği evin senetleriyle oyun oynayan birisi banka batıp işten çıkarılınca emekliliği dahil herşeyi kaybetmişse suçlu olarak sadece banka ile işçisini işten çıkaran firmayı gösteremeyiz. Bunun yanında AIG’de yaşanan saçmalıklardan sonra devletlerin daha sert bir yaklaşım sergilemesinin gerekli olduğuda ortaya çıktı.

Başbakanın beceriksizler batıyor açıklaması kısmen doğru. İş, hesap-kitap bilmeyen kişilerin yönetiminde ki şirketlerin iflas süreçleri bilenlere göre daha çabuk oluyor. Yanlış hatırlamıyorsam Bora Güngören buna benzer bir olayı IT sektörü için örneklendirmişti. Gerçekte işleri yürütmek o kadar zordurki sipariş vermeden önce yaptığınız ufak bir hesap hatası sizi bitirebilir. Esas nokta burada kendi hataları sonucu batanlarla kriz karşısında çaresiz kalanları ayırmakta. Beceriksiz patronlar batabilir ama onların işçilerinin bunda bir suçu yok. İşsizlik fonundan yapılan ödemeler bu insanları bir iki yıl idare eder. Eğer kriz 2009 yılında son bulmazsa(son bulmaya başlamazsa diyelim) bu fondaki paralarda suyunu çekmeye başlayacaktır.

Kriz ve Linux bağlantısını araştırırken gözüme Cédric Godart’ın röpörtajında ki bir söz ilişti,
OLinux: Do you think that economic crisis which also involves open source enterprises will be reflected in Linux and open source news sites?
Cédric Godart: Of course. The Linux market is not mature yet. These are bad times for the whole IT economy. Only a limited number of companies focusing on Linux and Open Source solutions may claim to be profitable. Time will tell.

Bizler sürekli kriz sayesinde lisanslara ödenen bedellerin insanlara fazla geleceğini, bu yüzden özgür yazılım kullanan firmaların sayısının artacağını düşünüyoruz. Oysa kriz özgür yazılımı destekleyen firmaları da(bizde devleti) vuruyor. Düşünün Ubuntu’nun arkasında ki en büyük güç ne? Pardus’a Tübitak’ın desteği olmasa proje ne kadar devam eder? Büyük olduklarını düşündüğümüz dağıtımlar, açık projeler sponsorlarını kaybederlerse neler olabilir? Benzer bir tartışma şurada yapılmış. Wikipedia gibi projelerin finansmanını sağlayan bağışçılar ortadan kalktığı takdirde devam edemeyeceği söylenen birisinin sözleri üzerine uzun uzun konuşulmuş. Her ne kadar insanlar içeriği gönüllü olarak sağlasada küresel krize girdiğimiz şu zamanlarda bu tarz oluşumların hayatlarını sürdürmesi oldukça zorlaşıyor. Yazıya burada ara veriyorum, buna kısa bir giriş diyelim. Daha çok kriz üzerine durdum devamında yeni fırsatlar üzerine bir beyin jimlastiği yapacağım. İşletme derslerine çalışınca böyle yönetim süreçleri hakkında yazasım geliyor.

Bir sonraki yazıda görüşmek dileğiyle… Öptüm 😀

GPS Takip Sistemleri

İki güzel örnek var bu konuda bulabildiğim. Kodları açık olan. Birisi Open GPS Tracker diğeri OpenDMTP. GPS takibi ne işe yarar? Öncelikle bu sistem mobil hizmet sağlayacıları tarafından telefonunuzun yerini belirlemek için kullanılıyor. Buna göre sizlere çeşitli hizmetler sunulabilir. Bunun dışında ticari bir filosu olan kişiler filoların yerini anlık olarak öğrenmek için GPS takip sistemlerini kullanabilir. Bu şekilde hem kaçakçılıkla mücadele edilmiş olunur hem de daha iyi verim sağlamak için değerlendirmeler yapılabilir. Sadece yük taşıma işlerinde değil, örneğin bir yolcu taşıma aracının yeri ve hızı belirlenerek hedefe ne sürede ulaşacağı bulunabilir. Askeri alanda askeri araçlara ve birimlere yerleştirilebilir. Pozisyonları anlık takip edilerek üst yönetimin operasyonlara müdehalesi daha etkin biçimde kullanılabilir. İleri uygulamalarından uzaktan kontrol sistemlerinde kullanılabilir. Takip edilmek istenen hedeflere bu araçlar yerleştirilerek uzaktan yok etme işine girilebilir. Daha da gelişmişini düşünürsek, her vatandaşa özel bir cihaz verilerek bunun içerisinde tüm bilgileri saklanabilir belirli merkezlerde bu veriler düzenli olarak kontrol edilir ve suçla mücadelede önemli bir başarı sağlanabilir. Belki vücuda yerleştirilecek bu tarz cihazlarla suçluların kaçışı önlenebilir. Büyük alışveriş merkezleri metrolar gibi toplu kitlelerin bulunduğu alanların girişlerine bu tarz cihazların kontrolünü sağlayan birimler konarak terör olaylarının önüne geçilebilir.

Yazının hazırlanmasından sonra çeşitli güncellemeler oldu. Yazının devamı niteliğinde ki OpenGTS başlıklı yazımı okuyarak yeniliklerden haberdar olabilirsiniz.

Özgür Oyun Motorları


Panda3D: Python dili kullanılıyor isterseniz C++ da kullanabilirsiniz. İki türlüde işime geliyor hehe. Oldukça iyi bir döküman bölümü var. Disney’de oyunlarında bu motoru kullanmakta.

OGRE: C++ kullanıyor. Anarchy online oyunun yapımında kullanılmış. Hoş bir motor buda.

ika: Python kullanan başka bir motor. 2D oyunlar için ideal olabilir
ClanLib: C++ kullanan bir motor. cross-platform takılabilirsiniz.
Allegro Library: Oyun programlama için diğer bir kütüphane. C++ kullanılıyor
Agar: C++ kullanıyor. 2D, 3D oyun programlamada işinize yarayabilir.
Aleph One: FPS motoru. C++ olması lazım tam bilmiyorum deneyemedim.

İçlerinden Panda3D’yi deneme fırsatım olmuştu Python ile gayet başarılı işler yapılabiliyor, meraklısına ilk tavsiyem o olacak. Tabi öncelikle lisanslara dikkat edin. Açık kaynak oluyor ama hangi şartlarla?

XNA ile Oyun Macerası Bölüm 1

Ufak ufak başlamak istiyorum çalışmaya. 2D bir RPG oyunu yapmak ilk amacım. Fazla bilgi vermeden insanları bir beklentiye sokmadan olabildiğince anlatmaya çalışacağım. Amacım bu proje ile biraz kendimi pişirip, belki yol arkadaşları bulup ileride 3D ya da 2D Online bir oyuna imza atmak. Zor bir iş olduğunun farkındayım ama en azından gücümü biliyorum ve ona göre bir şeyler geliştireceğim. Bir süredir XNA Creators Club’ın sunduğu RPG starter kit’i inceliyorum. Bununla birlikte bazı elektronik dökümanlarla kitapları kurcalayarak bilgimi arttırıyorum. Bu sefer öyle internetten ders niteliğinde makaleler yayınlama yanlısı değilim. Merak eden açsın araştırsın dökümanlar ingilizce bilen herkese açık.

En büyük sıkıntım görsel öğeleri oluşturmak olacak gibi gözüküyor. Bu konuda kendime şu zamana bitireceğim şeklinde bir hedef koymadığım için olabildiğince rahat ve düzgün çalışacağım. Olabildiğince özgün bir oyun yapmak istiyorum bu yüzden önce işin alt yapısını oluşturma niyetindeyim. Senaryosunu hazırlıyorum, oyun kendi oluşturduğum Nysera isimli diyarda geçeceği için herhangi bir alıntı falan yapmayacağım. Kendi büyülerim, öyle bir şey olursa kendi level sistemim kendi şehirlerim, karakterlerim olacak. Müzik konusunda yeteneğim flüt çalmaktan öteye gitmediğinden kardeşimin yardımını isteyeceğim. XNA ile yapılmış güzel örnekler var. Starter Kit örneği güzel olmasına rağmen tam kafamdaki şeyler değildi. Oyunun debuglanmış halinin 500 MB olması beni düşündürüyor. Kullanıcının bir de .Net ile XNA’yı kurmuş olması gerekecek DVD mi dağıtacağız?

Güzel bir konusu olacağını garanti edebilirim. Hikayelerin nasıl bittiği benim için çok önemli. Bu açıdan şimdiden olabildiğince uğraşacağım. Daha fazla bilgi hatta belki görsel paylaşmak isterdim ama çok araklama oluyor bu net aleminde. Devador hikayesine devam etmeyişimin en büyük sebebi bu. Birileri alan adlarınızı alıyor, hikayelerinizden “esinleniyor”, sonra bir bakıyorsunuz farklı bir isimle ama aynı işi yapan bir ürün var karşınızda. Gizli çalışacağız, kıymetlimizi paylaşmayacağız sizinle hehehe(paranoyak mode:on). Tek tük ne yaptığıma dair haber yayınlarım burada ne aşamadayım bilirsiniz. Sonra bir bakmışsınız demo falan çıkarmışım auhauah.