Archive for June, 2007

Bütün veritabanı işlemlerinde bir connection tanımlar ve bunun vasıtasıyla veritabanımıza bağlanıp istediğimiz işlemleri yaparız. Farklı her connection tanımladığımızda bu connectionlar connection pool’da saklanır. Eğer tekrar aynı connectiona ihtiyaç duyarsak tekrar tanımlama yaparız, ama artık bu yeni bir connection olmayıp pool’dan bize atanır. Böylelikle aynı veritabanına defalarca bağlanırken (üstelik kullanıcı sayısının arttığını da düşünürsek) daha kısa sürede bağlantı yapmamızı sağlayacaktır. Bu da daha fazla performans demektir.

Şimdi bu connection pooling ile karşılaşabileceğimiz bir sorunun senaryosunu hazırlayalım. Öncelikle aşağıdaki örnek kodumuzu ele alalım:

SqlConnection con = new SqlConnection

(server=.SQLEXPRESS;database=TEST;UId=User1;Pwd=123;”);

SqlCommand cmd = new SqlCommand

(“SELECT Count(*) FROM TARIH”, con);

con.Open();

int i = Convert.ToInt32(cmd.ExecuteScalar());

con.Close();

//Bir takım işlemler….

SqlConnection con2 = new SqlConnection

(server=.SQLEXPRESS;database=master;UId=sa;Pwd=123;

Pooling=False);

SqlCommand cmd2 = new SqlCommand

(“ALTER DATABASE TEST SET READ_ONLY”, con2);

try

{

  con2.Open();

  cmd2.ExecuteNonQuery();

}     

catch (SqlException ex)

{

   Console.WriteLine(ex.Message);

}

finally

{

con2.Close();

}

Burada yapılanı incelersek TEST veritabanına User1 kullanıcısı ile bağlanıp bir sorgu çalıştırılıyor. Burada ne yapıldığı önemli değil, sonuçta veritabanına bağlanıp bir işlem yapıldığını görmek yeterli. Senaryomuz gereği bu veritabanı üzerinde bir işlem yapmamız gereksin. Bu herhangi bir işlem olabilir, basit olması açısında veritabanını READ_ONLY yapmaya çalışacağız. (Önemli olan alter database edebilmek) Buraya kadar bir sorun yokken çalışma zamanında aşağıdaki hata ile karşılaşıyoruz.

Timeout expiredThe timeout period elapsed prior to completion of the operation or the server is not responding. ALTER DATABASE statement failed.

Peki, bu da nereden çıktı şimdi? Evet, connection poolingden… Öncelikle ilk connectionı yarattığımızda bu connection poola atıldı. Daha sonra sa ile sisteme bağlanıp TEST veritabanı üzerinde alter database yapmak istediğimizde ise bize yukarıdaki hatayı verdi. SQLexpress management studioyu açıp sp_who ile bağlı kullanıcılara bakalım.

 connection1.jpg

Sonuçlara baktığımızda User1 kullanıcısının bağlı olduğunu ama “uyuduğunu” görüyoruz. Bu da bizim daha sonra sa ile bu veritabanı üzerinde işlem yapmamızı engelliyor. (SQL 2000 kullanıyorsanız kod tarafında “database currently in use” mesajını alırsınız.)

Gelelim çözümümüze. En basiti, ilk bağlantımızı tanımlarken Pooling=False özelliğini eklemek olabilir. Ancak bu durumda connection poolingin bize sağladığı nimetlerden faydalanamayacağız ki bu istediğimiz bir çözüm değil. Bu durumda 2. bağlantımızı çalıştırmadan hemen önce

SqlConnection.ClearPool(con);

komutunu işletebiliriz. Böylelikle bu connectionı pool’dan temizlemiş oluruz. Buradaki senaryomuzda aynı scope içinde işlem yaptık. Scope dışında isek aynı connectionı pooldan alıp temizleyebilmek için tekrar tanımlamamız gerekiyor. Yani:

SqlConnection con = new SqlConnection

(server=.SQLEXPRESS;database=TEST;UId=User1;Pwd=123;”);

SqlConnection.ClearPool(con);

