İçimizden biri olarak Kim Jong Il!

Aralık 20, 2011 § Yorum yok § Kalıcı bağlantı

  • Nerede ve ne zaman doğduğu tam olarak bilinmiyor, ancak babasının doğduğu yer olan ülkenin kutsal dağı Gaektu’da, 1942’de doğduğu öne sürülüyor. Doğumu sırasında gökyüzünde yeni bir yıldızın ortaya çıktığı ve doğduğu yerin yakınlarında çifte gökkuşağı oluştuğu da iddia ediliyordu. Rus kayıtlarına göre ise Sibirya’nın Vyatskoye kasabasında 1941 yılında doğmuştu.
  • Teyit edilen ilk görüntüsü 1970’lerin başında Malta’da tatil yaparken çekilen fotoğraflarıydı. O dönemde eski Malta Başbakanı Dom Mintoff’tan İngilizce dersleri alıyordu.
  • 1994’te babasının yerine geçtiğinde 200’den fazla resmi unvanı oldu. Bunların arasında “21. Yüzyılın Parlayan Yıldızı”, “Cennetten İnen Şanlı General”, “İnanılmaz Politikacı” da bulunuyor.
  • 1994’te başkent Pyongyang’taki golf sahasının açılışında gerçekleştirdiği ilk oyunda 11 deliğe de topu ilk seferde soktuğu, 17 yakın korumasının verdiği ifadelerle tescillenmişti.
  • ABD, Kuzey Kore’nin 2006’da nükleer silah denemesi yapmasına karşılık getirdiği yaptırımlar kapsamında Kim Jong-il’in lükse olan düşkünlüğünü de hesaba katarak, ülkeye yat, Chanel “No 5” parfümü, pahalı konyak, Segway ve nadir pul ihracatına da yasak getirmişti.
  • ABD’nin yaptırımları kapsamında ülkeye 29 inç’ten büyük televizyonların ihracı da yasaklanmıştı, çünkü Kim Jong-il’in Hollywood filmlerine düşkünlüğü biliniyordu. Kuzey Kore liderinin favori yıldızı Elizabeth Taylor, favori filmleri ise Rambo ve Elm Sokağı’nda Kâbus’tu.
  • 1978’de hayranlık duyduğu Güney Koreli film yapımcısı Shin Sang-ok ve aktrist eşi Choi Eun-hee’nin kaçırılması emrini vermişti.
  • Uzun yıllar Kim Jong-il için çalışan İtalyan şef Ermanno Furlanis anılarında, Kuzey Kore liderinin suşiyi çok sevdiğini ve pizzalarına hiçbir zaman ançüez koydurmadığını yazmıştı. Kim Jong-il’in, Özbekistan’dan havyar, Danimarka’dan domuz, Çin’den üzüm, Tayland’dan mango ve papaya sipariş ettiği biliniyor. 200 kişilik bir uzman heyetince hazırlanan “mükemmel diyet” formülü ile daha uzun yaşamayı planladığı da hakkında ortaya atılan iddialar arasında.
  • 2000 yılında kendi icadı olan “Gogigyeopbbang” adlı yemeği halkına tanıttı. Yeni bir yemek olarak lanse edilen şey aslında sıradan bir hamburgerdi.
  • Kuzey Kore’ye ait resmi bir site, bir dönem Kim Jong-il’in hiçbir zaman tuvalete çıkma ihtiyacı hissetmediğini öne sürmüştü. Ancak iddia bir süre sonra yayından kaldırıldı.

Python’da iç içe looplardan çıkmak

Aralık 19, 2011 § Yorum yok § Kalıcı bağlantı

