Kişisel, Komik

Rakı muhabbetsiz gitmez

20.01.2008

Ebola-X:

o paraya biz ne iş kurardık be

Krokiller:

gene kurarız

Krokiller:

ati ibnesi ne bok yiycek acaba

Ebola-X:

öyle olsa flash'in manyak bir ortamı olacaktı

Krokiller:

adam grafik dışında bi zikimden anlamıo

Ebola-X:

olm ne alaka

Ebola-X:

adam c++ bilio köküne kadar

Ebola-X:

ayrıca süper programlama kafası var adamda

Ebola-X:

bariz senden benden zeki yani

Krokiller:

haha

Krokiller:

olsun o kadar ibne

Krokiller:

ben adamla tanıştığımda

Ebola-X:

java c# falan c++'in yerini almaz hiç bir zaman

Krokiller:

(ilkokul yeni bittiydi)

Krokiller:

adam program yazıodu amstradda

Ebola-X:

yaw bir de onun yazdığı zamanlar program yazmak daha da zordu

Ebola-X:

şimdi ne ararsan gir google bulsun

Ebola-X:

o zaman bir şeyi bilemedin mi ara dur mna koyim

Krokiller:

evek

Ebola-X:

kitap yok adam yok

Krokiller:

olm biz zaten

Krokiller:

o zaman ööörenmesek öğrendiklerimizi

Krokiller:

şimdi afedersinde bi zikim olamazdık

Krokiller:

sıradan olurduk daha doğrusu

Krokiller:

şimdiki salaklarda problem çözme kafası yok

Ebola-X:

ya şu anda bilgi çöplük olmuş durumda

Ebola-X:

millet içinde yüzüo

Krokiller:

evet

Ebola-X:

ben sana istediğin programı yapayım yeterki internetim olsun

Krokiller:

eskiyi düşününce dumur direk

Ebola-X:

c++ olsun c olsun hatta perl olsun yani

Ebola-X:

ne istersen

Krokiller:

:D

Ebola-X:

ortam göt oldu duygu

Ebola-X:

yeni projeme bel bağladım artık

Krokiller:

göt ortam, ibne ortam

Krokiller:

hahaa

Krokiller:

devlet sırrı olanamı ?

Ebola-X:

yes

Ebola-X:

çok gizli duygu

Ebola-X:

ama öyle matah bir şey değiş

Krokiller:

bende bi tene develop edem ööle bişey

Ebola-X:

bir tek işleme olayına iyi kasıcam

Krokiller:

hmmzz

Ebola-X:

ulan emule bir zik almaz oldu laaan

Ebola-X:

durduk duyguu

Krokiller:

burdan yapalım

Krokiller:

şimdi

Krokiller:

hafifçe gaza basarken, ayağını debriyajdan çek emre

Ebola-X:

larry 7 gelemedi bir türlü

Krokiller:

oda dursun

Krokiller:

kırmızı yanıo

Krokiller:

sen estetik a yı bitirip estetik b'ye başladınmı emre

Ebola-X:

hit'i çok az abi dosyaların

Ebola-X:

en tırtları kaldı artık

Krokiller:

lan kaç manyak var larry 7 çekçek

Krokiller:

bulduğuna şükret

Ebola-X:

ecstatica 2'yi bu sefre bitirecem abi

Krokiller:

hepiiiimizzzziiin şaaaahsiyeetttitiiiii

Ebola-X:

işte jon joooon cumhuriiyeetiiii

Ebola-X:

eheh olm adam topla adaaam

Ebola-X:

ilk 10 olmalı duygu

Ebola-X:

sen de gel aralarda "yow yow" atarsın

Krokiller:

peki abi

Krokiller:

yow yow

Ebola-X:

yalnız kimle konuşsam bu muhabbeti yapıom

Ebola-X:

ilk 10'a girersek arkamızda bir yow korosu olacak

Krokiller:

vocal yaparım uzun hava gibi arkada

Ebola-X:

soliste ihtiyacımız var aslında

Krokiller:

kanon yaparız yowlardan

Ebola-X:

sen nakarat kısmını iyi söylersin

Krokiller:

dimi

Krokiller:

bunu kaç kişiye söyledin ibne emre

Krokiller:

kaç kişiyle solo yapcam ahahaa

Ebola-X:

aha geldi supersound

Ebola-X:

ben en iyi nakarat'dan önceki piç gibi söylediğim yerleri yapıom

Krokiller:

hahaha

Krokiller:

harbi süper olm orası yaaa

Ebola-X:

jon jon'u doldura doldura söylemişim ikinci kısımda da

Krokiller:

abi çok cingen gibi söylüyon

Krokiller:

jonjon jumhuriyeti gibi çıkıo

Ebola-X:

abe jan jan cumhiriyatı!

Ebola-X:

jan jan jan jan

Ebola-X:

9/8 'lik de yaparız şarkıyı

Krokiller:

:D

Ebola-X:

canlı performansda coşarız

Krokiller:

olur oda

Ebola-X:

böyle bele bağlı eşarplar falan

Ebola-X:

şıkkıdı şıkkıdı

Krokiller:

of ki ne of

Ebola-X:

walla konsepti bulduk gibi

Ebola-X:

güneş gözlüğüyle çıkacam olm ben

Krokiller:

hahaha

Krokiller:

ben maskeyle

Krokiller:

tanınmamak için

Ebola-X:

HAHAHAHA

Ebola-X:

ulan kahkahayı basıodum walla

Krokiller:

adımı sööölesinler tamamda

Ebola-X:

o halimizi gözümüzün önüne getirdim de

Ebola-X:

sen maskeli falan

Krokiller:

suratım bari kazınmasın kamuoyunun zihnine

Ebola-X:

sahneye deliler gelmiş

Ebola-X:

sana kenshin kostümü yaptıralım en kralından

Krokiller:

sonunda deliririz falan

Krokiller:

JON OJN OJOOBBONO JON