Hemen burada farklı bir sorunun senaryosunu çizmek istiyorum. Peki, pool bu şekilde değil de farklı bir biçim de temizlenirse ne olur? Mesela sql serverda sorun oldu ve restart oldu, ya da sql admin gitti bizim bu User1 bağlantımızı bize haber vermeden KILL etti. (Yukarıdaki sp_who tablosuna göre KILL 53 komutu ile bağlı kullanıcı düşürülebilir.) Bu durumda poolda engel olacak kullanıcı olmadığından bizim ALTER DATABASE işlemi başarıyla çalışacaktır. Ancak, oldu ya daha sonra yine bizim bu veritabanı üzerinde işlem yapmamız gerekti: 

SqlConnection con4 = new SqlConnection

(server=.SQLEXPRESS;database=TEST; UId=User1; Pwd=123;”);

SqlCommand cmd4 = new SqlCommand

(“SELECT Count(*) FROM TARIH”, con4);

  try

  {

      con4.Open();

      int i2 = Convert.ToInt32(cmd4.ExecuteScalar());

  }

  catch (SqlException ex)

      {

        Console.WriteLine(ex.Message);

      }

  finally

  {

      con4.Close();

  }

Bu seferde farklı bir hata ile karşılaşıyoruz:

A transport-level error has occurred when sending the request to the server. (provider: Shared Memory Provider, error: 0 – Borunun diğer ucunda işlem yok.)

Anlaşılacağı üzere “borunun diğer ucu” gitmiş.Yani, ADO.NET bunun daha önce poolda olduğunu zannediyor ve connectionı bu şekilde tanımlıyor ve işlem yapmaya çalışıyor; ancak başarılı olamıyor. Peki, bu durumda ne olacak? Bu durumda yapılacak şey yine exceptiona düştüğünde poolu temizlemek:

catch (SqlException ex)

  {

      if (ex.Number == 233)

      {

         SqlConnection.ClearAllPools();

      }

  }

Bu durumda, eğer, bu sorgu çok kritik bir sorgu ise tekrar çalıştırılması gerekecektir.

 

1964 yılında Gilligan’s Island adıyla bir sit-com çekilmiş. Komedi ağırlıklı bu dizide yat kazasıyla ıssız adaya düşen bir grup kazazedenin komik maceralarını izliyoruz. LOSTa ne kadar da benziyor öyle değil mi? Buyrun videoları izleyip siz karar verin: YouTube Preview Image

YouTube Preview Image

İşte 3. sezon boyunca dinlediğimiz tüm şarkılar:  

 1- Petula Clark – Downtown (S03E01)
 2- Glenn Miller – Moonlight Serenade (S03E01)
 3- John Philip Sousa – The Thunderer (S03E01)
 4- Corey Harris – Feel Like Going Home (S03E03)
 5- Brenda Lee – I Wonder (S03E05)
 6- Ann Margret – Slowly (S03E06) 
 7- Oasis – Wonderwall (S03E08)
 8- Sarah McLachlan – Building a Mystery (S03E08)
 9- C. Elliot – Make Your Own Kind of Music (S03E08)
 10- There Dog Night – Shambala (S03E10)
 11- Nirvana – Scentless Apprentice (S03E22)
 12- Beach Boys – Good Vibrations (S03E22)
 

İndir… (47354 KB) 

Kaynak: www.deezi.net

Dizinin Adı: Kurban’ın Kurbanları
Yönetmen: Taylan Biraderler
Yapımcı: Osman Yağmurdereli
Müzik: Kıraç (Ana Şarkı: Yalnızlığımın Adasında Yitirdim Benliğimi)  


Kazazedeler

Jack: Nejat İşler

Kate: Berrak Tüzünataç
Sawyer: Kıvanç Tatlıtuğ
John Locke: Mazhar Alanson
Hurley: Ata Demirer

Mr. Eko: Pascal Nouma

Jin: İlhan Mansız

Sun: Ayumi Takano

Sayid: Mehmet Ali Nuroğlu

Shannon: Pınar Altuğ

Charlie: Özgür Çevik

Boone: Berk Hakman

Ana Lucia: Doğa Rutkay

