Friday, June 08, 2007

Kurumlardaki porno suistimaline son

Porno suistimaline son!Musonya Yazılım; İnternet kafeler, okullar ve orta ölçekli işletmelerdeki porno tehlikesine son veren, Musonya Justfilter Network yazılımını duyurdu. Üç kademeli gelişmiş web sayfa içerik kontrol motoru ve yeni Anti-Keylogger özellikleri ile dikkat çekiyor.



read more | digg story
[ Read more.. ]


Top of page

Tuesday, June 05, 2007

Millions could be infected: ProAgent Trojan @ Knight Online!

One or more of the updates of Knight Online comes with a famous and hard-to-get-rid-of Trojan: ProAgent. Read the story and for your own security, please uninstall the game & scan your computer with some AV!



read more | digg story
[ Read more.. ]


Top of page

Monday, June 04, 2007

Knight-Online, herşeyin zarar!

Bu Kinght-Online adlı oyun iyi güzel bir oyun gibi görünsede bir çok yönden zararları var. Eşinizden fırça yemekte buna dahil.

Doctus.net'te bir kaç gün önce biri KnightOnline'da virüs olup olamayacağını sordu. Ben pek önemsemedim, niye önemseyecektim ki. Bırakmıştım çünkü bu oyunu ve bir daha aslada oyanamayacaktım. Fakat bizim acar Doctus.net müdavimleri olayın peşini bırakmamışlar ve şu socuca varmışlar.


Knight-Online Client içinde ProAGENT adlı bir zararlı öbeklenmiş. Bu zararlıdan, programı Download.com gibi sitelerden indiren 8 milyon kadar kişinin etkilenebileceğini söylüyorlar.



Detaylar için lütfen tıklayınız.

Kaynak: blog.doctus.net


[ Read more.. ]


Top of page

Saturday, June 02, 2007

Lucasfilm başkanı George Lucas ile söyleşi


1977 yılı yapımı Start Wars filmi hemen her sinema severin bildiği bir filmdir.

George Lucas'ın yönettiği bu film bir çoğumuzun hafızasına kazınmıştır adeta. Sinema ve teknoloji denildiğinde hemen ilk akla gelen bu filmin bir çok serisi çekildi. Şimdi izleyeceğiniz videoda Star Wars oyununun temeli ve tekloloji hakkında bilgi sahibi olacak ayrıca Georce Lucas'ın söylemlerini dinleyeceksiniz.

D5'in Lucasfilm başkanı George Lucas ile yaptığı röportaj izlemek için lütfen devam ediniz.


[ Read more.. ]


Top of page

Steve Jobs ve Bill Gates ile röportaj

To create a new standard, it takes something that’s not just a little bit different, it takes something that’s really new and really captures people’s imagination, and the Macintosh, of all the machines I’ve ever seen, is the only one that meets that standard.”

Microsoft founder Bill Gates, 1984


If I were running Apple, I would milk the Macintosh for all it’s worth–and get busy on the next great thing. The PC wars are over. Done. Microsoft won a long time ago.”

–Steve Jobs, 1996.

Steve Jobs ve Bill Gates ile yapılan röportajlar. Röportajları yapan All Things Digital sitesindeki konu içinde diğer videolarıda izlemeniz mümjündür. Ben derim ki bu videoları izleyiniz. İzlemek için devam ediniz..



[ Read more.. ]


Top of page

Saturday, January 06, 2007

Delphi ve veritabanı uygulamaları ile milyoner olmak!

Wanna be a Delphi Database developer Millionaire?
Ever wonder what "Who Wants to be a Millionaire" might look like if there were only Delphi database (ADO, dbGO) programming questions?

delphi.about.com sitesinde bir yazı var. Sizi bir teste tabi tutuyor. Bu testte Delphi ile Veritabanı uygulamaları konusundaki beceri ve bilginizi sınayabilirsiniz. Tabi bu test sonucunda, delphi ile veritabanı uygulamalarında bir milyoner olup olamayacağınıza karar vereceksiniz.

Bence önemli bir test, bundan önce yine delphi.about.com'da bir test daha vardı. Delphi'de GURU musunuz? gibilerinden. Böyle testler insana özgüvenini sağlamasında faydalı oluyor. 20 yılı aşkındır programlama ile uğraşmama rağmen, zaman zaman kendimi EZİK gibi hissedebiliyorum, böyle testler ile en azından kendimi aynanın karşısında gibi görebiliyor ve öz güvenimi yakalıyorum. Hadi teste başlıyalım..