Krokiller:

diye

Ebola-X:

iyi iyi konsept iyice şekillendi

Krokiller:

olm sondaki kısım çok sıkı lan

Krokiller:

oraya hastayım

Ebola-X:

tam bateri girince jon jon jon jon

Ebola-X:

jon jon lafını duyduğum anda aklıma bu rap ritmi geldi zaten

Krokiller:

tam film soundtrack'i olur aslında o kısım

Ebola-X:

jon jon jon jon diye

Ebola-X:

eheh sulukule belgeseli

Ebola-X:

abe jan jan cımhiriyatyası

Krokiller:

:D

Krokiller:

isimlerde tutuo

Krokiller:

hayriye, jale, melaaat

Krokiller:

sahne isimlerimizde hazır

Ebola-X:

kopçik deniz, tırtıl emre, kapkaç duygu

Krokiller:

ben jale, deniz, hayriye, sen melaat

Krokiller:

LAN YARILDIM BURDA

Krokiller:

KAPKAÇ DUYGU YAAA

Ebola-X:

yapalım en kralından

Ebola-X:

şu muhabbeti blog'a atayım bari.

Programlama

Flash ile Realtime Birşeyler

11.01.2008

Sabah sabah Krokiller kardeşimin açtığı muhabbet üzerine yazıyorum bu yazıyı. Flash'da realtime multiplayer oyun nasıl yapılır? Evet bir çoğunuz bu sorunun cevabını merak ediyorsunuz! O zaman bu yazı tam size göre gençler taaam size göree. 

Şimdi efendim Flash'da sayfa yapanlarınız vardır elbet lakin hep dusunmussunuzdur "ulen bu sayfalar zıplıyor oynuyor ama bir dinamizm olsun bir coşku patlaması olsun ne bileyim". İşte bu hayallerin sonu ya bakırköy'e gider ya da "ulaaaan realtime oyun yapacam!" şeklinde bir düşünceye dönüşür. Flash'da kayda değer çok az uç konu varıdr. Bunlardan biri 3D olabilir (Flash'da Director gibi hazır bi 3D destegi olmadığını belirteyim) ve biri de mutlaka socket programlamadır. Bu işin en zor yanı, yalnızca flash içerisinden halledilememesidir. Ya kendiniz bir server yazmak zorundasınızdır veya hazır server'lardan birinin kurallarına uymak zorundasınızdır. Aslında Macromedia Firması bu işler için Macromedia Flash Communication Server programını çıkarmıştır ve gayt güzel çalışmaktadır ama ben her zaman kendi işimi kendim halletmek isterim :) - Tabii chat falan sorun değil ama video konferans gibi coşkulu işlerde kendi server'ını yazmak çüğünüzü kendi k.çınıza sokmak kadar zordur :) 

Şimdi size basit olarak bir C# yani dotnet Server ve buna bağlanan Client mantığını yazacağım. Öncelikle

Server'dan başlayalım :

Aşağıda açıklamaları ile beraber C# kodlarını okuyabilenzi

// Bunlar socket programming için çağırılıan gerekli sınıflar

using System;
using System.IO;
using System.Net.Sockets;
using System.Net;

// simpleServer diye bir isimuzayında saklanıyor

namespace simpleServer
{
 class Class1
 {

  // 2 oyunculu bir sistemin 1. ve 2. oyuncularının konumlarının başlangıç noktaları
  static int p1_x = 30;
  static int p1_y = 30;
  static int p2_x = 50;
  static int p2_y = 50;
 

konumarın listesini veren fonkiyon
  static string listeVer()
  {
   return p1_x.ToString() + ":" + p1_y.ToString() + ":" + p2_x.ToString() + ":" + p2_y.ToString();
  }

  [STAThread]
  static void Main(string[] args)
  {

   // Local ip adresi belirtiliyor ve TcpListener adındaki dinleyici 2800 numaralı portu dinlemeye alıyor.
   IPAddress ipAd = IPAddress.Parse("127.0.0.1");

   TcpListener TcpDinleyicisi = new TcpListener(ipAd,2800);
   TcpDinleyicisi.Start();

   // Sunucu ile ilgili Console'a bilgi gonderiliyor

   Console.WriteLine("Sunucu baslatildi...");

  // İlgili Port'dan gelen çağrı alındığı zaman ne yapılacağı

  Socket IstemciSoketi = TcpDinleyicisi.AcceptSocket();

   if (!IstemciSoketi.Connected)
   {
    Console.WriteLine("Sunucu baslatilamiyor...") ;
   }
   else
   {  
    // Mesaj sonlandirici (Flash icin Gerekli)
    char EOF = (char) 0x00;

    while(true)
    {    

     İlgili port'dan gelen giden veriyi kontrol etmek içinbi NetworkStream, StreamWriter ve StreamReader nesneleri yaratılıyor
     NetworkStream AgAkimi = new NetworkStream(IstemciSoketi);     
     StreamWriter AkimYazici = new StreamWriter(AgAkimi);
     StreamReader AkimOkuyucu = new StreamReader(AgAkimi);

     try
     {

      // Gelen bilgi işleniyor
      string IstemciString = AkimOkuyucu.ReadLine();     

      String[] plBilgi = IstemciString.Split(':');     
     
      if (plBilgi[0].Trim().Equals("1"))
      {
       p1_x = int.Parse(plBilgi[1]);
       p1_y = int.Parse(plBilgi[2]);
      }
      else
      {
       p2_x = int.Parse(plBilgi[1]);
       p2_y = int.Parse(plBilgi[2]);
      }

      String message = listeVer();
      Console.WriteLine(listeVer());
     

      // oyuncuların konumları WriteLine metodu ile client'a gönderiliyor
      AkimYazici.WriteLine(listeVer() + EOF);
      AkimYazici.Flush() ;
     }
        
     catch
     {

      // Konsola bilgi gönderiliyor
      Console.WriteLine("Sunucu kapatiliyor...");
      return ;
     }
    }
   }

   // Bitti ulan

   IstemciSoketi.Close();
   Console.WriteLine("Sunucu Kapatiliyor..."); 
  }
 }
}

