14 Aralık 2008 Pazar

Sistemi beklemeye alma

C#
System.Threading.Thread.Sleep(75);

Java
java.lang.Thread.sleep(75);

C/C++
delay(75);
_sleep(100);

// verilen parametre milisaniye cinsinden
// 1000 ms=1 saniye .

11 Aralık 2008 Perşembe

Dosyaya Veri yaz-oku

private static void Dosya_Yaz()
{
string hedef_dosya = @"C:\Documents and Settings\ADMİN\Belgelerim\School\Algorithm Analys\Yeni Metin Belgesi2.txt";
FileStream fsOutput = new FileStream(hedef_dosya, FileMode.Create, FileAccess.Write);
StreamWriter srOutput = new StreamWriter(fsOutput);
for (int nIndex = 0; nIndex < 5; nIndex++)
{
// hedef dosyaya satır yazma
srOutput.WriteLine("selamun aleykum");
}
srOutput.Close();
fsOutput.Close();
}


===========================================================================

private static void Dosya_Oku()
{
string hedef_dosya = @"C:\Documents and Settings\ADMİN\Belgelerim\School\Algorithm Analys\Yeni Metin Belgesi2.txt";
string okunan="";
FileStream fsinput = new FileStream(hedef_dosya,FileMode.Open,FileAccess.Read);
StreamReader reader = new StreamReader(fsinput);

int count=Convert.ToInt32(reader.ReadLine());

for (int i = 0; i < count; i++)
{
okunan=reader.ReadLine();
string[] words = okunan.Split(' ');
Console.WriteLine(" substr1 : "+substr1(words[0],words[1]));
Console.WriteLine(" substr2 : " + substr2(words[0], words[1]));

}
}

19 Kasım 2008 Çarşamba

Le cigare

http://maps.google.com/maps?f=q&hl=tr&geocode=&q=Me%C5%9Feli+Sok.+4.++Levent,+Le+cigare&sll=41.08802,29.009571&sspn=0.007908,0.016565&g=Me%C5%9Feli+Sok.+4.++Levent&ie=UTF8&ll=41.087474,29.008563&spn=0.00188,0.00618&t=h&z=18&msa=0&msid=106615076248854694062.00000113874180bbacb38



Meşeli Sok. 4.

Levent

Tel: (0212)279 86 98

13 Kasım 2008 Perşembe

C# zaman öiçümü

DateTime start = DateTime.Now;

Console.WriteLine("Mult1 produces "+Mult1(sayi1,sayi2));
DateTime stop = DateTime.Now;
TimeSpan duration = stop - start;
Console.WriteLine("duration :"+duration.ToString());

long st2 = DateTime.Now.Ticks; kullanılırsa mili saniye turunden olçum yapılır

22 Eylül 2008 Pazartesi

Windows kısayolları

http://www.chip.com.tr/galeri/Gizli-Windows-araclari-zekice-kisaltmalar_538.html

10 Eylül 2008 Çarşamba

Dosya yazıp-okuma

1. using System;
2. using System.Collections.Generic;
3. using System.Text;
4. using System.IO;
5. using System.Web.UI.WebControls;
6. using System.Xml;
7.
8. namespace SoruCevap
9. {
10. public class DocumentManager
11. {
12. public static bool WriteObjectToFile(string Path, string oObject,FileMode oMode)
13. {
14. try
15. {
16. using (FileStream fs = new FileStream(Path, oMode))
17. {
18. using (StreamWriter writer = new StreamWriter(fs,Encoding.Unicode))
19. {
20. writer.Write(oObject);
21. writer.Close();
22. }
23. }
24. }
25. catch (Exception)
26. {
27. return false;
28. }
29. return true;
30. }
31. public static bool WriteObjectToFile(string Path, string oObject)
32. {
33. return WriteObjectToFile(Path, oObject, FileMode.Create);
34. }
35.
36. public static string ReadObjectFromFile(string Path)
37. {
38. try
39. {
40. using (FileStream fs = new FileStream(Path, FileMode.Open))
41. {
42. using (StreamReader reader = new StreamReader(fs, Encoding.Unicode))
43. {
44. return reader.ReadToEnd();
45. }
46. }
47. }
48. catch (Exception)
49. {
50.
51. return null;
52. }
53. }
54. }
55. }