Test sonuçları yazının sonunda verilmiştir. Sorular ve cevaplar delphi.about.com'daki orjinal testten alınmıştır. Çeviri haricindeki diğer hatalar için lütfen delphi.about.com'u muhattab alınız. Eğer benim tercümemde bir hata var ise lütfen bildiriniz.



Başarılar diliyorum.
  1. Basit ifade ile bir veritabanı:

    a) Bir sistemdeki tüm dosyaların koleksiyonudur.
    b) Bir klasör içindeki tüm dosyaların koleksiyonudur.
    c) DBF uzantılı tüm dosyaların koleksiyonudur.
    d) İlgili verilerin (data) bir koleksiyonudur.

  2. Delphi ile farklı tipteki veritabanlarına bağlanabiliyoruz. Microsoft'un ADO adlı veritabanı arabirimi:

    a) Microsoft'un BDE sürücüleri takımıdır.
    b) Bir sürücüdeki DAO ve RDO'dur.
    c) Size çeşitli veritabanlarına erişim iznini veren "COM bileşenleri" takımıdır.
    d) MS Access erişimi sağlayan takım setidir.

  3. Delphi'de ADO kullanarak, bir MS Access tablosundaki verilere erişim (okuma ve yazma) esnasında; en az hangi üç bileşeni uygulamamızdaki formun üstüne eklemeliyiz?

    a) TTable, TQuery, TDBGrid
    b) TADOTable, TDbGrid, TDataSource
    c) TDataSource, TADOTable, TADOConnection
    d) TDbGrid, TDBEdit, TADOQuery

  4. Açıkçası Delphi'de ADO ile bir MS Access veritabanından veri alabilmek için, ConnectionString özelliğini tanımlamamız gerekiyor. Bir ConnectionString özelliği ise:

    a) Veritabanının fiziki olarak depolandığı yeri ve ona nasıl erişeceğimizi gösterir.
    b) Bir BDE takma adıdır.
    c) MDB dosyası ve klasörünün yerini işaret eder.
    d) Tüm veritabanı bileşenleri ile birlikte birbiren bağlar.

  5. TADOConnection bileşeninin ana amacı:

    a) Veritabanından bir veriyi görüntülemektir.
    b) Veritabanındaki bir sorguya bağlanmaktır.
    c) ADO veri deposu ile bir bağlantıyı kurarmaktır.
    d) Verinin görüntülendiği görsel veri-farkındalığı bileşenlerine veritakımı bileşenlerini bağdaştırır.

  6. DBNavigator bileşeni:

    a) INSERT, DELETE ve CANCEL gibi işlemleri sağlar.
    b) Bir veritabanı bağlantısı yoluyla, tüm veritabanı bileşenlerini yönlendirir.
    c) Basit ve dostça, kayıt-kümesi (recordset) yönlendirilmesi aracıdır.
    d) Veritabanı rapor oluşturmak için kullanılır.

  7. TField bileşen(ler)i nedir?

    a) Çalışma anında, veri-kümesinin işaret ettiği görsel olmayan nesneleridir.
    b) Bir veri-kümesi içinde veriyi düzenlemek üzere TEdit'den türetilen bilşenlerdir.
    c) TADODataset ile bir veri-kümesi içindeki her bir alana bağlantıyı sağlayan görsel olmayan bileşenlerdir.
    d) Bir DBGrid içindeki herbir veri-kümesinin gösterimidir.

  8. Ne zaman ki bir veritabanı tablosundaki tüm satırlara erişebilmek için kullandığımız TADOTable bileşeni ile hangi metodu kullanarak veri alımını sağlıyabiliriz.

    a) TADOTable.Open
    b) TADOTable.OpenTable
    c) TADOTable.SetActive
    d) TADOTable.GetData

  9. Sadece MAAŞ alanı bulunan bir veritabanı tablosuna bağlı ADOTable1 adlı bileşeniniz var diyelim. Bu tabloda sadece bir alan var (MAAŞ). Buna göre aşağıdakilerden hangisi MAAŞ adlı alandaki değere ulaşmamızın doğru yolu değildir?

    a) ADOTable1.GetValueOf(Salary)
    b) ADOTable1Salary.Value
    c) ADOTable1.Fields[0].Value
    d) ADOTable1.FieldByName('Salary').Value

  10. Bir veri-kümesini (kayıt) düzenleme (edit) esnasında değişikliklerin uygulanması için kullandığımız metod nedir?

    a) SaveChanges
    b) Post
    c) Refresh
    d) Update

  11. Sorgu kullanarak bir ADO veritabanından bir veya birden çok tablo'dan veri çekebilmek için kullanılan bileşen hangisidir?

    a) TQuery
    b) TADOView
    c) TADOQueryTables
    d) TADOQuery

  12. Aşağıdaki yöntemlerden hangisi bir veri-kümesinde (dataset) ara-bul-getir (search) görevi yapmaz?
    Bu sorudaki şıkları değiştirdim, sanırım hatalı yada eksik ifade kullanılmıştı. Orjinal soru için tıkla

    a) Locate
    b) Lookup
    c) Seek
    d) FindFirst, FindPrev, FindNext, FindLast

  13. FILTER özelliği TRUE yapılmış bir TADOTable'ın kullanıldığı bir Client/Server uygulamanız var. Filitre kullanılması durumunda filitre:

    a) Client tarafından belirlenir.
    b) Server tarafından belirlenir.
    c) Her iki taraftan belirlenir.
    d) TADOTable'ın filitre özelliğini desteklemez.

  14. Eğer 15 alan içeren bir tablodan 4 alana ihtiyacınız varsa; neden TADOTable değilde, TADOQuery kullanırsınız?

    a) TADOTable ve filitre özelliğiyle daha iyi bir kullanım olurdu.
    b) Hayır, mutlaka TADOTable kullanırdım.
    c) TADOQuery ile belirli alanları geri döndürerek ağ trafiğini azaltır ve performansı arttırırdık.
    d) TADOQuery hızlıdır.

  15. TFiled.OnValidate olayının amacı nedir?

    a) OnBeforeValidate olayının tetiklenmesinden sonra eğer bir hata meydana gelmediyse; veri alanının başarıyla güncellenmesine olanak sağlar.
    b) Düzenleme amacıyla tetiklenen veri alanının biçimlendirilmesine izin verir.
    c) Görüntülenme amacıyla tetiklenen veri alanının biçimlendirilmesine izin verir.
    d) Verinin kaydedilmeden önce onun test edilmesine izin verir. Eğer girilen veri uygunsuz şekilde kaydedilmek istenirse, bir hata meydana gelir.

  16. İki alfanümerik alan içeren yeni bir tablo oluşturmak için aşağıdaki SQL komut dizilimlerinden hangisini kullanmalıyız?

    a) SELECT NEW Table (FirstField TEXT(20), SecondField TEXT(10))
    b) CREATE Table (FirstField TEXT(10), SecondField TEXT(10))
    c) CREATE NEW Table (FirstField STRING(10), SecondField STRING(10))
    d) ALTER Table (FirstField TEXT(10), SecondField TEXT(10))

  17. Bir uygulamanın, iki adet TADOQuery arasında asıl-detay (master-detail) ilişkilendirilmesine ihtiyaç vardır. Diyelim ki, asıl SQL sorgumuz ADOQuery1, DataSource1'den okuma yapıyor. Bu uygulama ile detay sorgu ADOQuery2 bileşenin DataSource özelliğini nasıl ayarlamalıyız?

    ADOQuery1.SQL.Text := 'select * from orders'
    ADOQuery2.SQL.Text := 'select * from items where orderNo = :orderNo'


    a) ADOQuery2.DataSource = DataSource1
    b) ADOQuery2.DataSource = DataSource2
    c) ADOQuery2.DataSource = ADOQuery1.SQL
    d) ADOQuery2.DataSet = DataSource1

  18. Hangisi veritabanı grafiksel raporları için güçlü bir araçtır.

    a) TDrawGrid
    b) TChart
    c) TDBChart
    d) TADOChart

  19. Başka bir tablodan veya önceden tanımlanmış değerler listesinden bir değer seçebilmemize imkan veren iki adet veri-farkındalığı olan kontrol bileşenleri hangileridir?

    Two data-aware controls that enable us to choose a value from another table or from a predefined list of values are

    a) TDBLookupListBox and TDBLookupComboBox
    b) TDBListBox and TDBComboBox
    c) TDBLookupListBox and TDBADOLookup
    d) TDBADOListBox and TDBADOComboBox

  20. Genellikle, ......... amacıyla bir TDataModule sınıfı kullanılmazdı.

    a) kodlama ve veri erişimi paylaşımı
    b) tasarım anında görsel düzenleme
    c) kod bakımı ve kuralların merkezileştirilmesi
    d) bir veritabanındaki TÜM tablolara erişim

  21. Aşağıdaki olay-tetikçilerinden hangisi TADODataset'e bağlı tipik bir HATA yordamı değildir?

    a) OnPostError
    b) OnFilterError
    c) OnEditError
    d) OnInsertError

  22. Veri kaynağına kaydet veya değişikliklerden vazgeçme yaptırımını TADOConnection ile beraber Delphi'de ADO'nun muamele (transaction) sürecinde şu üç metod kullanılır:

    a) BeginTransaction, CommitTrans and UndoChanges
    b) StartTrans, CommitTrans and UndoTrans
    c) BeginTrans, UpdateTrans and RollbackTrans
    d) BeginTrans, CommitTrans and RollbackTrans