işte gençler basit bir server bu şekilde kodlanabilir.Tabii bu server tek bir portdan bilgi alıp veriyor. Aslında bilginin bir portdan alınıp client'in boş olan diğer portlardan birine yönlendirilmesi lazım. Bir portdan aynı anda yalnızca bir client bağlı kalabilir (kalıcı bir bağlantıdan söz ediyoruz) Sağolsun Poison kardeşim bu konuda beni aydınlattı Öpüyorum yanaklarından :)

Neyse bir de flash kodunu yazalım da tam olsun :

Bunda açıklama falan yok uğraşın anasını satayım. Bir tek htırlatma ekranda mov1_mc, mov2_mc isimli iki tane movieclip olması br de log tutmak için log_txt isminde bir dynamictext olması lazım. Aşağıdaki kodları ilk frame'e yazdıktan sonra eğerki yukarıdaki server'ı yapmış ve çalıştırmışsanız flash da çalışacaktır. Ama yapamamışsanız e ben ne diyim size bilmiyorum ki?

var xs_xmlsocket = new XMLSocket();
var data_xml = new XML();

// Baglaninca yapilacak islemler
xs_xmlsocket.onConnect = function(success) {
 if (success) {
  log_txt.text = "Bağlantı Başarılı!";
 } else {
  log_txt.text = "Bağlantı Başarısız!";
 }
}

// Data alininca yapilacak islemler
xs_xmlsocket.onData = function(msg)
{
 log_txt.text = msg;
 var plYer = msg.split(":");
 mov1_mc._x = parseInt(plYer[0]);
 mov1_mc._y = parseInt(plYer[1]);
 mov2_mc._x = parseInt(plYer[2]);
 mov2_mc._y = parseInt(plYer[3]);
}

// Bagklanti kapandigi zamanki islemler
xs_xmlsocket.onClose = function(doc) {
 log_txt.text += "Server Bağlantısı Kesildi";
}

// Mesaj Gonderme Fonksiyonu
function sendMsg(a)
{
 xs_xmlsocket.send(a + "\n");
}

// Baglan
if (_root.plNumber == 1)
{
 xs_xmlsocket.connect("localhost", 2800)
} else {
 xs_xmlsocket.connect("localhost", 2900)
}


// ****************************************************************
// Hareket Kontrolü
mov1_mc._x = _root.pl_1.x;
mov1_mc._y = _root.pl_1.y;
mov2_mc._x = _root.pl_2.x;
mov2_mc._y = _root.pl_2.y;

_root.onEnterFrame = function () {
 if(Key.isDown(Key.DOWN))
 {
  eval("_root.pl_"+_root.plNumber).y += 1;
 }
 if(Key.isDown(Key.UP))
 {
  eval("_root.pl_"+_root.plNumber).y -= 1;
 }
 if(Key.isDown(Key.LEFT))
 {
  eval("_root.pl_"+_root.plNumber).x -= 1;
 }
 if(Key.isDown(Key.RIGHT))
 {
  eval("_root.pl_"+_root.plNumber).x += 1;
 }
 
 message = _root.plNumber + ":" + eval("_root.pl_"+_root.plNumber).x + ":" + eval("_root.pl_"+_root.plNumber).y; 
 sendMsg(message); 
}

stop();

Kitap, Resim

Ursula K. LeGuin – Dispossessed (Mülksüzler)

10.01.2008

Selamlar beyler bayanlar,

Fazla zamanım yok konunun en ince noktalarını belirtip gidecem :)

Başlıkta belirttiğim Ada Sahip olan kitap tartışmasız hayatımda okuduğum en iyi kitaptır. Bir kere en sevdiğim konulardan birinin üzerine (Fizik) kurulmuş olup konunun geçtiği ortamın da süper tasarlanmış olması kitaba bir çok değer eklemiştir. Yazarı olan Ursula K. LeGuin hanımefendi nasıl oluyor da yazıyor bu romanları aklım almıyor :) Şimdiye kadar ne kadar romanını okuduysam beğendim hatunun.

Kitap Türkiye'de "Mülksüzler" adı altında çıkmış olup rahatlıkla bulunabilmektedir :) Yalnız kapak konusunda aşağıda da göreceğiniz üzere bu amerigonyalılar harika canım

Programlama

Call By Reference

03.01.2008

Efendim yazma peiyodumuz oldukça uzadı bari yazmışken düzgün bir şeyler yazalım kaygısıyla şöyle teknik olarak siz okuyucularımı bilgilendirecek bir şeyler yazmak ister bu gönül. Bugünkü konumuz da Call By Reference yani türkçesi ile Referans Olarak Çağırma. Şimdi nedir bu Referans olarak Çağırma? (Referans olarak Atama şeklinde de söylenir).

Bu şudur efendim:

Şimdi diyelim ki sizin güzel bir fonksiyonunuz var. Bu fonksiyonun da çok şık bir parametresi mevcut. Yalnız bu parametre o kadar güzel bir parametre ki bu fonksyonu kullandığınız zaman bu parametreye atadığınız değer fonksiyon içerisinde değişiyorsa (başka bir değer alıyorsa) fonksiyondan değişik halde çıkıyor ve hayatına böyle devam ediyor. İşte böyle büyülü bir olay Call By Reference! Şimdi böyle kuru kuru bir b.k anlamayanlar olacaktır elbet. Şöyle güncel C# diliyle bir örnek vermek ister bu deli gönül:

Değer Olarak Atama (Call By Value) :

function degistir(int a)
{
    a = 18;
}

int b = 10;
degistir(b);
Console.WriteLine(b); // Sonuc 10 yani fonksiyon içerisinde atanan deger olmadı.