Claire: Seçkin Piriler

Desmond: Birol Ünen

Michael: Steve Kompela  

The Others (Diğerleri)

Benjamin Linus: Halit Ergenç
Juliet: Özge Özberk
Alexandra Rousseau: Melisa Sözen
Ethan Rom: Timuçin Esen  

Kısaca Konu:

Dokuz günlük Kurban Bayramı tatilini fırsat bilip, “Şöyle bir Amarika’ya gidelim de görelim neymiş, hem ucuz bilet de bulduk, ne duruyoruz o zaman!” düşüncesiyle Okuyanus Havayollarına ait 831 nolu uçuşa doluşan Türkler, uçağın Atlantik Okyanusu üzerinde infilak etmesiyle kendilerini bir anda ıssız bir adada bulurlar.

SSK Okmeydanı Acil Servis doktorlarından Jack de (N. İşler) bu yolcular arasındadır ve gözlerini adada açması ile gaipten gelen “Doktor Jack, Doktor Jack acilen sahile bekleniyorsunuz.” sesini duyması bir olur. Hızla sahile koşan (ve dizinin ilerleyen bölümlerindeki geri-dönüşlerde Aliye isimli eski aşkıyla hüzünlü ayrılışını izleyeceğimiz) Dr. Jack, “anam anam” feryatlarıyla inleyen yolcularla karşılaşır ve olaylar gelişir.

Dizi ilerledikçe adanın hiç de öyle ıssız bir yer olmadığı ve bu adada zamanında (Sorosçu olmakla suçlanan) Dharma Vakfı ile TUBİTAK’ın ortak çalışmalar yürüttüğü ortaya çıkar. Bu çalışmalar adanın manyetik dengesini bozmuş ve yönlerin tespit edilemez hale gelmiştir. Bu da başta ada imamı Mr. Eko (Nouma) olmak üzere çoğunluğun moralini feci halde bozar. (Bkz. Bölüm 8 “Kıble Nerede Be Hacım?”)

Sayısal’da gizemli sayılar “3 5 8 31 40 41” rakamlarına oynayıp paranın gözüne koyan Hurley’in (A.Demirer) ada hakkında sürekli söylediği “Abi ben burayı biliyorum, Acun’un adası burası, Survivor Türkiye Yunanistan da burada çekildiydi.” cümlesi ve John Locke’un (M. Alanson) burnuna sürekli gelen kaşarlı tost kokusu da adanın gizemini arttırır. Nitekim yolcular bu adada yalnız olmadıklarını anlayacaklar ve olaylar gelişecektir.

Diziden Notlar:

Hurley hiç de haksız değildi aslında; dizinin çekimleri için Survivor adaları kullanılmıştı. Fakat senaristlerin bunu neden diziye de yerleştirdikleri, dizideki binlerce meçhuliyet gibi, halen yanıtsız.

Dizinin web sitesine gelen izleyici soruları arasında “Abi onca adam –affedersiniz ama- nasıl def-i hacet gideriyorlar?”ın yoğunlaşması üzerine yapımcı Osman Yağmurdereli “Her taraf deniz, biraz açılıyorlar.” açıklamasında bulundu. Bu açıklamaya Prof. Dr. Orhan Kural büyük tepki gösterdi ve yapımcıyı çevreyi koruma hususunda kötü örnek olmakla suçladı.

Yapım ekibinin dizinin başlaması şerefine verdiği mangal partisi esnasında, etrafa sıçrayan kıvılcımların birkaç palmiyeyi tutuşturması ise sadece çevrecilerden değil, Panama Hükümeti’nden de tepki gördü.  

“Oyuncular arasındaki iletişimden bize de ekmek çıkar nasılsa” düşüncesiyle bir tekne tutup adaya çıkartma yapmaya niyetlenen magazin muhabirleri, teknelerinin yakıtı bitip, bir de üstüne fırtınaya yakalanınca, onbeş gün boyunca okyanusta mahsur kaldılar. Uzun süren aramalar sonucu bulunan magazinciler, kendilerini bulan geminin küpeştesini öperken, muhabirlerden biri “Allahım dualarımızı kabul etti, biz de ona verdiğimiz sözü tutacağız ve bir daha Pınar Altuğ’a yaklaşmayacağız, sevgilisine de ‘Küçük Afacan’ demeyeceğiz” dedi.