Evet sabırla buraya kadar geldiyseniz, sonuç ne olursa olsun siz bu işi çok seviyorsunuz demektir. Tabi gerçekten teste katıldıysanız.

Hadi şimdi cevaplara bakalım. Eğer 22 sorunun hepsini doğru bildiyseniz siz bir ADO ile programlama konusunda GURU sayılıyormuşsunuz. (1-2 soru istisna, yanlış yapmış olabilirsiniz)

Cevaplar:
  1. D
  2. C
  3. B
  4. A
  5. C
  6. C
  7. A
  8. A
  9. A
  10. B
  11. D
  12. D
  13. A
  14. C
  15. D
  16. B
  17. A
  18. C
  19. A
  20. D
  21. B
  22. D



[ Read more.. ]


Top of page

Wednesday, January 03, 2007

Etiket çorbası, güzelliği: Label Cloud

İlk defa "Label Cloud" denilen şeyi Community Server'ın blog sisteminde görmüştüm. Çok beğenmiştim, keşke blogger'da da olsa böyle şey diye düşündüm. Hatta sırf bu sevda için, kendi server'ıma WordPress gibi blog şeyleri kurmayı denedim, ama benim server Windows olduğundan bir alay sorun çıktı ben de BLOGGER ile devam etmeye karar verdim.