Bakınız bu fonksiyon Call By Value kullanarak aldığı a değişkeninin bir örneğini oluşturuyor. Ve artık ne yaparsa bu oluşturduğu örnek üzerinde yapıyor ve fonksiyon bitiminde bu örneği atıyor çöpe. Oysa ki;

Referans Olarak Atama (call By Reference) :

function degistir(ref int a)
{
    a = 18;
}

int b = 10;
degistir(b);
Console.WriteLine(b); // Sonuc 18 yani referans olarak atanan b değişime uğradı.

İşte bu harika örnekte "ref" anahtar kelimesi kullanılmak suretiyle Referans olarak atanan b değişkeni fonksiyon içerisinde 18 değerini almıştır. Yani referans olarak atama işleminde örnek oluşturulmaz doğrudan o değişken üzerinde işlem yapılır.

Yani böyle işte sayın okuyucular. Gelin şimdi de hangi dilde bu işin nasıl yapıldığına bakalım. Dilden dile o kadar fark ediyor ki bu meret şaşar kalırsınız :)

C# 'da yukarıdaki örnekde olduğu gibin "ref" anahtar kelimesi ile. Bir de "out" var ve ref'den farklı olarak ilk değer almamış olan değişkenleri için kullanılıyor.

Java'da durum çok dertli. Bütün her şey Değer Olarak Atama kullanıyor. Yalnız kendi sınıfınızı yazıp onun bir üyesini ayarladıktan sonra sonra değişken parametre olarak atarsanız ve atadığınız object'in üyelerini fonksyion içinde değiştirirseniz ahanda değişmiş olarak çıkıyor! yoksa kıçınızı yırtsanız nafile :)

PHP'de function deneme(&$degisken) olarak yazıyoruz.

C++'da void (int& a);

C'de void (int* a); // değişken olarak &b gibi adresini göndermemiz gerekiyor.

Javascript'de de Java'da olduğu gibi Object kullanıyorsunuz. a.deger = 10; diyip a'yı gönderiyoruz mesela.

Falan filan işte okuyun anasını satayım uf amma yazdım be!:)

Programlama

C++’ın Geleceği

13.12.2007
Biliyorum biliyorum "ne lan bu C++ aşşaaa C++ yukarı" diyorsunuz içinizden (ulan sanki milyonlar okuyor :) ama napayım sardım bir kere bu dile, iyice öğrenmeden çıkmak yok :) Bugün de dll'ler konusunda bir iki birşey yaptım artık dll kullanımı konusunda rahatım denilebilir. Aslında C++ gerçekten hayran olunacak bir dil. Mesela şu aşağıdaki kodu inceleyelim :
using namespace std;
int a;
int& getir()
{
     return a;
}
int main()
{
    getir() = 80;
   
    cout << a << endl;
    return 1;
}
bu kodun çalışması sonucunda a'nın 80 döndüğünü görmek gerçekten heyecan verici ha değil mi dostlar? Kod çalışmassa falan sakın buraya yazmayın kafadan yazdım kodu :)
Neyse şimdi bu C++ olayının gelecekte ne gibi bir hal alacağını inceleyelim. Şimdi öncelikle şöyle bir durum var. C++'ı öyle notepad ile yazıp console'dan derlemek falan büyük projelerde olacak bir iş değil. O yüzden C++ dendiği zaman akla otomatik olarak IDE'ler geliyor. Nedir bu IDE? Integrated Development Environment'dir açılımı ve entegre gelirştirme ortamı olarak çevirdim gitti.
IDE dediğimiz zaman da C++ için (hatırlatalım her dil için ayrıdır) öyle çok fazla IDE gelmez aklımıza. Aslında baya bir IDE kasılmış durumda ama şu anda piyasada lider olan 2 tane IDE var ve bunlar Borland C++ Bıuilder ve Visual C++. Bu iki IDE'yi birbirinden ayıran en önemli özellik program yapmak için kullandıkları framework'ler. Şöyle açıklıyıvereyim :
Borland C++ Builder : Efendim gönüllerin baştacı olan bu IDE'nin altyapısında deplhi'de yazılmış olan VCL (Visual Components Library) dediğimiz kütüphane vardır ki of aman allahım oooof! Muhteşem düzenli, neredeyse Dotnet Framework kadar rahat kullanılan bir kütüphanedir. C++ builder ve VCL kullanaraktan Windows Form'ları oluşturmak bunlara kod yazmak ı kadar basit o kadar hızlı gerçekleşen bir süreçtir ki hemen bu IDE'nin asıl olayının RAD (Rapid Application Development) olduğunu anlarsınız :) Yalnız bunca güzelliğin içerisinde öyle lanet öyle beter bir editoru vardır ki illallah dersiniz. İşin kötüsü bu editor'u visual assist gibi ek programlarla güzelleştiremessiniz (Ben baya bi araştırma yaptım bu konuda) öyle kötü bir görünümle yavaaaş mı yavaş çalışır durur. C++ Builder'ın bir sonraki sürümü Delphi 2006 (Kod Adı Dexter) ile bütünleşik olacak ve görünen o ki editor'un en azından görüntüsü konusunda baya bi ilerleme kaydedilmiş durumda heyecanla bekliyoruz :)
Visual C++ : İşte Microsoft'a "öyle veya böyle adamlar IDE yapmayı biliyıor kardeşim" sözlerini ithaf etmemize sebep olan IDE. Borland'dan farklı olarak MFC (Microsoft Foundation Classes) isimli kütüphaneyi bünyesinde barındırır ki MFC kullandığımız zaman aaaah ah VCL'in gözünün çapağını yalıyim! yakınmalarınu durmadan yaparız. Lakin WXWidgets, QT gibi C++ için önemli kütühanelere Borland'dan daha güzel bir destek vermektedir ve editorü... OOOOF OF! o editörü harikadır harika! Hele hele Visual Assist ile beraber kullanırsanız kodların parmaklarınızdan akıp gittiğini hissedersiniz. VCL Form design olayı ile VC++'ın editorunu birleştirmeye çalışsam da Borland'ın C++ standartları dışında kullandığı keyword'ler yüzünden (öncelikle __published keyword'u) ne yazıkki bu çabam başarısızlıkla sonuçlandı. Yeni gelecek olan Visual Studio 2005 ile MFC 5.0'ın çıkacağı ve bu kütüphanenin managed (yani dotnet tabanlı) olacağı şeklindeki haberler zaten soğuk olduğum MFC kütüphanesinden iyiden iyiye soğumama sebep oldu. Lakin hastası olduğum bir program olan Adobe Premiere programının MFC ile hazırlanmış olması da bu kütüphaneye tamamen sırtımı çevirmemi engelliyor a dostlar :)
Benim görüşüme göre MFC 5.0 Dotnet Framework'un biraz daha performanslısı olarak yoluna devam edecektir ki microsoft'un MFC'yi bitirme planlarından döndüğünü de unutmamak gerekir. Yalnız dotnet framework gibi derli toplu bir kütüphane varken ne diye managed MFC kasılır onu hiç bilemiyecem. Artık performans o kadar da ön planda değil. Hadi performans önemli ise managed'a hiç bulaşmadan C++ ile işlerimi hallederim rahatlarım be birader.
Bu arada halen gelişmekte olan Wxwidgets ve QT kütüphanelerini de unutmamak gerekir. QT'nin kodları daha çok hoşuma gitse de bir türlü tam anlamıyla kuramadım :) Wx ile bir iki bir şey yaptım ama daha taşaklı olarak tabir edebileceğimiz bir çalışma çıkmadı. Şimdilik DLL aşşağı DLL yukarı kasıyorum işte :)
Hadi yeter parmaklarım yoruldu be birader.
Programlama