C# Grafik İşlemleri

private void buton1_Click(object sender, EventArgs e)
{
Graphics cizgi = this.CreateGraphics();
Point p1=new Point(10,10);
Point p2=new Point(200,200);
cizgi.DrawLine(Pens.Blue,p1,p2);
}

9 Eylül 2008 Salı

İyi Pilotajın Püf Noktaları

1. YETERİNCE UZAĞA BAKAMAMAK

Bir yarış aracında her şey çok çabuk olur. Bu yüzden her şeyi önceden sezmek çok önemlidir. Aracın nereye gideceğini belirleyen sürücünün gözleridir. İyice ileriye bakmak yarışçının doğru yere gitmesini sağlamanın yanı sıra çevreye ikincil bir dikkatle bakarken bir sonraki hedefe konsantre olmasını sağlar.
2. İLERİYE YETERİNCE KONSANTRE OLMAMAK

Yarış dünyasından bir süre uzak kalmış deneyimli yarışçılar, eski becerilerini yeniden kazanmak için yeterli antrenmana zaman ayırmayı planlamalıdırlar. Sadece ileriye bakmak yeterli değildir. Bir sürücü ilerideki bir hedefe konsantre olmayı öğrenmeli ve bir sonraki amacına ne zaman dikkatini yönelteceğini bilmelidir. Sürücü fren yapmasını ve dönüşünü tamamlamadan apex noktasına konsantre olmuş olmalıdır. Apexe yaklaşırken, gözlerini viraj çıkış hedefine çevirmeli ve dikkatini maksimum hız ile virajdan çıkmaya yöneltmelidir. Sezgi ile konsantrasyonun birleşimi, doğru şeyi doğru zamanda yapma ihtimallerini oldukça artırır.
3. VİRAJDA FAZLA SÜRATLİ OLMAK

Genellikle, 'Ne kadar sürat çok fazladır?' türünde sorular alıyorum. Bunun geçerli cevabı, 'Kişiyi ana hedefine ulaşmaktan uzaklaştırdığı zaman' olarak verilebilir. Bir viraja şeytani bir hızla girmek, tur başına bir saniyenin yüzde birkaçını kazandırabilir ama apexin kaçırılması veya yolun yanlarına çıkılması durumunda çıkış hızından fedakarlık edilmesi ile saniyenin onda biri veya bir kaç saniye kaybedilebilir.
4. GERÇEKÇİ OLMAYAN BEKLENTİLER

'Kendini bil'. Bir amatör, bir dünya şampiyonunun açıklamaktan gurur duyacağı zamanlar elde etmeyi beklememelidir. Birisinin hayat boyu yarışmalarını izleyip, gizlice 'doğal yetenek'ten şüphe duymak, dikkatli öğrenmek ve ciddi antrenmanların yerini tutamaz. Yarış dünyasından bir süre uzak kalmış deneyimli yarışçılar, eski becerilerini yeniden kazanmak için yeterli antrenmana zaman ayırmayı planlamalıdırlar.
5. FAZLA SERT KULLANIM

Birçok yarış aracı fazlasıyla ve aniden tepki verir; düzgün direksiyon, hızlanma ve fren kullanımlarına ise pozitif tepki verir. Ayrıca, şiddetli kullanımlarda ani ve negatif tepkiler verir. Sert direksiyon kullanımı ve frenler ile gaza ani yüklenmeli kullanımlar bazen 'hızlı' hissi verir ama gerçekte daha yavaş, tehlikeli ve araç için yıpratıcıdır.
6. SÜRERKEN ANALİZ ETMEK

Kişinin ani olaylara konsantre olmak için kendini disipline etmesi ve performansını analiz etmeyi ertelemesi, başarılı sürücülük için çok önemlidir. On saniye önce olabilecek bir olayı düşünmek, yarışçının ancak bir-iki saniye sonra varması gereken yere doğru şekilde varmasını engeller. Tecrübeli ve yetenekli sürücüler, performanslarının analizini uzun düzlüklerde ve pistin daha kolay bölümlerinde yaparlar. Biz amatör sürücülere pistteyken yalnızca çok yakın geleceği düşünmelerini ve performans analizlerini yarış sonrası dinlenirken yapmalarını tavsiye ediyoruz.
7. YARIŞ ÇİZGİLERİNE ÖNEM VERMEMEK