Yukarıda gördüğünüz ETİKET ÇORBASI güzelliğini eğer kendi bloğunuza (BLOGSPOT, BLOGGER) eklemek istiyorsanız yazıyı okumaya devam ediniz.




Blogspot'un BETA daha sonra beta'dan çıkan sürümünü kullnıyorum. Dediğim gibi şu Label Cloud denilen şeyi kendi günceme nasıl eklerim diye düşünüyordum, bir kaç deneme yaptım, etiketleri çorba halinde döktürdüm, ama bunların font büyüklüğünü ayarlamam gerekiyordu. Sizin de tahmin edeceğiniz gibi JAvaScript ile bunu yapmam gerekiyordu, gelin görün ki, BLOGSPOT'ta JavaScript manuel olarak eklemek bir haliyli zor. Daha doğrusu bunun tekniğini bilmek gerekiyor(muş).

Fazla uğraşmamayım, bakalım bu işi kimler yapmış, yapabiliyormuş diye Google amcaya sordum. Bir kaç dikkate değer sonuç çıktı.

Bunlardan ilki, bşka bir siteye bağlantı kurularak yapılan bir etiketlendirme sistemiydi ki, pek de istediğim şey değildi.

Ama daha sonra rastladığımsayfada ise, tam aradığım şeyi bulmuştum. (in English)