ASP ne boktan bir şey yaw :)

11.10.2007

Selam yoldaşlar, 

Bu yazımızda size ASP yani Active Server Pages isimli microsoft teknolojisinden bahsedeceğiz. Hiç unutmam ASP ile ilk tanışmam 2000 yılında bir okulun web sayfası projesinde olmuştu. Tek satır kod yazmadığım halde işi kabul etmiş ve yaklaşık 9 saat kadar yemek yemeden, su içmeden bilgisayar başında kalmış ve ancak sınıftaki öğrencilerin listesini almayı başarabilmiştim :)

Daha sonraları proje yattı ve ben Macromedia Flash ağırlıklı bir şirkete girdim ve kendimi Actionscript üzerinde geliştirdim ki programlama alemine ilk dalışım Actionscript ile olmuştur denebilir. Zaman böyle akıp giderken Askerden döndüm ve kendimi yine ASP sayfalarının içerisinde buldum. Aslında askerde de şansıma web tasarım bölümünde olduğum için ASP sayfalarının içindeydim ama hali hazırda çalışan sisteme hiç dokunmadım yalnızca içerik değiştirdim :)

Neyse efendim ASP ile uğraştık durduk asker dönüşü. Sonra malumunuz üzerine iş değiştirdim ve full PHP üzerine çalışmaya koyuldum ve geldik günümüze. Şu anda tekrar ASP ağırlıklı çalışıyorum (bu arada ASP.NET de kastım) ve bunca zamandan sonra yorumum şudur.

Amuga Koyayım ASP :)

Sakın yeni bir dil öğrenme aşamasındaysanız ASP'yi seçmeyin. Doğrudan PHP ile dalın olaya. ASP.NET falan da kesinlikle PHP'nin verdiği rahatlığı vermiyor. Şimdiye kadar en hızlı proje zamanını PHP ile elde ettim hatırlatırım :) Özellikle şablon olarak yöneteceğiniz bir sayfa tasrımı yapıyorsanız yani bir proje olsun her projeye uygulayayım diyorsanız sakın sakın sakın ha inanmayın siz ona. PHP rulez kardeşler :)

Genel

Peygamber Aranıyor

13.09.2007
- Konusunda 4 yıl tecrübeli
- İngilizce bilen
- Tercihen yılana dönüşen asa sahibi
- Java bilen
Peygamberler aranıyor.

Yaw. Elektromak diye bir firma (www.elektromak.com) IT bölümü için adam arıyor. Hürriyet IK'ya eşşek kadar hem de 2. sayfadan ilan vermiş bu adamlar. Toshiba Türkiye distributoruymus. Bakınız özelliklere :

Bilgi İşlem Sorumlusu :
- Delphi, .NET, Javascript, JAVA programlama dillerine hakim
- MS SQL, MySQL veritabanı uygulamaları geliştirebilir.
- PHP ve ASP uygulamarında kod geliştirebilir yeteneğe sahip.
- Adobe Photoshop, Macromedia Freehand, Adobe Illustrator kullanarak masaüstü ve web'e yönelik tasarım oluşturabilen.
- Windows 2000/2003 Server, Linux Enterprise Sunucuları yönetebilecek.
- Active Directory, TCP/IP, VPN yapıları hakkında bilgi sahibi
- Cisco Routers, Cisco Pix yönetimi konusunda tecrübe sahibi
- Askerliğini tamamlamış
- Ehliyet sahibi
- alanında en az 4 yıllık üniversite mezunu
- Seyahat engeli olmayan
Abi böylesini görmedim yemin ederim. Bu adamı bulurlarsa tanışmak istediğimi belirten bir mail atmayı düşünüyorum adamlara :) "Tanrı Aranıyor" - şimşek atabilen... :)
Genel, Kişisel

“Biz eskiden” diye başlayan bir yazı…

13.08.2007
Uzunca bir zamandırbu başlıkta bir yazı yazasım vardı aha da yazıyorum işte okuyun gari :

Abicim ben yeniliği seven bir insanımdır aslında ama şöyle durup olduğum yere, yaptığım işlere bakıyorum da... "ulan eskiden daha güzeldi be" demekten alamıyorum kendimi.

