July 17, 2007
@ 05:31 AM

Memik hoca'nın bir sitede yazdığı yazıyı okuyunca aklıma ilk pc'im geldi...

İlk pc'im;

8086 işlemcili Karel Goldstar :)
HDD yok
5.25 lik disk var :)
Hercules monochrome ekran

Kullanılan programlar
GWBasic
Turbo-C
favori oyunum:robocop

ikinci bilgisayarım 286 işlemcili 1mb ram 20mb hdd VGA Renkli ekran :)
favori oyunum:bushido,prince of persia

off ya ne günlerdi :)


 
Categories: Genel

Evet yazılım sektörünün geleceğinde SaaS büyük rol oynayacak.Bu konu üzerine daha çok yazı yazmayı planlıyorum fakat daha öncesinde bu servisin ne tür bir platform üzerinde çalışması gerektiği hakkında bilgi vermek istiyorum.

Software Service Provider olarak SaaS hizmeti vermeye başladığınızda bu hizmetin donanım tarafının high availibility - yüksek erişim özelliğinin sağlanması kaçınılmaz olacaktır.Tabi SaaS hizmeti verdiğiniz platformlar farklı olabilir, bazı SSP ler Ms platformunu bazıları Linux platformunu seçecektir.Bazıları ise belki bu platformları birleştirip kullanacaktır.

Sonuç olarak SaaS için donanım problemlerinin sorun çıkarmayacağı bir çözüme ihtiyacınız olacak.
Bu konu üzerinde çok araştırma yaptım.Almanya SwSoft Virtuozzo, Us VirtualIron,VmWare,Paralells en yakın iki çözüm VmWare ve VirtualIron.VmWare pastanın büyük çoğunluğuna sahip durumda ve çok iyi bir ivme ile gelişmeye devam ediyor.VirtualIron'ın Intel tarafından büyük desteği mevcut.Fakat VI'in Türkiye'de distribütörlüğü çok yeni.Deneyime ihtiyaçları olduğu kesin.Vmware ise bu konuda Türkiye'de yoğun olarak çalışmış,sayısız projelere imzasını atmış, hatta kendi bölgesindeki satışların %60'ı TR'den çıkmış durumdadır.

Sonuç olarak bu iki kavramın geleceğin teknolojisini şekillendireceği düşüncesindeyim.


 
Categories: Internet | Server Systems | Software

July 11, 2007
@ 02:49 PM


 
Categories: Genel

Yıllardır uygulanan yöntem.Firmalarla toplantı ayarla, teker teker görüş, ürünlerin demolarını kullan, test et, kendi işletmene uyarla, analiz et, pazarlık et, hadi kullanmaya başladın, yıllık bakım ücreti adı altında o firmanın hizmet vermeye devam edebilmesi için pazarlama ve yönetim tarafından uydurulmuş ücretler öde.

Software 2007 konferansında Motorola, Fedex, Disney, Toyota CIO'larının (özellikle Motorola :) ) tek dillendirdiği sorun.Bir yazılım ürünü alıyorsunuz, veya geliştiriyorsunuz veya outsource ediyorsunuz, bug'larla dolu, bugları bulup düzeltip patch ve fix liyorsunuz, dağıtımını sağlıyorsunuz.

Peki Software as a Service bütün bu sorunlara çözüm sunuyormu? Yazılım dünyasının gideceği nokta hakkında yorum yapmak afaki konuşmalar olacaktır fakat bu yapı en azından benim aklımda bir sürü proje uyandırıyor.

Gelelim dağınık sistemlere, Türkiye için konuşuyorum.Bir ülkenin en değerli varlıklarından biri insan kaynağıdır.Bizde harcanan, bir köşede unutulmuş, alakasız işlerle hayatını kazanmaya çalışan o kadar çok değerli insan mevcut ki, ben bu topluluğa dağınık sistemler adını veriyorum ve ne yazıkki hala bu sistemleri bir araya getirecek, yönetecek bir sistem mevcut değil, bu yönetimi gerçekleştirip bir yazılım ürünü ortaya koymuş başarılı bir yapı mevcut değil.