Lafı fazla uzatmamayım, verdiğim linkteki açıklamaları ben Türkçe olarak sizlere anlatmaya çalışayım. Çeviri değil, sadece yaptığım adımları anlatacağım.
  • Öncelikle layouts templates'e geçerek etiket kutusunu ekleyiniz.
  • Daha sonra TEMPLATE bölümünden Edit HTML'i seçiniz.
  • HTML bölümünden şunu aratıp bulunuz ]]></b:skin>
  • Bulduğunuz yerin soluna (]]'nin soluna) şu kodları ekleyiniz.

    /* Label Cloud Styles
    ----------------------------------------------- */
    #labelCloud {text-align:center;font-family:arial,sans-serif;}
    #labelCloud .label-cloud li{display:inline;background-image:none !important;padding:0 5px;margin:0;vertical-align:baseline !important;border:0 !important;}
    #labelCloud ul{list-style-type:none;margin:0 auto;padding:0;}
    #labelCloud a img{border:0;display:inline;margin:0 0 0 3px;padding:0}
    #labelCloud a{text-decoration:none}
    #labelCloud a:hover{text-decoration:underline}
    #labelCloud li a{}
    #labelCloud .label-cloud {}
    #labelCloud .label-count {padding-left:0.2em;font-size:9px;color:#000}
    #labelCloud .label-cloud li:before{content:"" !important}
  • Daha sonra bulduğunuz ]]></b:skin> sağına şu kodları ekleyiniz:

    <script type="text/javascript">
    // Label Cloud User Variables
    var lcBlogURL = 'http://YOURBLOG.blogspot.com';
    var cloudMin = 1;
    var maxFontSize = 20;
    var maxColor = [0,0,255];
    var minFontSize = 10;
    var minColor = [0,0,0];
    var lcShowCount = false;
    </script>

  • "YOURBLOG" yazan yere kendi günce adınızı yazacaksınız. Mesela benimkinde "life-is-a-code" yazıyor.
  • Son olarak şöyle bir kod parcasını arayacaksınız "<b:widget id='Label1' locked='false' title='Labels' type='Label'/>". Bu kodu bulun ve bu kodun sonuna kadar, yani "</b:widget>" koduda dahil olmak üzere silin ve yerine şu kodları yapıştırın:

    <b:widget id='Label1' locked='false' title='Label Cloud' type='Label'>
    <b:includable id='main'>
    <b:if cond='data:title'>
    <h2><data:title/></h2>
    </b:if>

    <div class='widget-content'>
    <div id='labelCloud'/>
    <script type='text/javascript'>

    // Don't change anything past this point -----------------
    // Cloud function s() ripped from del.icio.us
    function s(a,b,i,x){
    if(a>b){
    var m=(a-b)/Math.log(x),v=a-Math.floor(Math.log(i)*m)
    }
    else{
    var m=(b-a)/Math.log(x),v=Math.floor(Math.log(i)*m+a)
    }
    return v
    }


    var c=[];
    var labelCount = new Array();
    var ts = new Object;
    <b:loop values='data:labels' var='label'>
    var theName = "<data:label.name/>";
    ts[theName] = <data:label.count/>;
    </b:loop>

    for (t in ts){
    if (!labelCount[ts[t]]){
    labelCount[ts[t]] = new Array(ts[t])
    }
    }
    var ta=cloudMin-1;
    tz = labelCount.length - cloudMin;
    lc2 = document.getElementById('labelCloud');
    ul = document.createElement('ul');
    ul.className = 'label-cloud';
    for(var t in ts){
    if(ts[t] < cloudMin){
    continue;
    }
    for (var i=0;3 > i;i++) {
    c[i]=s(minColor[i],maxColor[i],ts[t]-ta,tz)
    }
    var fs = s(minFontSize,maxFontSize,ts[t]-ta,tz);
    li = document.createElement('li');
    li.style.fontSize = fs+'px';
    li.style.lineHeight = '1';
    a = document.createElement('a');
    a.title = ts[t]+' Posts in '+t;
    a.style.color = 'rgb('+c[0]+','+c[1]+','+c[2]+')';
    a.href = lcBlogURL+'/search/label/'+encodeURIComponent(t);
    if (lcShowCount){
    span = document.createElement('span');
    span.innerHTML = '('+ts[t]+') ';
    span.className = 'label-count';
    a.appendChild(document.createTextNode(t));
    li.appendChild(a);
    li.appendChild(span);
    }
    else {
    a.appendChild(document.createTextNode(t));
    li.appendChild(a);
    }
    ul.appendChild(li);
    abnk = document.createTextNode(' ');
    ul.appendChild(abnk);
    }
    lc2.appendChild(ul);
    </script>

    <noscript>
    <ul>
    <b:loop values='data:labels' var='label'>
    <li>
    <b:if cond='data:blog.url == data:label.url'>
    <data:label.name/>
    <b:else/>
    <a expr:href='data:label.url'><data:label.name/></a>
    </b:if>
    (<data:label.count/>)
    </li>
    </b:loop>
    </ul>
    </noscript>
    <b:include name='quickedit'/>
    </div>

    </b:includable>
    </b:widget>

Eğer tüm bunları yaptıysanız, LABEL kutusunu nereye eklediyseniz o kısımda benim yaptığım gibi bir Etiket çorbası şeysi göreceksiniz.

Kodları copy-paste ile yapıştırdığımdan hatalı olabilir. Blogger'da nedense kod eklemeyi bir türlü başaramıyorum, umarım sorunsuzca işinizi halledersiniz.