Ben bilgisayarı aldığımdan beri hayatımın 1 numarasına koymuş bir adamım. Gecemin, gündüzümün, herşeyimin bilgisayar olduğu dönemler oldu, oluyor ve büyük ihtimalle olacak :) Blog'u okuyanlar bilirler tarihim ufak kolları aşağı çekerek oyun değiştirilen ve ayar yapılan makine ile bilgisayar (aslında bu oyun makinesiydi) olayına girdim ve commdore 64 ile ilk programlama, grafik gibi deneyimlerime ulaştım.

Özellikle Amiga'yı hayatım boyunca uğraştığım makineler sıralamasında 1 numaraya koyarım. O kadar da sorun çıkaran bir makinem vardı ki kasa açık olarak çalışıyordum artık ama sorun gidermesi bile zevkli bir makineydi Amiga.

Bence işin sırrı teknolojinin sınırlarının olmasında yatıyor. Amiga, Commdore 64 gibi makinelerin büyüsü standart olmalarında yatıyordu. Yani Commodore 64'ün işlemcisi sabitti, hafızası sabitti, yapılabilecekler sınırlıydı ve bu işi güzel yapan da buydu. Şu anda standart namına hiç bir şey kalmamış durumda. Bir şey üretiyorsunuz ve "bu yaptığım tüm Amiga'larda çalışır hacı" gibi bir cümle ne yazık ki kuramıyorsunuz. Yaptığınız şeye "Bu tüm windows'larda çalışır" bile diyemiyorsunuz yok artık öyle bir muhabbet. "%90 çalışır" aha bütün diyip diyebileceğiniz bu kadar :)

Aslında şu internet işin bokunu çıkaran asıl unsur bence. Özellikle bant genişliklerinin artması ile birlikte tamamen tüketim toplumu halini aldık. Eskiden haftalar, aylar boyunca bir albüm dinlerdim ama şu anda 1 haftada 10 albümü hatmediyorum ve eskiden aldığım zevkin yanına bile yaklaşamıyorum.

Eskiden böyle her yıl düzenli çıkan programlar, oyunlar falan yoktu. Bir oyunu aldın mı çok uzun süre oynardın. (Sağolsun bünyem halen bu şekilde davranıyor oyun konusunda) ama şu anda bir çoğumuz haftada bir değil bir çok oyunu bitiriyor, sıkılıyor falan filan ve işin en acı yanı şu anki oyun teknolojisi ile bir Amiga oyun teknolojisinin karşılaştırılamayacak olması ama aynı tadı bir türlü vermiyor işte.

Böyle yeni düzenin ta mna koyim ben be :)

Kitap

Stephen King – Dark Tower

12.06.2007

Yaw ben bu Stephen King denen adamın hastasıyım lakin hiç buraya entry girmemişim garip :)

Herkese bildiği için Stephen King hakkında pek yorum yapmanın alemi yok lakin şunu belirtmek lazım ki adam "o bunu kesti, bu bunu biçti hah hah haaaay" şeklinde korku romanları yazmıyor. Stephen King romanlarının ilk kısımları her zaman için sıkıcıdır çünkü tamamen karakterlerin nasıl bir geçmişe sahip olduklarından, psikolojilerinin ne alemde olduğundan bahseder ve sen kişileri tanıdıktan sonra verir gazı verir action'ı :)

Ben şahsen Stephen King'in kitaplarında hareket başladığı zaman kitabı pek bırakamam. İlk olarak Çağrı kitabını (asıl ismi Dead Zone yani Ölü Bölge'dir ve kitabın konusuna çok yakışır çağrı ne alaka bilmem ) okuduğum zaman bu konuya hayran olmuştum. Kkitapta eleman insanlara, insanlara ait eşyalara dokunduğu zaman geleceklerine veya bilinmeyen geçmişlerine dair bilgiler veriyordu ama o sahneler öyle güzel anlatılmıştı ki resmen yaşadım yani. Sonrasında da King'in ne zaman okumadığım bir kitabına rastlasam alırım işte ama denizde kum King'de kitap oku oku bitmiyor meret.

İşte efenim King'in bir seri olarak yazdığı ve bir çok kitabında bu kitaptaki konuya göndermeler yaptığı (Ör: Peter Straub'la yazdığı "Kara Ev") ve bu kitabın içeriğinde de bütün kitaplarının aslında bu konuya bağlı olduğuna dair göndermeler yaptığı "Kara Kule" serisi vardır.

Seri Silahşor Roland Deschain'in Kara Kule'ye ulaşma mücadelesini konu alır ve bir şiirden yola çıkarak yazılmıştır. Aslında Stephen King'in kendisini de kitaba dahil etme olayını ben pek sevmedim ama onun dışında muhteşem bir seri.

Seri 7 kitaptan oluşmakta ve son kitabı olan "Kule" - bütün kitaplarına yeniden basıldı bu arada - 3 gün önce falan elime geçti ve 200 sayfayı bitirdim (800 sayfalık eşşek gibi bir kitap).

Aslına bakarsanız bu serinin kitaplarını çok uzun aralıklarla okudum. Konunun tamamen bütünleşmesi için kitapları alıp baştan sona seriyi okumak lazım ama Annem bütün kitaplarımı başkalarına verdiği için okuduğum kitaplara tekrar para vermem gerekecek bu çok koyar bana :)

Diyeceğim şudur ki alın okuyun inşallah beğenirsiniz. Açık konuşalım skimde değil beğenmeniz :)

İşletim Sistemi

Linspire

10.05.2007

Sevgili okuyucular,

Bir dönem Lindows isimli bir işletim sistemi çıkagelmişti hatırlar mısınız? Beyle windows ve linux programlarını bir arada çalıştırmayı vaadediyordu ve iyi reklam yapmıştı açıkçası. Neyse efendim bu sistem duyurulduğu zaman beta aşamasındaydı ve çıkmasını merakla bekliyorduk ama sonra bir şey oldu... sistem çıktı ama kimsenin haberi olmadı :)