Python’da iç içe looplardan çıkmak

      # Break out of a nested for loop when 'emma' is reached
      # Python does not have a goto statement to do this!

      print
      # or raise an exception ...
      try:
        for list2 in list1:
          for item in list2:
            print item
           if item == 'emma':
             # raise an exception
             raise StopIteration()
      except StopIteration:
        pass
       

      # or use a function and force a return ...


      def break_nestedloop(list1):
        for list2 in list1:
          for item in list2:
            print item
              if item == 'emma':
              # force a return
              return
       
       dummy = break_nestedloop(list1) # returns None

Python’da Küme Kullanımı

Aralık 14, 2011 § Yorum yok § Kalıcı bağlantı

from sets import Set
students = Set(['Joe', 'Jane', 'Mary', 'Pete'])
programmers = Set(['Caroline', 'Tom', 'John', 'Pete'])
designers = Set(['Paul', 'Mary', 'Susan', 'Pete'])

print "These are the students:"
for student in students:
   print student,
print "!"

print "There are", len(students), "students."
print

people = students | programmers | designers           # union
print "All people:", people
print

student_designers = students & designers              # intersection
print "Students who also design:", student_designers
print

non_design_students = students - designers            # difference
print "Students who do not design:", non_design_students

Küme İşlemleri

len(s)

cardinality of set s

x in s

test x for membership in s

x not in s

test x for non-membership ins

s.issubset(t)

test whether every element in
s is in t

s.issuperset(t)

test whether every element in
t is in s

s | t

Union: new set with elements from both
s and t

s & t

Intersection: new set with elements common to
s and t

s - t

Difference: new set with elements in s
but not in t

s ^ t

Symmetric difference: new set with elements in either
s or t but not both

s.copy()

new set with a shallow copy of s

s.add(x)

add element x to set s

s.discard(x)

remove element x from set s

s.clear()

remove all elements from set s

s == t

test whether sets s and t are equal

s != t

test whether sets s and t are not equal

Küme Kopyalamak ve Karşılaştırmak

Kümeyi kopyalamak için copy() kullanılmalıdır.

from sets import Set
odd = Set([1,3,5])
even = Set([2,4,6])
copy1 = odd
copy2 = odd.copy()

>>> print "Are copy1 and odd the same?", copy1 is odd
Are copy1 and odd the same? True
>>> print "Are copy1 and odd equal?", copy1 == odd
Are copy1 and odd equal? True
>>> print "Are copy2 and odd the same?", copy2 is odd
Are copy2 and odd the same? False
>>> print "Are copy2 and odd equal?",copy2 == odd
Are copy2 and odd equal? True


odd.add(7)
>>> print odd
Set([1, 3, 5, 7])
>>> print "copy1:", copy1
copy1: Set([1, 3, 5, 7])
>>> print "copy2:", copy2
copy2: Set([1, 3, 5])


Eğer Özgür Olmak İstiyorsanız Linus Torvalds’ı Takip Etmeyin

Aralık 13, 2011 § Yorum yok § Kalıcı bağlantı

Özgür Yazılım Vakfı’nın kurucusu olan Richard Stallman “Lütfen GNU’Linux’ olarak çağırmayın” diyor. Ayrıca bu röportajda, okuyuculara özgürlük için savaşacaklarını mı yoksa kafa tutmak için için fazla mı üşengeç olduklarını soruyor.

Siz Eylül 1983 yılında GNU projesini özgür bir Unix-benzeri işletim sistemi yaratmak için oluşturdunuz ve proje o günden bugüne lider planlayıcı ve organizatör oldu. İlk etapta bu işe neden başladınız? O zamanlar yazılımın mülkiyete dayalı hale geldiği belirginmiydi?

Stallman: 1983 yılında tüm işletim sistemleri mülkiyete dayalıydı, özgür olmayan yazılımlardı. Bir bilgisayarı satın alıp onu özgürce kullanmak imkansızdı. Mülki yazılımlar kullanıcıların parçalanmış ve çaresiz halde olmasına dikkat eder, bunu da kaynak kodların paylaşımını yasaklayarak ve onları değiştirmeye izin vermeyerek yapar.
Benim özgür bir şekilde bilgisayar kullanabileceğim tek yol başka bir işletim sistemi geliştirip onu özgür yazılım yapmaktı. Planı Eylül 1983 yılında duyurdum ve Ocak 1984 yılında GNU sistemini geliştirmeye başladım.