Yarış eğitiminde, pisti doğru kullanmak oldukça önemlidir. Birçok sürücünün teknik sorular sorup, cevaplarını anlamalarına rağmen her şeyi direksiyon başına geçince nasıl göz ardı ettiklerini görünce birçok defa oldukça şaşırdım. (Çözümleri için 1,2,3 ve 6.ncı maddelere bkz.)
8. BEYNİ ŞAŞIRTMAK VEYA KORKUTMAK

Bir sürücünün beyni, en iyi dostudur. Bu en iyi yardımcınızı yanlış kullanırsanız, korkutursanız veya fazla yüklerseniz, isteksiz, işbirliği yapmayan ve tehlikeli bir yolcu haline gelir. Korkutulan veya şaşırtılan bir beyin 'Yüksel!!'..., 'Buraya bak, yolun dışına çıkıyoruz!!'... 'Şimdi sert fren yap!'... 'Bak, ben dememiş miydim?!' türünden emirler yollamaya başlar. (Çare: yavaşlayın, 1'den 7'ye kadar maddeleri iyice tekrarlayın)
9. DEĞİŞEN DURUMLARA GÖRE TEPKİ VERMEMEK

Yeni sürücüler genellikle bir pistte en iyi şekilde kullanmayı öğrenirler ve bunu tek tarz olarak ezberlerler. Yarış dünyasında her şey dinamiktir, dikkatle izlenerek kişinin sürüş stiline etki etmesi gerekir. Sıcaklık, lastik yıpranması, pistin durumu, rakipler, heyecan, geçen fırsatlar, vs. yarışçının performansını ciddi biçimde etkileyebilir.
10. TEKNİK HATALAR

Çok erken veya geç dönüşler, apexlere erken veya geç girmek ya da tamamen kaçırmak, birçok yarışçının yaptığı hatalardır. Bunların ana sebeplerinin listesi 1'den 9'uncu maddeye kadar yukarıda verilmiştir. Bir hatanın sebebinin yalnızca teknik sorunlar olması çok seyrek görülen bir durumdur. Genellikle zihinsel hatalar ile birlikte ortaya çıkarlar. Bu gibi durumlarda en iyi çözüm hatanın farkına varıp, sebebini bularak kaçınmanın yollarını bulmaktır. Tabii ki, bir yarışçının başını derde sokmasının daha bir çok sebebi olabilir. Kesinlikle, bir yarışçı kendini geliştirdikçe, kullandığı malzemenin teknolojisi ve farklı sürüş teknikleri, hata olasılıklarını artırır. Sağlıklı bir zihin ile teknik aksamın birleşmesi, yarışçıyı istikrarlı başarılara götürür.

5 Eylül 2008 Cuma

Dynamic memory allocation

using System;
class Gosterici
{
unsafe static void Main()
{
int * dizi = stackalloc int[10];
for(int i=0; i<10;++i)
Console.WriteLine("*(dizi+{0}) = {1}",i,dizi[i]); }
}
}

4 Eylül 2008 Perşembe

Bilgisayarı Kapanmaya Ayarlamak

Windows XPde bilgisayarı Otomatik Kapatmak için hazır bir program vs. gerek yok aslında.. Basit bir komutla bu işlemi yapabilirsiniz..
Yapacağınız işlem;
Başlat > Çalıştır > tsshutdn 3600 yazmanız. 3600 saniye 1 saat yapar. Burada ki değeri değiştirerek otomatik kapanma süresini düşürebilir ya da uzatabilirsiniz. Bu şekilde hiç programla falan uğraşmadan bilgisayarı otomatik kapatabilirsiniz.

C# Registry İşlemleri

Windows’ un tüm bilgileri bildiğiniz gibi registry de saklanmakta. Bu yazımda registry e bilgi kaydetme ve okuma işlemleri üzerinde duracağım. Öncelikle registry e nasıl ulaştığımızı söyleyeyim. Başlat, Çalıştır, Regedit dediğimizde Kayıt Defteri Düzenleyicisi yani Registry bilgilerini görmüş oluyoruz. Registry de 5 ana kök var. Bunlar:

HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
HKEY_CURRENT_CONFIG