Öncelikle Microsoft "Lindows" ismi "Windows" u çok çağrıştırıyor diye bir dava açtı ve sanırım bu dava'yı kazanmış olacaklar ki sistem şu anda "Linspire" ismi ile dağıtılmakta.

Temel olarak debian linux tabanlı olan sistem diğer linux sistemlerinden farklı olarak 50 kusür dolara mı ne satılmakta. E insan bir linux sistemini para ile satıyorsa vardır bir bildiği diyorsunuz ve emule kardeşim sağolsun parasız bir şekilde sisteme ulaşabiliyorsunuz :)

Efendim çektim kurdum sistemi hafta sonu güzel güzel. Kurulum kısımları az biraz ingilizcesi olan şahıslar için gayet kolay ve isterseniz CD'yi live olarak da (yani sisteminize kurmadan) kullanabiliyorsunuz. KDE arayüzünü kullanan sistem gayet güzel özelleştirilmiş ve windows ile machintosh arasında güzel bir görsellik kazanmış. Adamların grafik tasarımcıları iyi bir iş çıkarmış yani.

Sistemde diğer linux dağıtımlarından en farklı olan özellik CNR (Click And Run) özelliği ve bu anladığım kadarıyla şu şekilde çalışıyor. Siz bir windows executable'ına tıkladığınız zaman sistem internetten bu dosya ile ilgili bilgileri alıyor ve sisteminizde en iyi şekilde çalıştırmaya çalışıyor fekat benim evimde böyle bir şey olmadığı için ne yazıkki deneyemedim bu sistemi. Dedim acaba sistemde ön tanımlı bir şeyler var mıdır falan ufak windows programları denedim ama sonuç olumsuz.

Linspire anladığım kadarıyla wine isimli windows emulatorunu kullanmıyor. Adamlar kasmış kendi tekniklerini geliştirmişler (ki zamanında Lindows'un isim yapmasının nedeni de buydu). Wine'i kendilerine göre özelleştirmiş de olabilirler bilmiyorum fakat windows programları için internete bağlanma gereksinimi yüzünden benim gözümden baya bir düştü sistem ve bu yüzden hemen shift + delete'e maruz kaldı ve üzerine tüm zamanların en iyi işletim sistemlerinden biri olan Greenie Linux 1.7.2 versionu kuruldu ve JBuilder 2006 ile çalışmaya hazır hale getirildi ;)

Benim çektiğim version Linspire 5.059 versionuydu ve adamlar linux kullanmak isteyenler için güzel bir sistem yapmışlar açıkçası. Linux'un console'una pek bulaşmadan işlem yapıyorsunuz ki console'a ulaşmak için pratik bir icon, link falan yok (diğer linux sistemlerinden en ön plandadır ;)

Deneyin görün derim ben size.

Kişisel, Komik

Bu buraya yazılmaz ama…:)

13.04.2007
Efendim Krokiller ile yaptığım bir muhabbet çok güldürdü beni ama küfürlü kısımlar için özür diliyorum sizden :)

Krokiller says:
çok manyak bi movie database yapıom kendime

Ebola-X says:
yap yawrım
reuiem for a dream de benden

Krokiller says:
programcıyıda çalıştırıom hehe
netten son anime, movie gelişmelerini takip edebileceniz gare
hemide süper detaylı olaraktan

Krokiller says:
hehe
var bende o da
çekimini sevmemiştim
vhs'den çekim gibiydi 
o yüzden seeeretmedim tam olarak
şey çok güzeldi bak o tarz
jim carey'in bi filmi vardı
hah
eternal sunshine
eternal sunshine of the stateless mind 
çok çok iyi bi film
eleman süper oynamış
ki duygusal bi film yane
direk komedi nerdeyse 0
hazır tarz'a girmişken seyret bence
ahhaa
spotless mind lan bu arada o
Eternal Sunshine of the Spotless Mind
konusu falan güzel, direk aşk neden iiiiirençtir konulu bi yapıt

Ebola-X says:
sokmuşum jim keriye

Krokiller says:
yok lan
adam onda süper oynamış

Krokiller says:
hatta ve hatta
direk bende aynı girişi yapmıştım filmde

Krokiller says:
sonradan lan dion adam ne oynasa verio hakkını piç

Ebola-X says:
sokmuşum da kararlıyım

Krokiller says:
:)
bu arada
alltime top 10 best anime listesini tamamladım kardeşim 
ne kadar varsa çektim, izledim

Ebola-X says:
helal

Krokiller says:
full metal alchemist cidden en iyi olmayı hakkeden bi diziymiş buna karar verdim
gelmiş geçmiş en iyi dizi olarak geçio
bununla beraber boyum 3 santim daha uzadı tam oldu

Ebola-X says:
sokarım hepsine

Krokiller says:
sen izledinmi len lilium'u
sktir
neydi onun adı
elfen lied

Ebola-X says:
kafasını izledim ben

Krokiller says:
aferin o zaman sana D:

Ebola-X says:
eheheh
ulan işim var krokiller
bi saattir bir şeyler yazıon
g.tümden cevaplıom

Krokiller says:
farkındayım
sokmuşum x'e dedinmi anlıom zaten düşünmeden yazdığını

Ebola-X says:
abi çok komik diyalog olmuşi yaa
HAHAHAH süper cevaplar

Programlama

Web Programlama

13.08.2006

Web Programlamanın kralları olan ASP'den PHP'ye JSP'den ASP.NET'e kadar her konuda web programlama yapmış bir kişi olarak hem insanlara yol gösterebilmek hem de sıkıntıları dile getirebilmek amaçlıdır aşağıda yazılanlar.