Dizinin senaryosu ilk düşünüldüğünde adaya düşen uçağın yerine, şarampole yuvarlanan otobüsten kurtulan yolcular fikri üzerine durulmuş. Özellikle de bütçe endişeleri nedeniyle oluşan bu düşünceden, yapımcının “düşürün uçağı da namımız yürüsün, buluruz bir yerden kredi” sözleriyle vazgeçilmiş.

Yine yapım aşamasında reddedilen fikirlerden birisi, düşen uçaktan bir mafya babası, bir emniyet görevlisi ve bir politikacının sağ çıkması ve diziye “derin devlet”in de olaya katılmasıymış.

Dizide her şeyin gerçekçi olmasını isteyen yönetmenler, animasyon kutup ayılarını gerçekçi bulmadıkları için, Türkiye’den harbi ayı getirtmişler; fakat çingene eğitimli bu ayıların sürekli oynamaya ve bayılma numarası yapmaya kalkmaları üzerine animasyon ayılara mecburi dönüş yapmışlar.

Acun Ilıcalı’nın “Abi hazır adadayken bir Survivor Kazazede-The Others çekelim mi?” teklifi de reddedilmiş. 

Kaynak www.derki.com

Projelerimizde en çok kullandığımız değişken tipi string olsa gerek. String tipinin reference type ve immutuable olması, projelerde hayli yer alması bizim string değişkenlerle yaptığımız işlemlerde performansa ne kadar dikkat etmemiz gerektiğini gösteriyor.  String immutuable bir değişken tipidir, dedik. Bunun anlamı string bir değişkene verdiğimiz değeri (aslında değerin adresini) asla değiştiremeyiz. Bunu basit bir örnekle açıklamaya çalışalım.            

string test = “Veri”;

//Bir takım işler

test = “Data”;

Burada yaptığımız heap’de bir yer ayırıp içine “veri”yi koymaktan ve bu yerin adresini test değişkenine vermekten başka bir şey değil. Daha sonra yapılan ise heap’de bir yer daha ayırıp içine “data”yı koymak ve test değişkenine “data”nın adresini vermek. Yani heap’de aslında iki tane yerimiz var (biri “veri”yi içeriyor diğeri “data”yi) ama test değişkenimiz sadece “data”nın bulunduğu adresi tutuyor. Bu şekilde düşündüğümüzde string üzerinde yaptığımız her yeni atamada aslında içindeki veriyi değil, adresini değiştirmiş oluyoruz ve hafızada (heap’de) belki de farkında olmadan fazladan yer tutuyoruz; ta ki garbage collector (GC) zamanı gelip de “veri” nin adresini tutan herhangi bir değişken bulamayıp temizlediği zamana kadar…  Şimdi de bir karşılaştırma örneğine bakalım. 

string test1 = “veri”;

string test2 = “data”; 

 // Bir takım işlemler 