3 Şubat 1976 tarihinde Bill Gates “meraklılar için açık mektup” yazısını kaleme aldı ve bu yazıda yazılımın tıpkı donanım gibi ücretli olması gerektiğini belirtti. O dönemlerde bu manifestoyu okudunuz mu? O zamanlar sizi etkileyen ne olmuştu?

Stallman: O dönemlerde bu yazıyı hiç duymadım. Zaten ben bir amatör değildim, MIT ‘Yapay Zeka’ Laboratuar’ında sistem gelişirici konumundaydım. Sırf zevk olsun diye küçük bir uğraşla labaruvardaki PDP-10′lar için 2.5 megabayt hafızaya sahip 16-bit bir mikrobilgisayar yapmıştım. Pascal hem zayıf hem de kaba olması bakımından Lisp ile karşılaştırıldı, bizim yüksek düzeyli dilimiz, hızlı olması için yapılmıştı, derleyici dil olarak daha esnekti.

O zamanlar o bildiriyi görseydim nasıl tepki verirdim bilmiyorum. AI laboratuar deneyimi bana paylaşım ruhuna ve özgür yazılıma değer vermem gerektiğini öğretti fakat özgür olmayan(mülki) yazılımın adaletsizlik olduğu yargısına daha varmamıştım. 1976 yılında hiç özgür olmayan yazılım kullanmadım. Sadece 1977′de Emacs özgür olmayan Twenex zaman-paylaşımlı sistemi porta açtığı zaman mülki yazılımın berbatlığını tecrübe ettim. Bundan sonra bunun bir etik ve politik sorun olarak tasdik etmek için zamana ihtiyacım oldu.

Fikri mülkiyet hakkında ne düşünüyorsunuz?