Öncelikle ASP : Küçük projeler için ideal. İnsanı yormayan kolay bir platform. Ama Microsoft Dotnet yüzünden elini eteğini çekmiş durumda. Yine de geniş bir kullanıcı kitlesi olduğundan dolayı IIS ile beraber ASP desteği halen veriliyor ve bir süre daha verilecek. Performans konusunda sıkıntısı olmayan projelerde önerilir ama her byte'in degerli olduğu ince projelerde kullanmak başa bela açar. Web programlamaya yeni başlayan ve kısa vadede bir sonuç düşünenlere önerilir. Ayrıca uzun vade için de iyi bir başlangıç sayılabilir. Recordset gibi konularda takdirimi almıştır (bu özellik windows'un temelinde olan ve her dilde kullanılabilecek bir şey olmasına rağmen asıl olarak ASP'de kabul görmüştür)

Sonra PHP : Hayran olduğum dil ve platform. Özellikle Zend firmasının ipleri eline almasıyla ve doğru stratejiler izlemesiyle coştukça coşan PHP'nin bana göre tek eksiği standartlar. Standart'ları pek sevmeyen GNU dünyasında bu standartları kazanması zor görünse de Zend'in işi belli olmaz PHP 5 oldukça iddialı özellikler içeriyordu. Yalnız PHP 6 için en sıkı özelliğin unicode desteği olacağı konusunda yazılar okudum. Eğer en baba özellik bu olacaksa hayal kırıklığı kapıda demektir. PHP'nin Dotnet ve Java gibi standartlara ihtiyacı var. Hatta Zend Studio içine php'nin kullanabileceği derleme işlemi de olursa o zaman tadından yenmez işte PHP ;) Küçük ve orta ölçekli projeler için birebir. Takım çalışması için (standartları olmadığından dolayı) pek uygun değil ama kendi kurallarınızı belirletyerek güzel bir ortam oluşturabilirsiniz.

Nihayet Java (J2EE) : 2 Tam Teşkilatlı geliştirme ortamından biri. İçerdiği kütüphane (JRE) ve güçlü bir dile sahip olması (Java) web programlama konusunda büyük projeler için kendisini tercihlerde bir anda ön plana çıkartıyor. Her türlü ince detayı ayarlayabildiğiniz hatta kendi Server'inizi bile programlayabildiğiniz bir ortam. Server seçenekleri çeşitli ve hepsinin kendine göre güzellikleri mevcut. Belli standartlara sahip olduğu için (örneğin config dosyaları, class'ların yerleri vs.) takım çalışması için uygun. Birinin yazmış olduğu koda adapte olmanız PHP veya ASP'ye göre çok daha kolay ama Java'nın da kötü yönleri mevcut tabi. Öncelikle kavramlara çok boğulmuş bir ortam. EJB, RMI, JMS gibi bir sürü kavrama sahip ve bu kavramları öyle bir anlatıyorlar ki Java ortamından üstün zannedersiniz ama örneğin bir RMI'nin class'ları ağ üzerinde taşımanızı ve uzakta oluşturabilmenizi sağlayan bir program olduğundan bahseden yok. Çok fazla kavram insanların gözünü korkutuyor ama birilerinin bu kavramların aslında çok karışık teknolojiler olmadığını söylemesi lazım. Ayrıca büyük projelerin en büyük sorunu bana göre zaman kayıpları. Yapılan her değişiklikten sonra kodların derlenmesi, Container'in (Server'in) tekrar başlatılması falan derken her değişiklik yarım dakika kadar zamanınızı alıyor. Özellikle test sürecinde bu işlem çok dertli. Session değerinin kaybolmasından ve örneğin 5 adımda test edebildiğiniz bir sayfanın Session'ın kaybolması yüzünden her seferinde o 5 adımı tekrar etmenizden bahsetmiyorum bile ;) IDE (Integrated Development Environment) konusunda sıkıntısı yok. Özellikle Oracle'ı arkasına almış olması gücüne güç katıyor. Ayrıca geliştirdiğiniz ortam (Windows, Linux, ...) konusunda da sıkıntı yok.

Ve Dotnet (ASP.NET) : Tam teşkilatlı takımından ikincisi. Microsoft'un Java'ya cevabı ve özellikle C# konusunda önceleri iyi adımlar attığına inandığım fakat sonra C# 3.0'da gelecek olan "var" keyword'u ile işi çocuk oyuncağına çevireceğini tahmin ettiğim Platformu. ASP.NET hemen hemen Java ile aynı mantıkta çalışıyor ve kendine has standartları olduğundan dolayı takım çalışmasına uygun ve güçlü bir platform. Java ile aynı sıkıntılara sahip denebilir. Derleme yüzünden kod değişimlerinde zaman kaybı fazla ve derleme sonucunda Session değişkenlerinin yokolması insanı çileden çıkartıyor. Server Side (runat=server) componentlerin kullanılması (ve ne yazık ki bunların kullanılmasının yaygın olması) sonucu performans kayıpları hat safhada. Her ne kadar kendi ortamı olsa da kod yazma işini ASP stilinde inline olarak yazılması taraftarıyım. Belli başlı işleri yapacak olan kodları dll içinde bulundurmak en akıllıca çözüm gibi geliyor. Geliştirme Ortamı (IDE) konusunda belki de en iyi IDE'ye sahip (Visual Studio). Fakat Microsoft'un Visual Studio 2003 gibi süper hızlı bir IDE'den sonra 2005'de yavaşlıktan sürünen bir IDE yapması ve yapılmış olan değişikliklerin bu yavaşlığı açıklayamıyor olması sıkıntı veriyor. Java için kullanılan geliştirme ortamları yine Java ile yazılmış oldukları için genelde yavaştırlar ama Visual Studio 2005 C++ ile yazılmış olmasına rağmen Java IDE'lerinin çalıştığı hızlarda çalışması IDE'nin belki de en büyük avantajını yok etmiş durumda.

İşte Web Programlama Savaşları :)