Kaba tabiriyle;
Dağınık sistemler = yatırımcı + yazılımcı + tekniker + sistemci

Neden bu dağınık sistemler bir araya getirilip bir saas başarısı sağlanamıyor?


 
Categories: Internet | Software

July 5, 2007
@ 12:40 PM



Değerli arkadaşım Sem GÖKSU'nun sitesi.
Bu siteyi ulaşılamaz hale getiren arkadaşım,
Sem'in, benim, ve bizim gibi arkadaşların sitelerinde, hepimiz,  yazılım dünyasında kendine yer arayan arkadaşlara
yardımcı olmaya çalışıyoruz.Bu yardımları herhangi bir karşılık beklemeden yapıyoruz.Dolayısı ile bu web sitelerini
maliyetten dolayı daha az korunaklı ucuz hostinglerde barındırıyoruz.

Şimdi sen geldin bu siteyi ulaşılamaz hale getirdin de nooldu, milli bir dayanışmaya yardımcı mı oldun da Atatürk'ün resmini
yayımlıyorsun? HAYIR, insanlarımızın ücretsiz olarak bilgi almasını engelliyorsun, böyle olmasına rağmen kendini
bir halt zannediyorsun.


 
Categories: Genel | Internet

July 3, 2007
@ 02:55 PM
asimo'yu cagirin, bi kosu gelip su honda'yı tamir etsin
hataliysam lütfen 212.252.67.33
tepsi mudafadan 1 yıl yedim,hafifletici sepetlerden dolayi beraat ettim.
inheritance degil alinteri
buffy de vampir sayilir (en sevdiğim buffy the vampire slayer ile telaffuz aynı :))
the incredible hulk otobusu
helikopter kornası
belediyeler arasi simcity turnuvasi
accord karakord belli olcak
70lik ama 60lik fiyatina windowsXP
Dolby surround sivrisinek
Ne olursan ol and justice for all
Bir taş attım pencereye puff daddy
Alaaddin ve lambor cini


 
Categories: Genel

June 17, 2007
@ 03:54 PM
Artık Süperman de GoogleEarth kullanıyor...



 
Categories: Genel

Webden upload edilen bütün resimler birbirine linklenebilecek.Sanal dünya... semantik arama resimle...


 
Categories: Internet

June 13, 2007
@ 04:56 PM
Yok hayır.... Micorosoft, dos zamanında, matrix etkisi yapan Another Day oyununu çıkartmıyor :P

Bugün Microsoft'un "non .net developer"'lara yönelik seminer/eğitim tarzında olan event'ine katıldım.2005'de verdiğim seminer aklıma geldi. Öğleye kadar olan bölüm aşağı yukarı aynı konuları içeriyordu.Fakat CLI-CLS ve FCL konularına daha detaylı değinmeleri iyi olurdu diye düşünüyorum.Sonuç olarak potansiyel .net developerlari mevcuttu.:)

Seminerin ikinci bölümünde Smart-Client ve .net 3.0 wpf presentation foundation hakkında bilgi verildi.Açıkçası uzun süredir neden Ms bunu hala böyle yapıyor diye dır dır yaptığım bir soruna cevap buldum.Sorun şöyle; Ms 2000 senesinde .net'i çıkartıyoruz dediğinde, tamam artık uzun süre devam edecek bir yapı geliyor demiştim.Windows Forms lar için bu böyle oldu.Tabiki her yeni sistemde yaşanan problemler yaşandı, sp ler ve yeni sürümler çıktı fakat mevcut duruma bakıldığında yapı haddinden fazla oturmuş gözüküyor.Fakat aynı şey Asp.net için geçerli değil.Evet asp.net son sürümü web programlama için ideal ve çok basit ayrıca framework un gücüne sahip.Ama client tarafına bakıldığında hala javascr kodu çalışıyor.Bu beni çok rahatsız ediyordu.