Bunlara herhangi bir veri ekleyip okuyabilmekteyiz. Peki nasıl? Yine örnek proje üzerinden gideceğim. C# da bu işlemleri yapabilmek için
using Microsoft.Win32;
ifadesini eklemek zorundayız.
Planımız şöyle: Önce bir ana köke veri yazıp okuyacağım, sonra da alt rootlara yazıp okuma yapıp konuyu toparlayacağım. BaşlıyoruzJ
Şimdi Current User altında KullanıcıAdı verisi oluşturup textbox tan alınan veriyi ekliyoruz:

private void button1_Click(object sender, EventArgs e)

{

string text = textBox1.Text;
RegistryKey rk = Registry.CurrentUser;
rk.SetValue("UserName",text);

}

Okuma işlemi de benzer şekilde:

private void button2_Click(object sender, EventArgs e)

{

string text = Registry.CurrentUser.GetValue("UserName").ToString();
this.Text = "Kullanıcı Adı: " + text;

}

Ana rootların altına klasör eklemek için örneğin şöyle yapabiliriz.
Registry.CurrentUser.CreateSubKey("UserName");
Bu oluşturduğumuz klasörlere bilgi ekleme ve okuma da aynı şekilde.
Siz de ana köklerin altındaki metodları inceleyebilirsiniz. Örneğin DeleteSubKey, DeleteSubKeyTree, SubKeyCount gibi…

26 Ağustos 2008 Salı

SQL Syntax Table

Bu haftasonu birlikte sinemaya gidelim mi?

Statement Syntax
AND / OR SELECT column_name(s)
FROM table_name
WHERE condition
AND|OR condition
ALTER TABLE (add column) ALTER TABLE table_name
ADD column_name datatype
ALTER TABLE (drop column) ALTER TABLE table_name
DROP COLUMN column_name
AS (alias for column) SELECT column_name AS column_alias
FROM table_name
AS (alias for table) SELECT column_name
FROM table_name AS table_alias
BETWEEN SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2
CREATE DATABASE CREATE DATABASE database_name
CREATE INDEX CREATE INDEX index_name
ON table_name (column_name)
CREATE TABLE CREATE TABLE table_name
(
column_name1 data_type,
column_name2 data_type,
.......
)
CREATE UNIQUE INDEX CREATE UNIQUE INDEX index_name
ON table_name (column_name)
CREATE VIEW CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
DELETE FROM DELETE FROM table_name
(Note: Deletes the entire table!!)

or

DELETE FROM table_name
WHERE condition

DROP DATABASE DROP DATABASE database_name
DROP INDEX DROP INDEX table_name.index_name
DROP TABLE DROP TABLE table_name
GROUP BY SELECT column_name1,SUM(column_name2)
FROM table_name
GROUP BY column_name1
HAVING SELECT column_name1,SUM(column_name2)
FROM table_name
GROUP BY column_name1
HAVING SUM(column_name2) condition value
IN SELECT column_name(s)
FROM table_name
WHERE column_name
IN (value1,value2,..)
INSERT INTO INSERT INTO table_name
VALUES (value1, value2,....)

or

INSERT INTO table_name
(column_name1, column_name2,...)
VALUES (value1, value2,....)

LIKE SELECT column_name(s)
FROM table_name
WHERE column_name
LIKE pattern
ORDER BY SELECT column_name(s)
FROM table_name
ORDER BY column_name [ASC|DESC]
SELECT SELECT column_name(s)
FROM table_name
SELECT * SELECT *
FROM table_name
SELECT DISTINCT SELECT DISTINCT column_name(s)
FROM table_name
SELECT INTO
(used to create backup copies of tables)
SELECT *
INTO new_table_name
FROM original_table_name

or

SELECT column_name(s)
INTO new_table_name
FROM original_table_name

TRUNCATE TABLE
(deletes only the data inside the table)
TRUNCATE TABLE table_name
UPDATE UPDATE table_name
SET column_name=new_value
[, column_name=new_value]
WHERE column_name=some_value
WHERE SELECT column_name(s)
FROM table_name
WHERE condition

Source : http://www.w3schools.com/sql/sql_quickref.asp

25 Ağustos 2008 Pazartesi

C# Dinamic Memory Allocation

The keyword unsafe is used while dealing with pointer, the name reflects the risks that you might face while using them. Let’s see where to place it.