if (test1.ToUpper() == test2.ToUpper())  

 {      // Bir takım işlemler   }

    Proje çıktısının ilgili yerini ILDASM ile inceleyelim:    

string3.jpg


Görüyoruz ki hafızada test1.ToUpper()’ın sonucu başka bir yerde, test2.ToUpper()’ın sonucu başka bir yerde tanımlanıp farklı değişkenlere alınıyor. (Heap’de “veri”, “data”, “VERİ”, “DATA”  yerleri mevcut ve stackda “VERİ”’nin ve “DATA”nın adresini tutan iki ayrı değişken tanımlanmış) Daha sonra da boolean bir değişken tanımlanıp string fonksiyonlarından Equality kullanılarak karşılaştırıldığını görüyoruz. Peki if bloğunu şu şekilde değiştirirsek ne olur acaba, bakalım:  

if (string.Compare(test1,test2,true) == 0)

   {      // Bir takım işlemler   }

  ILDASM ile proje çıktısının ilgili satırına bakarsak:   

string2.jpg

Fazladan hafızada yer ayırmalar ve değişken tanımlamalar olmamış. Bu da kodumuzun öncekine göre daha performanslı olmasına ve daha az hafıza kullanılmasına sebep olmuştur. String işlemlerinde sıkça kullandığımız bir başka işlem de birleştirmelerdir. Basit bir örnekle bunu da analiz etmeye çalışalım.  

string test = “veri1″;

//Bir takım işlemler 

test += ” veri2″;  

//Bir takım işlemler 

test += ” veri3″;

     

string3.jpg

ILDASM çıktısına ve önceki bilgilerimize göre ilk string birleştirmede aslında heapde bir yer ayrılıp içine “veri1 veri2” yazıldığını ve bunun adresini bizim değişkenimizin tuttuğunu görürüz. Benzer şekilde ikinci birleştirme de heap’de “veri1 veri2 veri3” yazan bir yer ayrıldığını ve bunun adresini değişkenimizin tuttuğunu rahatlıkla söyleyebiliriz. (Heap görüntüsü şöyledir: “veri”, veri1 veri2, “veri1 veri2 veri3” Yani hafızada 3 ayrı yer ayrılmıştır.)  Yani string değişkenimizin içeriğini aslında değiştiremiyoruz, çünkü kendisi immutuable’dır… Bu duruma alternatif çözüm StringBuilder sınıfı ile gelmektedir:   

StringBuilder sb = new StringBuilder();

sb.Append(“veri1″);           

 //Bir takım işlemler 

sb.Append(“veri2″); 

//Bir takım işlemler  sb.Append(“veri3″);

     

Aslında her zaman StringBuilder sınıfını kullanmak istenen performansı vermeyecektir. Bu sebeple String birleştirme işlemi belirli bir sayıda ise + veya concat metodunu kullanmak daha faydalı iken, belirsiz ve fazla sayıda string birleştirmeler de StringBuilder sınıfını kullanmak daha iyi olacaktır. Bu tavsiyeyi MSDN’de de görüyoruz:

“The String class is preferable for a concatenation operation if a fixed number of String objects are concatenated. In that case, the individual concatenation operations might even be combined into a single operation by the compiler. A StringBuilder object is preferable for a concatenation operation if an arbitrary number of strings are concatenated; for example, if a loop concatenates a random number of strings of user input.” 

Projelerimizin minimum kaynak tüketimi ile maksimum performansta çalışmalarını isteriz. Burada da buna nasıl katkı sağlayacağımızı birkaç string işlemi üzerinde incelemeye çalıştık. Belki onlarca satırdan kazanacağımız birkaç ms ve hafızadan tasarruf edebileceğimiz birkaç byte çok fazla bir fark ettirmeyecektir. Ancak unutulmamalıdır ki projelerdeki satır sayısı arttıkça ve yaptığımız işlemler daha da karmaşıklaştıkça bu tip küçük şeylerin aslında ne denli önemli olduğu ortaya çıkacaktır. Ayrıca .NET Framework mimarisinin nasıl çalıştığını anlamamıza bir o kadar da yardımcı olacaktır.  

Çoğu zaman veritabani bağlantılarında connection string özelliğini dinamik olarak oluşturmamız gerekmektedir. Bunun için de string birleştirmeler kullanırız. Benzer şekilde de bir connection stringden bazen server, userId gibi bilgileri parçalayarak elde ederiz. Ancak hepimizin bildiği gibi connection stringler yazılırken farklı formatlarda yazılabilirler ve bu da örneğin bağlanılan database bilgisi yerine baska bir bilgi almamıza neden olurlar. İşte tüm bunların önüne geçmek için .NET 2.0 ile gelen bir sınıf var: SqlConnectionStringBuilder 

SqlConnectionStringBuilder ile çok kolay bir şekilde connection stringler oluşturabiliyoruz; mevcut connection stringler üzerinden de işlemler yapabiliyoruz. SqlConnectionStringBuilder’ın iki tane constructorı vardır ve birisi connection string parameteresi alır.   

Başlıca kullanacağımız özellikleri şunlardır: 

ConnectionString = ConnectionString bilgisini tutar.

DataSource = Bağlanılacam olan ana bilgisayar (server) bilgisini tutar.

InitialCatalog = Ana bilgisayardaki bağlanılacak veritabanı bilgisini tutar.

IntegratedSecurity = Windows güvenliğini kullanarak mı yoksa Sql doğrulama ile mi bağlanacağını belirtir. Default değeri False’dur.

UserID = SQL doğrulama ile bağlanılacak kullanıcı adını tutar.

Password = SQL doğrulama ile bağlanılacak kullanıcının şifresini tutar. 

Sınıfın tüm metodları ve özellikleri için bakınız. 

 Basit olarak aşağıdaki gibi Connection Stringi oluşturabiliyoruz.  

SqlConnectionStringBuilder sqlString =

      new SqlConnectionStringBuilder();

sqlString.DataSource = “(local)”;

sqlString.InitialCatalog = “Northwind”;

sqlString.UserID = “sa”;

sqlString.Password = “123″; 

SqlConnection con =

      new SqlConnection(sqlString.ConnectionString);

Benzer şekilde elimizdeki bir connection string üzerinde de işlem yapmamız gerekebilir. Aşağıdaki örnekte sql doğrulama ile bağlantı sağlayabilecek bir connection stringin windows doğrulama sağlayacak hale nasıl getirildiğini görüyoruz.  

string conString = “Sever=(local);User ID=sa;Password=123;Database=Northwind”;

SqlConnectionStringBuilder sqlString =

new SqlConnectionStringBuilder(conString);

sqlString.Remove(“User ID”);

sqlString.Remove(“Password”);

sqlString.IntegratedSecurity = true; 

SqlConnection con =

    new SqlConnection(sqlString.ConnectionString);

VB.NET 2.0 ile gelen My Namespace bize birçok işi kolay yoldan yapmamızı sağlıyor. Aşağıdaki şekilde My Namespace içindeki sınıfları görüyoruz. Her bir sınıfla bilgisayarımız, uygulamamız hakkında çeşitli bilgiler alıyor ve bir takım işleri çok kolay bir şekilde yapıyoruz. Detaylı bilgi için bakınız.


Ancak Visual Basic’e ait bu namespace C# ortamında doğrudan yer almamaktadır. Tabi bu da C#’da kullanamayacağımız anlamına gelmiyor. Bunun için öncelikle yeni bir C# projesi açıyoruz ve Microsoft.VisualBasic.dll dosyasını referans olarak ekliyoruz: 

Hangi sınıfları projemizde kullanacağımız bulmak için object browserda VisualBasic.DLL assembly’sini inceliyoruz.

Böylelikle projemize ekleyebileceğimiz sınıfları buluyoruz: (İhtiyacınız olmayanı eklemeyebilirsiniz.)

using Microsoft.VisualBasic.ApplicationServices; using Microsoft.VisualBasic.Devices;

Sonrada istediğimiz sınıftan bir instance türeterek istediğimiz işlemleri yapabiliyoruz: 

İzleyenler bilir LOST’ taki karakterler arasındaki bağları ve karmaşıklığını.. Hele hele 3.sezon finalinda Fransız kadının kızıyla karşılaştığında Ben’in “bu senin annen yavrum” repliği koparmıştır, çok tanıdık gelmiştir bir yerlerden. İşte bu ilişkilerin derli toplu (!!) resmini görüyoruz. :)

Büyük resim için tıklayınız.

lostunsirricozuldu.jpg Dünya üzerinde yüz milyonları ekran başına kitleyen Lost dizisinin sırrı çözüldü. Andrew Smith adlı bir Amerikalı senaryodaki gizemi çözüp Seventh Seal Theory adıyla internet sitelerine gönderdi.

FISILTILAR KİME AİT?

Ada, doğal bir mineral(black rock). Alvar Hanso’nun dedesi Magnus Hanso’nun niyeti köleleriyle birlikte bu efsanevi black rock’ı patlatıp elde edeceği madeni satmaktı. Bir fırtınaya yakalanarak karaya vurdular. Magnus kurtuldu, köleler öldü. Adayı terk etmek için bir sal inşa etti. Kölelerin çığlıkları kulaklarındaydı. Aslında onları gerçekten duyuyordu. Black rock elekromanyetik aktiviteyi, sesi, düşünceyi, hafızayı kaydediyordu. Aynı zamanda ona geleceğiyle ilgili sezgisel bir fikir de veriyordu. Bir gemi yapıp eve döndü. Gemisiyle adaya makul bir mesafede seyrederek meditasyon halinde, taşın ona gelecekle ilgili anlattıklarını telakki etti. Bunları ticaret hayatında kullanarak adanın sırrıyla birlikte varisi Alvar Hanso’ya bırakabilecek kadar muazzam bir servete sahip olacaktı.

GİZEMLİ SAYILAR

Valenzetti adlı matematikçi, dünyanın sonuna dair ‘4,8,15,16,23,42’ sayılarını içeren bir formül hesaplamıştı. Bu sayıların her yerde olduklarını ve dünyanın sonunun tahmininde önemli olduğunu iddia ediyordu. Alvar formülü ögrendi ve adanın kendisine verdigi bilgiyle alakalı bularak Valenzetti ile Dharma İnisiyasyonu`nu oluşturdu. Amaç bu sayıları değiştirerek dünyayı öngörülen korkunç sondan kurtarmaktı. Alvar insanlığın iyiliği için adayı bazı kalifiye insanlarla paylaşması gerektiğini biliyordu. Bu yüzden bilimadamlarını ve psişik sınırlara dayanan güçlere sahip özel çocukları adaya getirdi.

ADADAKİ İSTASYONLAR

Adada kurulan istasyonlarda kaderin değiştirilemezliği teorisini sınayan deneyler yapıldı. Bu deneylerden biri Swan’dı. Aslında test edilen şey, görevlerine olan inanlarının kaderi yerinden bir milimetre oynatıp oynatamayacağıydı. İşe yaramadı. Sorunlu kaderin adada hapsedilmesine karar verildi.

MERAK EDİLEN JACOB KİM?

Çocukların en özeli Jacob zihniyle objeleri oynatabiliyordu. Madem black rock hafızayı depolayabiliyordu, Jacob da kayanın gücünün yoğun olduğu yere yerleştirildi ve bir bilim adamı ordusunun gözlemi altında kayadan kaderi emmeye çalıştı. Daha sonra ‘incident’ olarak bahsedilecek patlama gerçekleşti. Jacob bu patlamayla cismani formunu kaybedip black rock tarafından emildi. Ama nesneleri hala oynatabiliyordu. Kendini taş halinde hareket ettirebiliyordu. Siyah bir toz bulutu halinde hareket edip çeşitli şekillere bürüyebiliyordu.

KADERİ DEĞİŞTİREMEDİLER

Patlama enerjinin serbest bırakılmasını gerekli kılmıştı. Yoğunlaşan enerji bilim adamlarının kader üzerindeki araştırmalarının sürmesini sağlıyor, enerjinin periyodik olarak boşaltılması ise başka felaketleri önlemeye yarıyordu. Swan’ın artık gerçek bir amacı vardı. Elektromanyetik enerjinin her 108 dakikada bir yakındaki bir başka uyduya aktarılması gerekiyordu. Bu iş için Radzinsky ve İnman atandı. Fakat onlar kaderin değişmeyeceğini düşündüler. Bununla birlikte incident, dünyanın felaketine yol açacak olan bir anomali yaratmıştı.

ADAYA ANOMALİ ÇEKTİ

Bakunin’e, bu anomalinin dünya üzerinde yarattığı etkiyi takip etme ve etkileyebileceği insanların profilini çıkarma görevi verildi. O da flame istasyonu vasıtasıyla bu insanları buldu. Her biri bir şekilde düşen uçakla ya da birbiriyle bağlantılıydı. Anomali büyük dalgalar halinde büyüyecekti. Sonunda bir şekilde bütün bu insanlar aynı gün aynı saatte aynı uçağa bindirilerek adaya getirildiler. Dharma kaderin rotasının tamirinde (course-correcting) ona yardımcı oluyordu.

Kaynak: www.haberx.com

LOST S03E22-23 – Through the Looking Glass (Final)
Sezon: 03 – Bolum: 22-23
Part – 1
Part – 2
Part – 3
Part – 4
Part – 5
Part – 6
Part – 7
Part – 8
Türkçe Altyazı

LOST S03 – Special: The Answers
Sezon: 03

Part – 1
Part – 2
Part – 3
Part – 4
Türkçe Altyazı
Not: Bu bölüm özet bir bölüm olup yapımcılarla olan sohbeti ve önceki bölümlerden özet görüntüleri içerir.

LOST S03E21 – Greatest Hits
Sezon: 03 – Bolum: 21

Part – 1
Part – 2
Part – 3
Part – 4
Türkçe Altyazı

LOST S03E20 – The Man Behind The Curtain
Sezon: 03 – Bolum: 20

Part – 1
Part – 2
Part – 3
Part – 4
Türkçe Altyazı

LOST S03E19 – The Brig
Sezon: 03 – Bolum: 19

Part – 1
Part – 2
Part – 3
Part – 4
Türkçe Altyazı

LOST S03E18 – D.O.C
Sezon: 03 – Bolum: 18

Part – 1
Part – 2
Part – 3
Part – 4
Türkçe Altyazı

LOST S03E17 – Catch 22
Sezon: 03 – Bolum: 17

Part – 1
Part – 2
Part – 3
Part – 4
Türkçe Altyazı

LOST S03E16 – One Of Us
Sezon: 03 – Bolum: 16

Part – 1
Part – 2
Part – 3
Part – 4
Türkçe Altyazı

LOST S03E15 – Left Behind
Sezon: 03 – Bolum: 15

Part – 1
Part – 2
Part – 3
Part – 4
Türkçe Altyazı

LOST S03E14 – Exposé
Sezon: 03 – Bolum: 14

Part – 1
Part – 2
Part – 3
Part – 4
Türkçe Altyazı

LOST S03E13 – The Man From Tallahassee
Sezon: 03 – Bolum: 13

Part – 1
Part – 2
Part – 3
Part – 4
Türkçe Altyazı

LOST S03E12 – Par Avion
Sezon: 03 – Bolum: 12

Part – 1
Part – 2
Part – 3
Part – 4
Türkçe Altyazı

LOST S03E11 – Enter 77
Sezon: 03 – Bolum: 11

Part – 1
Part – 2
Part – 3
Part – 4
Türkçe Altyazı

LOST S03E10 – Tricia Tanaka is Dead
Sezon: 03 – Bolum: 10

Part – 1
Part – 2
Part – 3
Part – 4
Türkçe Altyazı

LOST S03E09 – Stranger in a Strange Land
Sezon: 03 – Bolum: 09

Part – 1
Part – 2
Part – 3
Part – 4
Türkçe Altyazı

LOST S03E08 – Flashes Before Your Eyes
Sezon: 03 – Bolum: 08

Part – 1
Part – 2
Part – 3
Part – 4
Türkçe Altyazı

LOST S03E07 – Not in Portland
Sezon: 03 – Bolum: 07

Part – 1
Part – 2
Part – 3
Part – 4
Türkçe Altyazı

LOST S03E06 – I Do
Sezon: 03 – Bolum: 06

Part – 1
Part – 2
Part – 3
Part – 4
Türkçe Altyazı

LOST S03E05 – The Cost of Living
Sezon: 03 – Bolum: 05

Part – 1
Part – 2
Part – 3
Part – 4
Türkçe Altyazı

LOST S03E04 – Every Man for Himself
Sezon: 03 – Bolum: 04

Part – 1
Part – 2
Part – 3
Part – 4
Türkçe Altyazı

LOST S03E03 – Further Instructions
Sezon: 03 – Bolum: 03

Part – 1
Part – 2
Part – 3
Part – 4
Türkçe Altyazı

LOST S03E02 – The Glass Ballerina
Sezon: 03 – Bolum: 02

Part – 1
Part – 2
Part – 3
Part – 4
Türkçe Altyazı

LOST S03E01 – A Tale of Two Cities
Sezon: 03 – Bolum: 01

Part – 1
Part – 2
Part – 3
Part – 4
Türkçe Altyazı