Sanırım Ms bunun için bir client dili yazmaktan vazgeçmiş, Smartclient+ClickOnce+Winforms+(Wpf'ye ben Winforms+ diyorum :) ) birleşimiyle client tarafında hem .net dillerinin kullanılabilirliğini sağlamış hem de wpf ile müthis efektler getirmiş durumda.Bu özelliklere clickonce da eklendiğinde neredeyse artık bir web uygulamasına ihtiyacınız kalmıyor.Eğer client tarafında kuvvetli bir arayüz ve gelişmiş kullanıcı arabirimi gerekiyorsa artık wpf mevcut.Click once sayesinde güncellemeleri rahatça dağıtabiliyorsunuz.Evet web'e göre biraz daha bandwidth kapsayacak bir teknoloji ama geri dönüşüne bakıldığında bence kabul edilebilir bir fark.Çoğu önemli kuruluş bu konu ile ilgili ürünlerini tamamlamış durumda.Aşağıda New York Times Reader dan bir scrshot mevcut...




 
Categories: Genel | Internet | Software

Uzun zaman önce yazıp hdd de unuttuğum bir makale...


Tüm yazılımcı arkadaşlara selamlar,

Bu makalemde C# ile Microsoft Outlook contact bilgilerinin nasıl okunacağına değineceğim.

Geliştirdiğimiz uygulamaların çoğunda kullanıcıların hali hazırda sistemlerinde mevcut olan bilgilerini almamız gerekir.Bu mevcut bilgileri mevcut kaynaklardan okumak yerine kendi geliştirdiğimiz yazılımlarda tutmak hem kullanıcı hem de biz programcılar için zor olacaktır.Örnek olarak geliştirdiğimiz uygulamada kullanıcının bir raporu fax olarak göndermesi gerekebilir.Eğer 3rd party fax araçları kullanıyorsak gönderim işlemlerini kod ile halletmemiz gerekebilir.Bu gibi durumlarda kullanıcılardan fax gönderimi için ayrı bir veritabanı veya kayıt bölümü oluşturmak hem kullanıcıların birden fazla kaynağa veri girmesini hem de bizim fazladan kodlama yapmamızı gerektirir.

Kullanıcıların contact bilgilerini mevcut olarak kullandıkları Microsoft Outlook uygulamasından okumamız hem kullanıcı için kolaylık sağlayacaktır hem de bizim daha az kod yazmamızı.

Yeni bir windows uygulaması açın ve formun üzerine bir button ve bir listview nesnesi yerleştirin.
Solution Explorer çerçevesi yardımıyla projeye "Microsoft Outlook 11.0 Object Library" COM bileşenini ekleyin.

Projemize Outlook Contact bilgilerini okuma işlemini gerçekleştireceğimiz MyOutlookIntegration ismiyle yeni bir sınıf ekleyin.
Sınıfımıza IDisposeable arayüzünü entegre edelim.

Outlook Contact bilgilerine erişmek için 3 arayüz tanımlayacağız.Bu tanımlama işlemini sınıf etki alanında gerçekleştirelim ki sınıf'a ait metodlarda bu nesnelere erişimimiz mümkün olsun.

private Microsoft.Office.Interop.Outlook.Application objOutlook = null;
private Microsoft.Office.Interop.Outlook.NameSpace objNamespace = null;
private Microsoft.Office.Interop.Outlook.MAPIFolder objFolder = null;


Application arayüzü Microsoft Outlook uygulamasını temsil edecektir.
NameSpace arayüzü Outlook uygulamasında bulunan MAPI alanına erişmemizi sağlayacaktır.
MAPIFolder arayüzü ise Contact klasörünü temsil edecektir.

objOutlook ve objNameSpace nesnelerini sınıfımızın yapıcı metodunda yaratacağız.

public MyOutlookIntegration()
{
    objOutlook = new Microsoft.Office.Interop.Outlook.ApplicationClass();
    objNamespace = objOutlook.GetNamespace("MAPI");
}

Sınıfımıza GetContacts ismiyle bir metod ekleyeceğiz.Bu metod objFolder nesnemize objNamespace nesnesini kullanarak Contacts klasörünü atayacaktır.Bu sayede objFolder nesnemizde artık Contact bilgileri mevcut olacaktır.Ardından bu itemları okuyarak bir arraylist sınıfına aktaracağız ve geri dönüş değeri olarak bu arraylist sınıfını göndereceğiz.

public ArrayList GetContacts()
{
    ArrayList lstContacts = new ArrayList();

    Microsoft.Office.Interop.Outlook.ContactItem item;
    try
    {
        objFolder = objNamespace.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderContacts);
        System.Collections.IEnumerator MsgEnum = objFolder.Items.GetEnumerator();
        while (MsgEnum.MoveNext())
        {
            item = (Microsoft.Office.Interop.Outlook.ContactItem)MsgEnum.Current;
            lstContacts.Add(item);
        }
    }
    catch (System.Exception e)
    {
        throw(new Exception("MyOutlookIntegration Error",e));
    }
    return lstContacts;
}