We can declare a whole class as unsafe:

unsafe class Class1

{

//you can use pointers here!

}

Or only some class members can be declared as unsafe:

class Class1

{

//pointer

unsafe int * ptr;

unsafe void MyMethod()

{

//you can use pointers here

}

}

The same applies to other members such as the constructor and the properties.

To declare unsafe local variables in a method, you have to put them in unsafe blocks as the following:

static void Main()

{

//can't use pointers here

unsafe

{

//here you can declare and use pointer

}

//can't use pointers here

}

You can’t declare local variables the same way we used in declaring global variables, to use pointers, and next we will use the operator sizeof, in a “safe” method. We have to put them in an unsafe block.

static void Main()

{

unsafe int * ptri; //Wrong

}

If you got too excited and tried to use unsafe then when you compile the code just by using

csc test.cs

You will experience the following error:

error CS0227: Unsafe code may only appear if compiling with /unsafe

For compiling unsafe code use the /unsafe

csc test.cs /unsafe

In VS.NET go to the project property page and in “configuration properties>build” set Allow Unsafe Code Blocks to True.

After we knew how to declare a block as unsafe we should now learn how to declare and use pointers in it.

Declaring pointers

To declare a pointer of any type all what you have to do is to put ‘*’ after the type name such as

int * ptri;

double * ptrd;

NOTE: If you used to use pointer in C or C++ then be careful that in C# int * ptri, i; ‘*’ applies to the type itself not the variable so ‘i’ is a pointer here, same as arrays.

Using pointers

Using pointers can be demonstrated in the following example:

static void Main()

{

int var1 = 5;

unsafe

{

int * ptr1, ptr2;

ptr1 = &var1;

ptr2 = ptr1;

*ptr2 = 20;

}

Console.WriteLine(var1);

}

The operator ‘&’ means “address of”, so ptr1 will hold the address of var1, ptr2 = ptr1 will assign the address of var1, which ptr1 was holding, to ptr2. Using ‘*’ before the pointer name means “the contain of the address”, so 20 will be written where ptr2 points.

Now var1 value is 20.

sizeof operator

As the name says, sizeof operator will return the number of bytes occupied of the given data type (could also be used for classes and structs, we will see that in part 2)

i.e.

unsafe

{

Console.WriteLine("sbyte: {0}", sizeof(sbyte));

Console.WriteLine("byte: {0}", sizeof(byte));

Console.WriteLine("short: {0}", sizeof(short));

Console.WriteLine("ushort: {0}", sizeof(ushort));

Console.WriteLine("int: {0}", sizeof(int));

Console.WriteLine("uint: {0}", sizeof(uint));

Console.WriteLine("long: {0}", sizeof(long));

Console.WriteLine("ulong: {0}", sizeof(ulong));

Console.WriteLine("char: {0}", sizeof(char));

Console.WriteLine("float: {0}", sizeof(float));

Console.WriteLine("double: {0}", sizeof(double));

Console.WriteLine("decimal: {0}", sizeof(decimal));

Console.WriteLine("bool: {0}", sizeof(bool));

//did i miss something?!

}

the output will be:

sbyte: 1

byte: 1

short: 2

ushort: 2

int: 4

uint: 4

long: 8

ulong: 8

char: 2

float: 4

double: 8

decimal: 16

bool: 1

Great, we don’t have to remember the size of every data type anymore!

That’s it for part one, in the second part I will cover the following subjects:

  • Casting pointers
  • Pointer arithmetic
  • Pointers to classes and structs
  • Optimizing performance by using pointers

16 Ağustos 2008 Cumartesi

C'nin diğer anlamları


Birçoğumuzun ilk göz agrısıdır, bazılarımız ona yürekten bağlıdır ve hem Unix hem de Windows onunla yazılmıştır. İşte C harfinin diğer kullanım alanları:

10 Ağustos 2008 Pazar

Türkiye Beyin Takımı Elemelerine Girdim

