James Gleick'in CHAOS'u: Yazılım
(github.com/rudyrucker)- James Gleick's CHAOS: The Software, 1991 tarihli bir Autodesk DOS programının kaynak kodu, kılavuzu ve çalıştırılabilir dosyalarını ücretsiz olarak yayımlayan bir sürümdür
- Program Josh Gordon, Rudy Rucker ve John Walker tarafından geliştirildi; algoritmaların çoğunu Rudy Rucker yazdı, Fractal Landscapes algoritması ise John Walker tarafından yazıldı
- James Gleick'in Chaos: Making a New Science kitabı hakkında James Gleick ile görüşülerek geliştirildi ve bu yayımlama GNU lisansı ile dağıtılıyor
- DOSBox içinde neredeyse tüm platformlarda çalıştırılabiliyor ve Release 1.1; çalıştırılabilir dosyaları, parametre dosyalarını, kullanıcı kılavuzunu ve kaynak kodunu içeriyor
- Başlıca iyileştirme işleri olarak ekran çözünürlüğünü veya piksel boyutunu artırmak ve grafiklerde kullanılan eski DOS TSR programı metashel.exe bağımlılığını kaldırmak kalıyor
1991 tarihli DOS programının ücretsiz yayımlanması
- James Gleick's CHAOS: The Software, 1991 tarihli bir Autodesk DOS programının kaynak kodu, kılavuzu ve çalıştırılabilir dosyalarını ücretsiz olarak yayımlayan bir sürümdür
- Yazılımın geliştiricileri Josh Gordon, Rudy Rucker ve John Walker'dır
- Algoritmaların çoğunu Rudy Rucker yazdı
- Fractal Landscapes algoritması John Walker tarafından yazıldı
- Josh Gordon, arayüzün ve algoritma kodu uygulamasının büyük bölümünü üstlendi
- Program, James Gleick'in Chaos: Making a New Science kitabı hakkında James Gleick ile görüşülerek geliştirildi
- Bu yayımlama GNU lisansı ile dağıtılıyor
İndirme ve çalıştırma
- Release 1.1 için üç indirme öğesi bulunuyor
- The CHAOS executables and parameter files: Çalıştırılabilir dosyalar ve parametre dosyaları
- The CHAOS User manual: Kullanıcı kılavuzu
- The CHAOS source code: Kaynak kodu
- Chaos programı, DOSBox adlı DOS kabuğu içinde neredeyse tüm platformlarda çalışabiliyor
- Çalıştırmayla ilgili ayrıntılar Releases page üzerinde yer alıyor
Kod değişiklikleri ve kalan iyileştirme işleri
- Kullanıcılar Chaos kodunu değiştirip yeni sürümler yükleyebilir
- Algoritmaları kullanarak daha küçük programlar da türetebilirler
- Çevrimiçi kod Chaos GitHub repository üzerinde görülebilir
- Çözümlenmemiş en büyük yükseltme adayları iki tane
- Ekran çözünürlüğünü veya piksel boyutunu artırmak
- MetaGraphics Software Corporation'ın eski DOS TSR'si, yani “terminate and stay resident” programı metashel.exe kullanımını kaldırmak
- Chaos, grafik işleme için metashel çağrısı kullanıyor
Chaos'a dahil 6 modül
- MANDEL: Mandelbrot Set programı
- quadratic ve cubic Julia set'leri içerir
- quadratic ve cubic Mandelbrot set'leri içerir
- cubic connectedness map olan Rudy set'i içerir
- MAGNETS: Pendulum and Magnets programı
- Kaotik fiziksel hareketi gösterir
- Fraktal attraction basin'leri gösterir
- ATTRACT: Strange Attractors programı
- Lorenz Attractor'ı gösterir
- Logistic Map'i gösterir
- Yorke Attractors ve Henon Attractors'ı gösterir
- GAME: Barnsley Fractals programı
- Ünlü fractal fern gibi Iterated Function System fraktallarını gösterir
- FORGE: Fractal Forgeries programı
- Rastgele fraktal tabanlı bulutlar, haritalar, sıradağlar ve gezegenleri gösterir
- TOY: Toy Universes programı
- cellular automata gösterir
1 yorum
Hacker News yorumları
Lisede bu kitabı okudum ve benzer bir dönemde Mandelbrot kümesi hakkında bir sunum izledim.
Sunumu yapan kişi
z = z**2 + cifadesini gösterip karmaşık sayıların nasıl çalıştığını anlatmıştı; eve gidince Apple //e’nin yüksek çözünürlüklü ekranına küçük bir kayan nokta aralığını nasıl eşleyeceğim gibi şeyleri gerçekten hararetle düşünmüştüm.Sonunda çalışan bir program yaptım ama çalıştırınca yatana kadar neredeyse hiç ilerlemediğini gördüm; bilgisayarı bütün gece açık bırakıp bırakamayacağımı da bilmiyordum. Ertesi gün baktığımda BASIC programı kümenin ana gövdesine bile ulaşamamış, yalnızca çevresindeki şeridi çizmişti.
Bu yüzden daha hızlı bir bilgisayara ihtiyacım olduğunu düşünüp 80286 DOS makinesine yükselttim; sanırım onunla FRACTINT çalıştırabiliyordum. FRACTINT, kümeyi daha hızlı render etmek için tamsayı aritmetiği ve çeşitli hileler kullanan akıllı bir optimizasyondu; optimizasyonun ne olduğunu öğrenmemde çok yardımcı oldu.
Bu kitap, K&R C ve Hackers gibi kitaplar lise yıllarımdaki düşünce ufkumu genişletti; beni yüksek performanslı bilişim, karmaşık sistemler ve simülasyon tarafına yöneltti. Kelebek etkisi, klasik nedenselliği anlamamda da büyük rol oynadı.
O dönemde kaynak dosyalarına bakarak C öğrendim; ondan önce Turbo Pascal ile assembly’yi karıştırarak kullanıyordum. Sonra C++’a geçtim ve serbest çalışma kariyerimin önemli bir bölümünde temel dilim oldu. Bunu yeniden hatırlamak güzel.
Gleick’in Chaos kitabı yüzünden lisede müdürün odasına çağrıldım.
Fraktallara tamamen kapılmıştım ama evde yalnızca bir IBM PC XT vardı; Mandelbrot kümesini render etmek acı verecek kadar yavaştı, CGA paleti de çok sınırlıydı.
O sıralar bir suç ortağımla birlikte kütüphanedeki 386’ların katalog aramak için neredeyse hiç kullanılmadığını fark ettik ve o bilgisayarları bir fraktal render çiftliğine çevirdik. Katalog programından çıkıp en yeni render yazılımının olduğu disketi takıyor, derin yakınlaştırma render’ı başlatıyor, şüphe çekmemek için monitörü kapalı bırakıp sonraki derste kontrol etmeye geliyorduk.
Sonuçlar heyecan vericiydi ve hesaplama kaynaklarına erişimin ne kadar büyük fark yarattığını bizzat hissettim. Sonunda kütüphaneciye yakalanıp “hacking” diye ihbar edilmemiz gibi tanıdık bir sonuca bağlandı.
Bu kitap hayatımı değiştirdi.
Lisede matematikte gerçekten kötüydüm ama sanat tarafındaki kariyerlere ılık bir ilgim olduğu için mimarlık gibi bir şey yapabilir miyim diye ileri matematik seçmiştim. Birleşik Krallık not sisteminde “Unmarked”a karşılık gelen U almıştım; bu, cevap kâğıdımın notlandırmaya değmeyecek kadar kötü olduğu anlamına geliyordu.
Benzer bir dönemde dolaşırken, şimdiye kadar gördüğüm en tuhaf ve güzel grafiklerden birinin yer aldığı bir kitap kapağı gördüm; “Bu da ne böyle?” diye düşünüp elime aldım. Ortadaki renkli görsel bölümde daha da canlı ve sarsıcı görseller vardı; o resimlerin nasıl çizildiğini anlamak için kitabı ödünç alıp okumaya başladım.
Sonuç olarak matematikte epey iyi hale geldim; fraktallar, özellikle istatistiksel fraktallar doktora araştırmamda da önemli bir konu oldu. O tuhaf görüntüleri görmemiş olsaydım hayatım nasıl olurdu diye bazen düşünüyorum; olsa olsa son derece sıradan bir mimar olurdum.
Bilimin nihai durumlarla ilgili olduğunu düşünürdüm. İki kimyasalı karıştırırsın ürün çıkar, bir matematik problemi çözersin cevap çıkar; böyle bakıyordum.
Ama ilginç kısmın sonuç değil süreç olduğu fikri, dünyaya bakmanın tamamen yeni bir yoluydu. Çıktı değerini yeniden fonksiyonun girdisi yapmak olan iterasyonun basit bir geri besleme gürültüsü olmadığını ilk kez o zaman gördüm.
İnsan ömrü boyunca gerçekten kaç kez paradigma değişimi yaşar ki? Doğru yaşta doğru kitapla karşılaşmışım; böyle yorumlar bırakanların çoğu da muhtemelen şimdi 50 yaş civarındadır.
Yalnız ben sonunda matematikte iyi olmayı başaramadım.
Bu materyalin Rudy Rucker’ın GitHub’ında olması iki kat güzel.
Onun “Infinity and the Mind” kitabını okuyup okula geri dönerek matematik bölümü okumaya karar verdim; o kitap hayatımı iyi yönde değiştirdi.
https://en.wikipedia.org/wiki/Rudy_Rucker
https://en.wikipedia.org/wiki/Postsingular
1987’de lise öğrencisiyken Chaos’u okudum ve hemen tavşan deliğine düştüm; okulun Apple IIe’sinde Lorenz çekicisini kodladım.
Nereye yakınlaştırırsan yakınlaştır daha fazla ayrıntı belirmesi beni büyülemişti. İnsanlar matematiği icat edip böyle şekiller mi yaratmıştı, yoksa bunlar evrenin bir yerinde bağımsız olarak var olup keşfedilmeyi mi bekliyordu diye merak ediyordum. Bu deneyim, ergenlik yıllarımda gerçekten çok sayıda felsefi sohbetin önünü açtı.
Applesoft BASIC programı çok yavaştı; keşke bu durum beni 6502 assembly öğrenmeye itmiş olsaydı.
Ölçüm değerleri alıyordum ve neredeyse çekiciye benzeyen bir şey de görüyordum ama BASIC çok yavaştı. Gerekli ölçümleri almak için assembly öğrenmek zorunda kaldım.
Sonunda fizik ve matematiğe ilgimi kaybedip bilgisayar tarafını kurcalamayı sürdürdüm sanırım. 40 yıl sonra bugün hâlâ bunu yapıyorum.
Lisede bu kitabı gerçekten sevmiştim, üniversitedeyken de yeniden okudum. Üzerimde büyük etkisi oldu; yazar birçok araştırmacıyı iyi tasvir ederken teori ve fikirleri açıklama konusunda da çok yetenekli.
Bu alanı seviyorsanız Complexity Explorer da harika bir kaynak.
https://www.complexityexplorer.org/
Çocukken okuyup çok etkilendiğim bir kitaptı.
En sevdiğim kitaplardan ve yazarlardan biri.
Bu kitabın zihnimi açtığını ve fotojurnalizmdeki “kaostan düzen yaratma” kavramıyla doğrudan bağlantılı olduğunu anlattıktan sonra kendi nüshamı fotojurnalizm hocama vermiştim. Sonrasında bu kavramın meslek hayatımın tamamına uygulanabilir olduğunu gördüm.
Şimdi onun diğer kitaplarına da tekrar bakmalı, bu kitaptan yeni bir tane edinmeli ve bu depoyu da klonlamalıyım.
Çocukken fraktal üreteçleriyle çok oynardım; gerçekten eğlenceliydi. Benzer modern yazılımlarla ilgileniyorsanız şunlara bakmaya değer:
XaoS, gerçek zamanlı fraktal üreteci/görüntüleyicisi: https://github.com/xaos-project/XaoS
Apophysis 7X: https://github.com/xyrus02/apophysis-7x
Chaotica: https://www.chaoticafractals.com