[ Read more.. ]


Top of page

Friday, December 29, 2006

CodeGear Geyikleri

Bu sabah, CodeGear yol haritasından bahsettikten sonra, yazıya CodeGear logosu ekliyeyim dedim. Ancak www.codegear.com sitesine giremedim.

Nerden aklıma geldiyse, Google Gruplardan, CodeGear aratması yaptım. Çok ilginçtir, sorgudaki ilk konuya hemen baktım. Çünkü, "Code Gear'da bir problem" var diye dikkatimi çekti.


Şöyle bir mesaj ile başlıyor:

var CodeGear: TBorland;
begin
CodeGear := TCompany.Create; //<-- access violation here!



Benim bu forumdaki ilk mesajımı gördüyseniz, arama sonucunda rastladığım bu kod örneğinide anlayacaksınız. Life is a code, muhabbeti Google Gruplarda da yapılıyor.

Bu ilk mesajdan sonra birisi şöyle devam ediyor:

does it say 'already created'?

Çok fazla ingilizce bilmenize gerek yok, sadece kodlara bakarsanız, BORLAND-CODEGEAR muhabbetini çok iyi anlayacaksınız. Bu gruptaki arkadaşlar borland-codegear ilişkisini anlıyabilmek için değişik tanımlamalar yapıyorlar, bir türlü istenilen sonuca ulaşamıyorlar. Bakarsınız siz onlara yardımcı olur daha iyi bir kodla onlara gerçekleri öğretirsiniz.

Bende katılayım şunlara:


Uses Borland;
Type
TCodeGear = Class(TBorland)
.
.
IDE : TBorland.TIde;
.
.
end;
.
.
.
var
B: TBorland;
C: TComponent;
begin
B := B.Create(nil);
C := TCodeGear.Create(B);
C.IDE := B.IDE;
B.IDE := nil;
C.Owner := B; // maybe, it is not correct. Because, don't remember Microsoft.
{
C.Owner := TMicrosoft(B); // is it correct?
- or -
C.Parent := B;
C.Owner := Microsoft;
}
end;
.
.
.


** Bu arada bu blogta bir türlü kod eklemeyi beceremedim. Boşluklar hep uçuyor.

Hayat devam ediyor. Bu vesile ile şimdiden herkesin bayramını kutlarım. Ve nice mutlu senerele.

[ Read more.. ]


Top of page

CodeGEAR: Yol Haritası

Borland, IDE bölümünü CodeGear'a devretti. Bir Borland oluşumu olan CodeGear, IDE olarak adlandırılan, Geliştirme Ortamlarını sürümlendirmeye devam edecek.

CodeGear.com

Bir çok yerde çok kere yazılmış olmasına rağmen Borland neden IDE'leri geliştirmeyi bıraktığını anlayamadım. Ama bu işin altında Microsoft'un olduğunu hissediyorum.


Borland, yazılım geliştirme ortamları konusunda Microsoft'a karşı çok ciddi bir rakip, hatta bir çok yeni teknolojileri icat edebilmiş bir şirket olarak göze çarpıyor. Microsoft .NET teknolojisinin Borland çalışanları tarafından geliştirildiği söyleniyor.

Microsoft, Borland'ın büyük bir bölümünün hisselerine sahip. Sanıyorum ki, Borland'ın elindeki IDE'ler Microsoft IDE'lerine büyük darbe vuracağı var sayılarak. Ve bu varsayımla, şirket içinde manevi bir dağılma ve kutuplaşma olduğundan CodeGear ortaya çıktı. Bu oluşum, Borland için çok sancılı ve kararsızlıklar döneminin hemen ardından hızla gerçekleşti.

Şimdi ortada büyük bir sorun oluştu. Bir Borland ürünleri meraklısı ve kullanıcısı olarak, bu işin sonu ne olacak diye sormaya başladım. Artık DELPHI diye birşey kalmıyacak mı? Yeni sürümleri çıkmayacak mı? Destek bitti mi? vb. sorular aklımda dolanmaya başladı.

Elbette bu soruları tek ben sormuyordum, bir çok Borland-sever bu soruyu sordular. Forumlarda tartışıldı. Bir panik havası yaşandı. Netice ne oldu peki.?

Netice şu; CodeGear bir oluşuma girdi ve Borland'ın IDE'lerini geliştirmeyi sürdüreceğini açıkladı. CodeGear CEO'su Ben Smith bir açıklama ile duyurdu.