İnternette yayınlanan 8 eleme sorusunun tamamını doğru cevaplayıp yolladım ve yarı finale kalmaya hak kazandım. Dün Bilgi Üniversitesi Dolapdere Kampüsünde yapıldı yarı final. Uzun bir yürüyüşten sonra talihsiz dostum Hasanla birlikte nihayet kampüse vardık, oraya giderken de meşhur Kasımpaşa'dan geçtik. Başbakanın çocukluğunu geçirdiği yolları arşınladık. Neyse sınav pek umduğum gibi geçmedi. İki aşamalıydı, ilki kolay, ikincisi zordu ama nedense bana tam tersi geldi. Herhalde kendimi zora fazla koşullandırdım. Neyse, kısacası gelecek yıl tekrar deneyecegim. Şampiyonların dediğine göre bu işler tecrübe işiymiş. İlk girişlerinde pek birşey yapamayıp ta sonraları takıma girmeyi başaranlar çoğunlukta.

4 Ağustos 2008 Pazartesi

ASCII Kod Tablosu

ASCII KODU

Bilgisayara girilecek tüm sayı, sözcük veya karakterlerin önceden 1' ler ve 0’ lar dizisine çevrilmesi gerektiği söylenmişti. Bu işleme kodlama denir.Bilgisayarın içindeki verilere ulaşabilmek için ise, bunun tersi yani, 1’ ler ve 0’ lardan oluşan diziyi harflere ya da 10 tabanlı sayıya çevirmek gerekir. Bu işleme ise kod çözme denir Her harf veya karakterin önceden belirlenen bir KOD’a çevrilmesi gerekir Gelişigüzel kodlamalar kullanışlı değildir, çünkü çeviri çizelgeleri farklı olursa bilgisayarlar veri alış verişi yapamazlar. Bu nedenle bilgisayar yapımcıları, standart bir kod olan ASCII kodunu kullanırlar. ASCII, (American Standart Code for Information Interchange) sözcüklerinin baş harfleridir ve bilgisayar konusundaki standartları geliştiren bir Amerikan kuruluşunun adıdır.

ASCII kodları, her birinin belirli işlevi olan üç gruba ayrılır:

1. Kontrol karakterleri.
2. Simgeler ve sayılar.
3. Harfler.

Kontrol Karakterleri:
Bilgisayara girilecek komutların iletiminde kullanılan kodlardır.

Başlıca Kontrol Karakterleri ASCII kodu

1- Bell (zil işareti) ---> 7
2- Backspace (bir karakterlik geriye dönüş) ---> 8
3- Carriage Return(imleci bir sonraki satır başına döndürür) ---> 13
4- Escape ---> 27
5- Form feed (kağıdın ilerlemesini sağlar) ---> 12
6- Horizontal Tabulation (yatay cetvel) ---> 9
7- Line Feed (satır ilerlemesini sağlar) ---> 10
8- Vertical Tabulation (düşey cetvel) ---> 11

Simgeler ve sayılar
Sayıları 32’ den başlayıp 64 e kadar olan ASCII kodlarıdır.

Harfler
Sayıları 65’ den 127’ ye kadar olan alfabedeki büyük ve küçük harflerle klavye üzerindeki görülebilen diğer semboller için kullanılan kodlardır. 127’ den 255’ e kadar olan kodlar ise standartlaştırılmamış, bazı özel karakterler ve harfler yapımcı için serbest bırakılmıştır. Örneğin, Türkçe karakterler (ğ,ü,ş,ö,ç,ı,l) bu kısımda üretilen karakterlerdir.

İsterseniz bu tabloyu kendiniz elde edebilirsiniz.

-------------------------------------------------------------------

ASCII tablosu için C kodu:

#include
main(){
FILE *fptr=fopen("ascii.dot","w+");
int a;

for(a=0;a<=255;a++)
{

fprintf(fptr,"%d ==> %c\n",a,a);
}
fclose(fptr);
}

Soğuk Füzyon Nedir?

1983 Mart ayı sonlarında Amerika Birleşik Devletleri'nin Utah eyaletinde gerçekleştirilen bir deney, büyük yankılar yaratmış ve füzyon enerjisine yönelik geniş bir ilgi uyandırmıştır