Stallman: Bu kafa karıştırıcı terimi düşüncelerimde kullanmamaya dikkat ediyorum çünkü bu terim, yanıltıcı görünmesine rağmen, kolay anlaşılır bir şeye yönlendirmiyor. Terim öbekleri yasalarla beraber tamamen farklı sorunlara yol açıyorlar, sanki bunlar söz konusuymuş gibi.
Çeşitti telif hakları vardır ve ben telif hakkı yasası ile ilgili bazı düşüncelere sahibim. Patentler zaten var ama patent kanunu telif hakkı kanunundan neredeyse tamamen farklıdır. Zaten benim patent yasası ile ilgili görüşlerim telif hakkı yasası ile ilgili görüşlerimden tamamen farklıdır. Bir de marka kanunu var ve bu kanun telif hakkı veya patent kanunlarıyla hiçbir ortak noktaya sahip değildir. Eğer bu kanunlarla ilgili herhangi bir şeyi açıkça düşünmek istiyorsanız ilk adım olarak bu kavramları üç farklı konu olarak düşünüp onları kesin olarak işlemek gerekir.
Siz “fikri mülkiyet” ile ilgili bir şey söylediğinizde aslında birbirinden tamamen farklı bu üç yasa hakkında genelleme yapmaya çalışıyorsunuz. Söyleyeceğiniz her ne olursa olsun bu aptalca bir genelleme oalcaktır çünkü bu terim sadece buna neden oluyor.
Ben bu terimi asla kullanmayarak bu tuzaktan kurtulmaya karar verdim. [bkz http://www.gnu.org/philosophy/not-ipr.html]

Sizin için hangisi daha önemli; GNU’nun koca kullanıcı tabanı mı yoksa geniş geliştirici tabanı mı?

Stallman: Ben onların ikisini de takdir ediyorum ve her ikisi de önemlidir. Biz GNU projesini sadece teknik bir zafer ya da başarı için geliştirmedik. Bizim asıl amacımız kendimizi ve sizleri özgür kılmaktı.
GNU için önemli olan şey bilgisayarları özgür kullanmak için bir yol sağlamaktır. Ancak bu başarı şüphelidir çünkü yüzlerce GNU/Linux dağıtımı bazı özgür olmayan yazılımların hemen hemen hepsini içerir.
GNU/Linux 1992 yılında ilk zamanlar özgürlüğünü koruyarak bilgisayar kullanmayı mümkün kıldı. 2000′lerde ironik olarak GNU/Linux dağıtımlarının her versiyonu özgür olmayan yazılım içerdi ve böylece kullanıcılar bazı yüklemeler yoluyla özgürlüklerini yitirdiler. Bugün Ututo ve gNewSense dağıtımlarının %100 özgür yazılım olduğunu söylemekten gurur duyuyorum.

Bunca yıldan sonra, nihayet tünelin sonunu görüyor msunuz? Özgür yazılım, sunucu bilgisayarlarda sonraki on yıllık süre boyunca egemen olarak ait olduğu yere tekrar gelecek mi?

Stallman: Sunucu operatörleri tabi ki özgür olmalı çünkü bu tipteki bilgisayarlar birçok kullanıcının özgürlüğünü doğrudan etkiler. Bu tip bilgisayarların özgür yazılıma adapte olması çok önemlidir. Mülki işletim sistemleri, kullanıcıları giderek daha fazla sınırlamak ve egemenlik altına almak üzerine tasarlandılar. Bunu dijital yönetim araçlarıyla yaptılar. Bu işletim sistemlerinin kullanıcıları şu an geçmişte hiç olmadığı kadar hüküm altına alınmıştır. Eğer bileklerinizde prangalar istemiyorsanız sizin tek kurtuluşunuz bu tip işletim sistemlerini özgür olanlarıyla değiştirmektir.

İnsanlar “özgür yazılım” ve “açık kaynak kod” terimlerini aynı anlama geliyormuş gibi kullanıyorlar. Bu doğru bir kullanış mı?

Stallman: Terimlerin özünde, özgür yazılım ve açık kaynak kod birbirinden olabildiğince farklıdır. Özgür yazılım politik bir harekettir; açık kaynak kod ise bir gelişim modelidir.
Özgür yazılım hareketi etik ve sosyal değerler için endişelenir. Bizim amacımız bilgisayar kulanıcıları için onlarla el ele verip onları özgür kılmak ve kendi bilgisayarlarının sahibi olmaları için bu mücadeleyi kazanmaktır. Bu yüzden kullandığınız her program için şu dört temel özgürlük ilkesine sahip olmalısınız;
0. Bilgisayarınız dilediğiniz gibi çalıştırmak için. 1. Kaynak kodu incelemek ve onu değiştirip programın istediğiniz gibi olmasını sağlamak için. 2. Asıl kopyayı hem bağışlamak hem de satmak amacıyla dilediğinizde çoğaltmak için. 3. Dilediğinizde dağıtım kopyalarını modifiye etmeniz için.
“Açık kaynak” 1998 yılında “ücretsiz” veya “özgür” terimlerini kullanmak istemeyen kişiler tarafından geliştirildi. Onlar bu terimi uygulamaya elverişliliğin değerli olduğu bir felsefe ile birleştirdiler.

Açık kaynağın geliştiricileri (ki ben bunlardan biri değilim) kullanıcıların da gelişime katıldığı bir “kalkınma modeli” teşvik ettiler. Bu modelin genellikle yazılımı “daha iyi” yaptığını idda ediyorlar ki onlar “daha iyi” dediğinde aslında sadece teknik anlamı kastediyorlar. Bu terimin kulanımı yoluyla üstü kapalı olarak sadece uygulamaya elverişli meseleleri kastediyorlar– özgürlüğü değil.
Onların yanlış olduğunu söylemiyorum, onlar sadece bir noktayı kaçırıyor. Eğer siz özgürlüğün ve sosyal dayanışmanın değerini ihmal eder ve sadece güçlü ve güvenilir yazılımı takdir edersen korkunç bir hata yaparsın.

Aynı şey Linux ile de yaşanıyor, kodları 1991 yılında yayınlandı. İnsanlar Linux’u GNU’nun eşanlamlısıymış gibi kullanıyorlar, tıpkı Windows’un PC işletim sistemi halini alması gibi. Ama bunlar aynı şey değil öyle mi?

Stallman: “Aynı” kelimesi ile neyi kastetğinizden emin değilim. Windows, Microsoft tarafından kullanıcıyı egemenlik altına almak için geliştirilen, mülki işletim sisteminin resmi adıdır. (eşanlamlı değil). Oysa ki Linux bir işletim sistemi değildir, onun sadece bir parçasıdır. Linux çekirdektir: işletim sisteminin tamamlaycı bir unsurudur ki diğer programların çalışması için makinenin kaynaklarını paylaştırır. 1991 yılında ilk olarak özgür-olmayan yazılım şeklinde yayınlandı: onun lisansı ticari dağıtım olmasına izin vermedi.
1984 yılında ben GNU işletim sistemini geliştirmeye başladım, amacım onun özgür yazılım olması ve bu sayede kullancılara bilgisayarlarını istedikleri gibi çalıştırma izni verip onları özgür kılmaktı. GNU projesi oldukça büyük bir iş üstlendi ki benim birçok arkadaşım bu işin imkansız olduğunu söylemişti. 1992 yılında GNU sistemi çekirdek işlevi dışında tamamlandı. (Bizim çekirdek projemiz 1990 yılında başladı, yavaş ilerliyordu.) Şubat 1992′de Linus Torvalds Linux lisansını değiştirip onu özgür yazılım yaptı.
Çekirdek Linux, GNU içinde büyük bir boşluğu doldurdu: GNU/Linux bir PC üzerinde çalışabilen ilk özgür yazılım işletim sistemiydi. Sistem GNU’ya Linux eklenmiş halde yola koyuldu. Lütfen onu sadece “Linux” olarak anmayınız; eğer bunu yaparsanız asıl geliştiricilere hiç bir itibar kazandırmamış olursunuz. Lütfen “Linux”u “GNU/Linux” olarak kullanın ve bizden aynı oranda bahsediniz.

Özgür Yazılım Vakfı son olarak GNU genel kamu lisansı versiyon 3 (GPLv3)’ün ikinci taslağını piyasaya sürdü. Bu sürümde iyileştirmeler nelerdir ve kullanıcılar bu uyarlamadan ne bekleyebilirler?

Stallman: Biz GPL’in final belgesini 3 Haziran’da resmi olarak yayınladık ve bir çok program bu belgenin altında duyuruldu. 3.versiyonun temel amacı, GNU genel kamu lisansınında her zaman olduğu gibi olduğu gibi, tüm kullanıcılar için özgürlüğü savunmaktır. Değişiklikler detaylardadır.

Linus Torvald “GPLv2 en olağanüstü lisanstır ama 50 kadar farklı açık-kaynak lisansı var ve neticede GPLv3 sadece bir tane daha” şeklinde düşüncelerini belirtmişt. Linus sizinle veya özgür yazılım gelişimindeki GNU ile işbirliği halinde mi?

Stallman: Aslında Linus “açık kaynak” terimini “özgür yazılım” teriminin yerine kullanarak nereden geldiğini gösteriyor. Ben GNU GPL’i kullanıcıların her bir programdaki özgürlüğünü savunmak için yazdım. 3. versiyonu da bu işi daha iyi yapması ve yeni tehditlere karşı koruması için geliştirdim.

Torvalds bu amacı reddettiğini söylüyor; bu onun neden GPLv3′ü takdir etmediğinin muhtemel sebebidir. Her ne kadar onların aptal olduğunu düşünsem de onların kendi görüşlerini ifade etme hakkına saygı duyarım. Bununla beraber eğer özgürlüğünüzü kaybetmek istemiyorsanız onu izlememeniz daha iyi bir iş olur.

Microsoft son zamanlarda Linux, OpenOffice ve bazı e-posta programları gibi özgür yazılımların 235 kadar patenti ihlal ettiğini idda etti. Ancak Microsoft şu an için makemeye gitmeyeceklerini açıkladı. Bu yeni yasal bir kabusun başlangıcı mı?

Stallman: Yazılım patentleri- bu tip ülkelerde onları yetkilendirmek için yeterince sayıda aptal var- tüm yazılım geliştiricileri için yasal bir kabustur. Herhangi bir alanda tüm patentlerin yaklaşık yarısı mega-şirketlere aittir, bu da onlara teknoloji üzerinde mutlak bir güç veriyor. Yazılım patentlerine izin veren ülkelerde yazılım alanında bu tip olaylar olur.

Geçtiğimiz 5 Haziranda Microsoft şu açıklamayı yayınladı: “Microsoft dağıtım sertifikalarının Novell destek hizmetleri, Novell ile birlikte çalışabilirlik işbirliği, GPLv3 lisansının kabulünün yürürlüğe girmesi gibi konularda bazı iddalar var, bu tip iddaların anlaşma, fikri mülkiyet veya herhangi bir yasal temel kapsamında olduğuna inanmıyoruz.” Microsoft savaşa mı hazırlanıyor?

Stallman: Microsoft bu dedikleriyle Novell ile olan anlaşmasını inkar etmeye çalışıyor. Bu şunu gösterir ki bizim harcadığımız çabalarla GPLv3, Microsoft’a yaptığı anlaşmalarda geritepme yaşattı ki bu çabalarımızn işe yaradığı anlamına geliyor. Ben Novell’in Microsoft ile bu noktada fikir ayrılığı yaşadığına inanıyorum çünkü onlar yazılım için anlaşmanın GPLv3 kapsamında yapıldığını söylüyorlar.

Onların kullandığı “fikri mülkiyet” terimi propagandanın bir parçasıdır. Bunun anlamı sizi mülki ve patent alanındaki yasalara odaklanmdaktan alıkoymaktır, tıpkı özgür yazılım kullanımını men etmeye çalıştıkları gibi. Örneğin onlar Brezilyalıları ” Eğer Microsoft yazılım patantlerini işletim sistemleri üzerinden devlet tekeli elde etmek için kullanmak isterse, Brezilyalılar neden onlara bu şansı versin ki? Brezilyalılar yazılım patentlerinde yetkili olmamalı.” şeklinde düşündürtmek istemez.

Sizce özgür yazılım topluluğu bu savaşı Microsft’ karşı kazanabilir mi?

Stallman: Bu savaşı kimin kazanacağını hiç kimse bilemez çünkü sonuç sizin ve takipçilerinizin akışına bağlıdır. Özgürlük için savaşacak mısınız? Windows, MacOS ve diğer özgür-olmayan yazılımları reddedip onları GNU/Linux ile değiştirecek misiniz? Veya kafa tutmak için fazla mı üşengeç olacaksınız?

Bazı analistler Microsoft ve Novell arasındaki gibi anlaşmaların tüketiciler için olumlu olduğunu ve bu anlaşmaların özgür yazılımın popüleritisini arttırabileceğini de idda ediyor. Bu nedenle tüketiciler, birlikte çalıştırılabilirlik ve uygulamalarını daha iyi çalıştırabilmeleri bakımından sağlaycılara daha çok destek olacaktır. Siz bu görüşe katılıyor musunuz?

Stallman: Bu görüş tıpkı tütünlü mamüllerin sizin sağlığınıza iyi geldiğini çünkü size kilo verdirmede yardımcı olacağı görüşü gibi bir görüştür. Ben popülerlikle ilgili iddalarının dar anlamda doğru olup olmadığını bilmiyorum ancak ana noktayı kaçırdıklarına eminim.
GNU/Linux size özgürlük sunmakta başarısız olduktan sonra ne kadar popüler hale geldiği hiç önemli değildir. Microsoft’un Novell ile yaptığı anlaşmasında amaç insanları korkutup Microsoft’a yetki için ödeme yapmadan GNU/Linux’e kaçırtmaktı. İşte biz böyle bir durumda geritepme yapması için GPLv3′ü tasarladık. Birlikte çalışabilirlik konusuna gelirsek, tam olarak birlikte çalışabilirlik elde etmek için bizim özellikle ihtiyaç duyduğumuz şey mülki yazılım geliştiricilerini engelleyerek durdurmaktır.
Özgür olmayan yazılımla birlikte kullanıcılar egemenlik altındadır. Çoğu zaman kullanıcılar birlikte çalıştırılabilirlik ister ve yazılım özgür olduğunda bunu alırlar. Özgür-olmayan yazılımlarda, geliştiriciler kullanıcıları egemenlik altında tutar. Geliştirici ona ne zaman uygunsa birlikte çalıştırılabilirlik için izin verir. Kullanıcıların ne istedikleri ana planın dışındadır.
Microsoft son zamanlarda birlikte çalıştırılabilir-olmayan yazılımlar dayatıyor; şu an örneğin “Open Document Format”‘ı destekelemek yerine patentli ve düzmece bir “standart” OOXML formatını destekliyor.

Microsoft uyumsuz bir format tasarlayabilecek kadar güçlü olduğuna inanıyor, diğer uygulamaları aracılığıyla engeller yaratıp çoğu kullanıcıya kendilerini seçmeleri için baskı uyguluyor. Sizce kullanıcılar gerçekten onların öngördüğü kadar aptal mı?

İngilizce Kaynak: computerworld.com.au
Türkçe Kaynak: denemeciyim.wordpress.com
Çeviren: @burk

Not:
* 0 ile başlamasının bir ironisi var, araştırırsanız görürsünüz.
** Yazı tashih ve redakte edilmiştir
*** Bu söyleşi 12 Eylül 2007 tarihine aittir.

Sooo… What are you doing?

Aralık 13, 2011 § Yorum yok § Kalıcı bağlantı

C’de floating point

Aralık 12, 2011 § Yorum yok § Kalıcı bağlantı

Floating point karşılaştırması kesin midir?

#include <stdio.h>

int main()
{
        float f=0.0f;
        int i;

        for(i=0;i<10;i++)
                f = f + 0.1f;

        if(f == 1.0f)
                printf("f is 1.0 \n");
        else
                printf("f is NOT 1.0\n");

        return 0;
}

Böyle bir karşılaştırma yerine şöle bir karşılaştırma kullanalım…


#include <stdio.h>

int main()
{
        float f=0.0f;
        int i;

        for(i=0;i<10;i++)
                f = f + 0.1f;

        if ((f-1.0f)<0.00000000001f)
                printf("f is 1.0 \n");
        else
                printf("f is NOT 1.0\n");

        return 0;
}

C’de sleep etkisi?

Aralık 12, 2011 § Yorum yok § Kalıcı bağlantı

Bak şu sleep’in yaptığına!

Sizce aşağıdaki program ne döner???

 #include <stdio.h>
  #include <unistd.h>
  int main()
  {
          while(1)
          {
                  fprintf(stdout,"hello-out");
                  fprintf(stderr,"hello-err");
                  sleep(1);
          }
          return 0;
  }

Neredeyim ben!?

Aralık, 2011 arşivinde geziniyorsun.