COM bileşenleri ile Office uygulamaları entegrasyon işlemlerinde en fazla karşılaşılan problemlerden bir tanesi de, üzerinde çalıştığımız Office uygulamasının yazdığımız kodun işlemlerinin sonlanmasına rağmen sistemde çalışır durumda kalması ve uygulamamızın bu işlemi tekrarlaması sonucunda Office uygulamasının process lerinin çoğalmasıdır.Bu problemlerden dolayı çoğu zaman performans sorunları yaşanır veya kullanıcının normal Office uygulamalarını kullanımını etkiler.Bunu engellemek için Application arayüzü ile yarattığımız objOutlook nesnesinin Quit metodu sınıfımız sonlandığında çalışmalıdır.IDisposable arayüzünden türettiğimiz sınıfımızın Dispose metodunu kullanarak bu işlemi gerçekleştirebiliriz.

public void Dispose()
{
    if (objOutlook != null) objOutlook.Quit();
}


Şimdi yarattığımız sınıfı test edelim.Form1 üzerine yerleştirdiğimiz button1 nesnesinin click olayına aşağıdaki kodu yazalım.

private void button1_Click(object sender, EventArgs e)
{
    MyOutlookIntegration MyOutlook = new MyOutlookIntegration();
    ArrayList lstContacts= MyOutlook.GetContacts();


    lvFill.View = View.Details; 
    lvFill.Clear();
    lvFill.Columns.Clear();
    lvFill.Columns.Add("İsim");
    lvFill.Columns.Add("Soyisim");
    lvFill.Columns.Add("İş fax numarası");
    lvFill.Columns.Add("Ev fax numarası");
    lvFill.Columns.Add("Diğer fax numarası");
    lvFill.Columns.Add("Şirket ismi");
    lvFill.Columns.Add("Email adresi");
    lvFill.Columns.Add("Ev telefonu");
    lvFill.Columns.Add("İş telefonu");

    foreach (Microsoft.Office.Interop.Outlook.ContactItem item in lstContacts)
    {
        ListViewItem lvFillItem = new ListViewItem(new string[] { 
            item.FirstName,
            item.LastName,
            item.BusinessFaxNumber,
            item.HomeFaxNumber,
            item.OtherFaxNumber,
            item.CompanyName,
            item.Email1Address,
            item.HomeTelephoneNumber,
            item.BusinessTelephoneNumber
            });
        lvFill.Items.Add(lvFillItem);
    }
}


Projemizi çalıştırıp test edelim.


Evet gördüğünüz gibi yarattığımız sınıfla artık Outlook contact bilgilerini okuyabiliyor ve uygulamalarımızda kullanabiliyoruz.

Microsoft.Office.Interop.Outlook.ContactItem nesnesinde isim,soyisim,iş fax numarası,ev fax numarası,Diğer fax numarası,şirket ismi,email adresi,ev telefonu,iş telefonu bilgilerine ek olarak Outlook contact bilgilerinde bulunan diğer bilgiler de mevcuttur.Bu örnekte yeterli olacağını düşündüklerimi uyguladım.Siz kendi uygulamalarınızda diğer alanları da kullanabilirsiniz.

Evet bir makalenin daha sonuna geldik.Umarım yararlı olmuştur.
Hepinize mutlu günler dilerim. 

Levent YILDIZ
theone@leventyildiz.net
msmoracle@hotmail.com 
http://www.leventyildiz.net


 
Categories: Software