Nükleer füzyon, atom çekirdeklerinin birbirleriyle kaynaştırılmasıdır. Çekirdekler pozitif elektrik yüklü olduklarından ve bu nedenle birbirlerini ittiklerinden proton sayısı az olan çekirdekler daha kolay kaynaştırılabilir. Bu tür çekirdeklere sahip atomlar arasında, hidrojenin izotopları olan döteryum ve tritiyum atomları büyük önem taşımaktadır. Döteryum çekirdeğinde 1 proton ve 1 nötron, tritiyum çekirdeğinde ise 1 proton ve 2 nötron vardır. Bu çekirdekler yaklaştırılıp kaynaştırıldıkları zaman, bazı nükleer reaksiyonlar oluşur.

reaksiyonlardan çok yüksek kinetik enerjilere sahip helyum çekirdekleri ile proton ve nötron tanecikleri çıkmaktadır. Bu ürünler reaksiyonun oluşturulduğu bölmeyi saran ve genellikle lityumdan yapılmış olan bir tabakaya saplanır ve bu sırada enerjilerini ısıya dönüştürürler. Bu tabakayı soğutmak için kullanılan bir sıvı, bu ısıyla buharlaşır ve elektrik üretimi için kullanılır. Bir gr döteryumda 3 x 1023 çekirdek bulunduğu göz önüne alınırsa, 100 megavat-saat enerji üreteceği ortaya çıkar. Döteryum izotopu doğal hidrojen içinde % 0.02 oranında bulunduğuna göre. yaklaşık 80 litre normal sudan bu enerjinin üretilebileceği ve okyanuslarda bulunan döteryum miktarının 10-100 milyon yıllık enerji gereksinimini karşılayacağı saptanabilir. Bu nedenle nükleer füzyona, enerji sorununun kesin çözümü olarak bakılmaktadır. Diğer bir üstünlüğü de herhangi bir radyoaktif artık bırakmamasıdır; çünkü son ürün asal helyum gazıdır. Bu yönleriyle füzyon, son otuz yıldır bilimin önde gelen amaçlarından biri olmuş ve bu uğurda milyarlarca dolar ve maddi değerlerle ölçülemeyecek yoğunlukta emek harcanmıştır.

Soguk Füzyon Düzeneği

Soğuk füzyonun oluşturulduğu düzenek.

Bugüne kadar yapılan çalışmalar ise genellikle "sıcak füzyon" yöntemi çevresinde toplanmıştır. Birbirini iten çekirdekleri kaynaştırabilmek için akla gelen ilk çare, çekirdekleri çok yüksek hızlarla birbirleri üzerine göndermektir. Bunun için de en doğal yol, gazı ısıtmaktır. Yapılan incelemeler, yeterli hızı sağlamak için, döteryum gazının 100 milyon derece mertebesinde bir sıcaklığa ısıtılmasının gerekli olduğunu ortaya koymaktadır. Ayrıca, çekirdeklerin çarpışıp kaynaşma olasılığını artırmak için, bu sıcaklıkta bir gazın belirli bir hacimde ve yoğunlukta, belirli bir süre tutulabilmesi gerekmektedir. Bu işlemler için reaktöre oldukça büyük bir enerji girdisi sağlanmakta ve füzyon reaksiyonlarından çıkan enerji henüz bu girdiyi dahi karşılayamaz halde bulunmaktadır. Tüm bu zorluklara rağmen sıcak füzyon son otuz yılda çok büyük bir aşama kaydetmiş ve beklenmedik bir zorlukla karşılaşılmazsa ikibinli yılların başında enerji üretimine başlayabilecek bir düzeye gelmiştir.

Sıcak füzyon üzerinde çalışmalar sürerken, pek umut vermeyen diğer bir yöntem üzerinde de çok daha mütevazi bir düzeyde bir takım araştırmalar yapılmaktaydı. Öncülüğünü 1940 yılında, tanınmış Sovyet bilim adamı Andrei Sakkarov'un yaptığı bu araştırmalar, müyon adıyla anılan bir taneciğe dayanıyordu. Bu tanecik doğada uzaydan gelen kozmik ışınlar içinde bulu

3 Ağustos 2008 Pazar

Yazık oldu Massa'ya