Ben Smith yazısında bir yol haritasından söz etti.

Bu yol haritasında, adeta "nerede kalmıştık?" dercesine, yeni sürümlendirmelerden bahsediyorlar. 2009'a kadarki süreçlerinden bahsediyorlar.

Ben şu an için CodeGear'ın DELPHI sürümlendirmelerine bakıyorum. Söylenen yol haritasına bakarsak, Delphi için beklediğim ve hatta geç bile kalınmış sürümlerinin geleceğini öğreniyorum.

CodeGear şöyle bir yol haritası çizmiş Delphi için:



Bu çizelgeye bakarsak, çokta fazla panik olmaya gerek yok. Yani denilenler eğer gerçekleşirse, Delphi'nin üvey evlat muamelesi görmeyeceği aşikar.

Delphi konusunda beni ilk defa sıkıntıya sokan eksikliğin .NET 2.0 desteğinin olmamasıydı. .NET 2.0 desteği 2007 içinde HighLander kod adıyla çıkacak BDS sürümünde olacağı söyleniyor.

Şimdi .NET 2.0'ın neden 2006 sürümünde değilde, hatta 2005 sürümünde (en azından güncellemeler ile) olmadığıdır. Bu bende iki farklı düşünce oluşmasına sebep oldu.

İlki, Borland bir karmaşa içine girdi, "ne oluyoruz, ne yapacağız" derken, .NET 2.0 ve bir çok beklenen özelliği, suların çekilmesinden sonra yapalabileceğini gösteriyordu.

İkinci bir düşünce ile, Borland ya da yeni sahibi CodeGear'ın sindire sindire, özellikleri arttıracağını gösteriyordu.

Tam olarak şu veya bu diyemiyorum, ama eşit ağırlıklı olarak bu iki düşünce neticesinde, Delphi için düşünülen sürümlendirmelerde bir aksama olduğu kesin.

.NET henüz oturmamış, ama gelecekte çok iyi iş kotaracak bir oluşum. .NET 1.1 stabil olduktan sonra, Delphi içine gömülü olarak geldi. Delphi 2005, 2006 çıktığında .NET 2.0 çoktan piyasaya sürülmüştü, ama Borland bunu Delphi içine eklemedi. .NET'in master page özelliği gibi birşeyin Delphi.NET içinde kullanılaması çok üzücüydü. Bu özelliği (Master Page) Delphi içinde kullanamıyor olmak beni ister istemez, Microsoft IDE'sine yönlendiriyor. Yani borland'ın keyfini bekleyemezdim ya. Yok olmadı, Master Page özelliğinden vazgeçeyim.

Hadi Master Page'den vazgeçtik, ya AJAX. Evet AJAX'ta hiç de göz ardı edilmeyecek bir kütüphaneler zinciri. Çokta faydalı olacağı gün gibi ortada. Ama maalesef bunu Delphi içinden kullanamıyoruz. Neden? Çünkü, .NET 2.0 desteği yok.

Master Page, AJAX gibi özellikler .NET 2.0 sürümünü gerektiriyor.

CodeGear'ın çizdiğ yol haritasına bakarsak sabretmemiz ve .NET camiasındaki gelişmelerin stabil olmasını beklememizde fayda var.

Ama gelin görün ki, .NET 3.0'ın çıktığını (beta) duyuruldu.

Bakalım, bu .NET'in hızla gelişimine CodeGear ayak uydurabilecek mi?

[ Read more.. ]


Top of page

Tuesday, December 26, 2006

Doğal ama yasak: Pornografi

İnsanların yükselişinde tabularımızın faydası var mıdır bilinmez. Ancak Pornografiye karşı yasaklayıcı bir zihniyetin, insan üremesi bakımından çok faydalı olacağı kanaatindeyim.


İnsanlar her zaman birşeyleri elde etmek ister ve bunun için mücadele eder. Elde edildiğinde ise, çoğunlukla hemen sıkılırlar ve bir başka alternatife yönelirler. Cinsel hayatımızda da böyle şeylerin olması elbette doğaldır. Bu istekler elbette yeni şeyleri görerek ve bunları arzu ederek daha da kuvvetlenirler.


Bazen herşeyi bilmek ve görmek çok iyi olamayabiliyor. Tam tersi olarak da, hiç görmemek ve bilmemek de iyi olmayabiliyor. Cinsellik bunlardan biridir.

Ben pornografi diyorum, ama cinsellikte diyebiliriz. Ya da doğru bir ifadeyle seks yaşantısı diyelim.

Pornografi, herkes tarafından bilinen seks yaşantısının ifşa edilmiş halidir. Daha çok ticari emeller ile popülaritesini kazanmış daha sonra doğal bir davranış biçimine girerek WEB CAM ile kendimizi teşhir etme noktasına kadar gelmiştir.

Bildiğim kadarıyla hemen tüm semavi dinler, cinsellik konularında oldukça tutucu davranırlar. Semavi dinlerin temelinde insan vardır. Bu dinler elbette insanların kendi kendilerini kontrol edebilme ve kendilerini kullanabilme kitapçıkları gibidir. Bilinen bu semavi dinlere ait kitaplarda toplumsal yaşam ve toplumu oluşturan insanlar baz alınarak, kimi zaman öneri, kimi zaman ise bir ŞART niteliğinde emirler vardır. Bunlar elbette ALLAH tarafından bizlere gönderilen değerli bilgilerdir.

Değerlidir, çünkü yaratan; yaratılanı yaratılandan daha iyi bilir.

Doğa bir sistem üzerine kurulmuştur, bu sistem bir makina gibi düzenli şekilde çalışmak zorundadır. Sistemi bozacak herhangi birşey, sisteme bağlı hemen herşeyi etkiliyebilir. Üremekte sistemin getirdiği önemli şeylerden biridir.

Üreme aşamalarına bilimsel olarak yaklaştığınızda enterasan olgular ortaya çıkacağından eminim. Ama alalede bir bakış ile üreme aşamaların ilki olan İSTEK davranışının üremede çok etkili olduğunu söyleyebilirim. Biz burada üremeden bahsediyoruz.

Bir şeyi istemeden önce onu hayal etmemiz, istediğimiz şeyin elde edilme sürecini hızlandırır. Hayallerimiz, gördüklerimiz ve bildiklerimiz ile doğru orantılıdır. Hemen hiç birşey bilmeyen bir kişi rüyasında ya da hayallerinde bir helikopter göremez. Çünkü böyle bir bilgi birikimine sahip değildir.

Cinsel yaşantımızda, cinsellikle alakalı bilinenlerin abartı derecesine çıkartılması ve görsel olarak tasavvur edilemez boyutlara çıkılması, bizdeki İSTEK oluşma kriterlerini çok yukarılara çıkartacaktır. Çünkü hayallerimiz daha da büyük olacak. İsteklerimiz kabul göremez dereceye çıkacak, imkansıza yakınlaşacak. Bu imkansızları yapmak için TABU'ları yıkmak için uğraşacağız. Dernekler kuracağız, isteklerimizi kabullendirecek zeminler sağlıyacağız. Olmayacak ve SAPIK olarak anılacağız. Toplum bunu kaldıramayacak.

Tüm bu anlattıklarım elbette günümüz konusu olan internet pornografisinin engellenmesi ile alakalıdır. Biz hep çocuklarımızı internetin zararlarından koruyalım derken, kendimizi nelerden koruyacağımızdan hiç bahsetmiyoruz. En azından ben bu yazıda bunlara dilim döndüğünce değindim.

Temelde, çocuklarımızı pornografiden -pornografik görüntülerden- korumak için kullandığımız programlar aslında, bizleri çocuklara bunları izah edememe utancından koruyorlar.

Belki utanç kelimesi bir çoklarınız için kaba kaçmış olabilir, ama bir çoğumuz için gerçektende çocuklarımızın bizlere cinsel konularda sorular sorması bizi utandırır. Gereksiz tepkiler verebileceğimiz gibi, mantıklı yaklaşımlar yapabilmemiz de mümkündür.

Bir internet filitresi kullanın veya kullanmayın. Ne olursa olsun, şu günün oluşumlarına bakarsak çocuklar eninde sonunda pornografik bir görüntü ile karşılaşacaklar. Peki siz buna hazır mısınız?

Şunu bilmelisiniz, kim yapmış olursa olsun, internet filitreleri sadece filitreleme yüzdelerini artırabilirler. Asla %100 filitreleme yapılamaz.

Hiç bir filitre kullanmayıp, çocukları tehlikenin içine atmakta mümkün değil elbet. Ancak kendinizi yine de hazırlayın: Bir gün çocuğunuz size gördüğü şeyi soracaktır.

Saygılar.

[ Read more.. ]


Top of page