Helal sana be felippe, o ne çıkıştı ya, ne çılgın adammışsın sen? iki mercedese birden toz yutturdun resmen. Hamit denen o tip neye uğradığını şaşıdı. Son 3 tur kala motorunun patlaması herşeyi mahvetti. aklıma yıllar önce hakkinen'in yasadığı kaza geldi, o kazadan sonra şampiyonluğu micheal'e kaptırmıştı.
Adamım kimi, 3 . lük tabii iyi değil ama hamiltonun onunde bitirmek te iyidir, kendine gel artık, şampiyonsun sen adamım.
ilk galibiyetini alan kovalainen'i ve çaylak glocku tebrik ediyor, başarılarının devamını diliyorum. Toyota takımı bu yıl çok iyi bir gelişme gösterdi. bu hızda dewam ederlerse bence 2 yıl içerisinde BMW Sauber ile yarışabilecek sewiyeye geleceklerdir. Bmw takımının 2 yıl onceki halide boyleydi.
Tabii bu arada Ferrari tekrar Mclareni yakaladı ve her ne kadar galibiyet mclaren in olsa da kırmızı otomobiller performanslarıyla daha öndeydiler ve onumuzdeki yarışlarda çok daha iyi olacaklarını gösterdiler. Hamilton korksun artık. Kimi ve Felipe geliyor.

WHO IS HAMILTON? FORZA KIMI !!!

19 Temmuz 2008 Cumartesi

Kendini geliştirmenin 15 yolu

  • 1. Kendi güçlü yönlerinize odaklanın.
  • 2. Neyi yaparken daha mutlu olacağınızı anlamaya çalışın ve oraya yönelin.
  • 3. Moda ya da garantili diye herhangi bir işte çalışmayın.
  • 4. Kendinizi sürekli geliştirmek için mevcut şartları zorlayın.
  • 5. Kariyerinizi kendinizin yaratacağını unutmayın.
  • 6. Sosyal özelliklerinizi geliştirmeye odaklanın. Bu başarı için önemli.
  • 7. Genel tavırlarınız ve bakış açınız olumlu olsun.
  • 8. Kendinizi dünyada ve Türkiye’deki gelişmelere açık tutun.
  • 9. Kendinize karşı dürüst olun.
  • 10. İş yaptığınız herkesle açık ve olumlu ilişkiler kurmanın sizi geliştireceğini bilin.
  • 11. Başarı kadar başarısızlığın da doğal olduğunu kabul edin, önemli olan vazgeçmemektir.
  • 12. Gerekiyorsa risk alın.
  • 13. Kişisel değerlerinizi ve kendinizi önemseyin, prensiplerinize göre hareket edin. Tabii bu esnek olmamak anlamına gelmiyor.
  • 14. Kendinize güvenin.
  • 15. Gelişim ve ilerlemenin hiç bitmediğini, öğrenmeyi durdurduğunuzda başarısızlığı kapınızda bulacağınızı unutmayın.

Kişisel gelişimin engelleri

  • 1. Kendini geliştirmeye zaman ayırmamak,
  • 2. Tembellik,
  • 3. Hazıra konma eğilimi,
  • 4. Risk alamamak,
  • 5. Cesaret edememek,
  • 6. Adım atamamak,
  • 7. Farklı bir şey deneyememek,
  • 8. Meraklı olmamak,
  • 9. Korkmak,
  • 10. Değişimi göze alamamak,
  • 11. Olumsuz bakış açısı,
  • 12. Toplum ve çevrenin isteklerine göre hareket etmek,
  • 13. Birey olamamak.
Bölümden arkadaşım olan Burakın sayfasından almıştım bunları(burakkanmaz.net)

16 Mart 2008 Pazar

Talihsizler Odtü Yolunda :):)



En az benim kadar talihsiz arkadaşım Hasanla birlikte Talihsizler Grubu olarak Odtü Programlama yarışmasına katılıyoruz. (Daha doğrusu katılmaya çalışıyoruz!)Şu an ilk soru üzerinde çalışıyorum. Çok zor değil , yakında bitecek gibi...

C de oldukça modüler bir kod yazmaya çalışıyorum. Bitime yaklaşık 3 hafta var, elimizi çabuk tutmalıyız.Neyse ben dewam ediyim.

Katılmak isterseniz : http://www.cclub.metu.edu.tr/yarisma/

kolay gelsin!!!

Herkese Merhaba!

Yeni dönemle birlikte kendime bir blog sayfası oluşturmaya karar verdim. Bundan sonra artık ben de entel-dantel modlarına giriyorum. Ben de blogumda saçma-sapan şeyler yazıp, onun bunun hakkında ileri-geri konuşacağım.