EYDefterEmre Yakut
← tüm yazılar
Simülasyon · Sistem · derin

Siteme düşünmeyi öğrettim

Kendi siteme bir “düşünme simülatörü” koydum. Bir kavram bırakıyorsun — “Faturalama” — ve sistem onu neye ihtiyaç duyduğuna ayırıyor. Sekiz adım sonra karşına “uykusuzluk” çıkıyor.

Billing Invoices Tax Currency Exchange Jobs Ledger Rates Monitoring Retry Alerting Oncall Sleeptohum: "Billing" → bağımlılıklar şelale halinde açılırdüğüm boyutu = derece + seviye + not var mı · turuncu = önemli-önemli bağı

Kendi siteme ne koyacağıma karar veremiyordum. Özgeçmiş sıkıcı, portföy yalancı — projelerin en güzel ekran görüntüsünü seçersin ve iş öyle görünmez.

Sonunda şunu yaptım: sitenin ortasına, ne yaptığımı anlatmak yerine gösteren bir şey koydum.

Ne yapıyor

Ekran boş başlıyor. Üstte bir arama kutusu var. “Faturalama” yazıp Enter’a basıyorsun.

Sonra şu oluyor:

Faturalama → Faturalar, Vergi
Faturalar  → Para birimi, Kur
Vergi      → Kur, Zamanlanmış işler, Muhasebe
Kur        → Kur kaynağı, İzleme
Zamanlanmış işler → İzleme, Yeniden deneme
İzleme     → Uyarı, Nöbet
Uyarı      → Uyku

Sekiz adım sonra karşına “uykusuzluk” çıkıyor. Bu bir şaka değil; zincirin gerçekten oraya vardığını gösteren bir kayıt. Yazılımda hiçbir karar tek başına durmuyor.

İkinci bir tohum daha bırakıyorsun — “Sayaç okuma”. Yeni bir ada doğmuyor: ortak düğümler üzerinden mevcut ağa kenetleniyor. İkisi de “Zamanlanmış işler”e ihtiyaç duyuyorsa aralarında köprü beliriyor.

Önce yanlışını yapmıştım

İlk sürüm klasik bir bilgi grafiğiydi: düğümler, kenarlar, tıkla-aç-oku. Teknik olarak düzgün çalışıyordu ve tamamen ruhsuzdu.

Çünkü bir bilgi grafiği zaten bilinen bir ağı gösteriyor. Sen bir şey keşfetmiyorsun, sana gösterileni geziyorsun.

Düşünmek böyle değil. Düşünmek bir kavramı eline alıp “bu ne gerektiriyor?” diye sormak — ve her cevabın yeni sorular doğurması.

O dosyayı sildim. Yerine bunu yazdım.

Düğümün boyutu bir tercih değil, bir hesap

Bir süre boyutları elle ayarladım. Kötü fikirdi: her yeni düğümde dengeyi yeniden kurmak gerekiyordu. Sonra boyutu modelden türettim.

önem katsayısı
w = derece + (6 − seviye) + not_var_mı + ziyaret_edildi_mi

derece: kaç kenar bağlı. seviye: 1 = kimlik, 6 = ham bilgi. not: o düğüm için yazılmış bir hikâye var mı. ziyaret: kullanıcı oraya gitti mi.

Bu tek sayı beş şeyi birden sürüyor: yarıçap, kütle, kenar kalınlığı, çeper parlaklığı, çekim gücü. Sonuç: CRM, Veritabanı, Aile ve Müzik hiç kimse söylemeden ekranın ağır düğümleri oluyor. Çünkü gerçekten öyleler.

Duyguyu fiziğe bağlamak

Her düğümün bilgi tabanında bir duygu etiketi var. Başta sadece metindi; sonra fiziğe bağladım.

etiketdavranışhissi
Gururlu / Temelyavaş nefes, güçlü kenarsağlam, yerinden oynamaz
Meraklı / Deneyselhafif titremehuzursuz
Sakinyüksek sönümlemeitersin, usulca durur
Hayat değiştirengüçlü hâlegöz ister istemez gider

Hepsi çok ince. Kimse “bu düğüm gururlu” demiyor. Ama ekran bir tabloya değil, bir şeye benziyor.

Sen hiçbir şey yapmasan da

Yaklaşık altı saniyede bir sistem gerçek kenarlar boyunca bir düşünce yolu yürüyor, sırayla nabız atıyor ve mevcut log’a bir satır düşüyor:

· Düşünüyor…
· Desen: "güven" tekrar tekrar geçiyor
· Alanlar arası ilişki bulundu
· Olası mimari sadeleşme

Chatbot yok, yeni panel yok. Aktif düğümlerin ağırlık merkezinde çok soluk bir hâle beliriyor — nerede düşünüldüğünü gösteriyor.

Özellik ekleme. Zekâ hissini artır. Graf değil, canlı bir şey gibi görünsün.

bu bölümün tek gereksinim belgesi — kendi notum

Ve bir kısıt: iki seviye sonra dur

Otomatik açılma iki seviyede duruyor. Gerisi için tıklaman gerekiyor, her tık bir seviye.

Sebep: sistem her şeyi kendi açarsa sen sadece izlersin. İki seviye, bağlantıların kurulduğunu göstermeye yeter; gerisi merakın işi.

Sonra fatura geldi

Bütün bu motor — graf, fizik, müzik, atmosfer — yaklaşık 250 KB JavaScript, ve hepsi ilk açılışta yükleniyordu.

Çözüm: site iki modlu. Kurumsal modda yalnız üç dosya yükleniyor. Ağır motorlar sadece “Inside My Mind”a geçilince geliyor — ve geçiş zaten sinematik bir çözülme olduğu için yüklemeyi o perdenin arkasına sakladım. Kullanıcı bekleme değil, geçiş görüyor.

Aynı turda portre 794 KB’den 217 KB’ye, paylaşım görseli 2,2 MB PNG’den 96 KB JPEG’e indi. Yazı tipleri swap yerine optional oldu; sayfa kayması 0,164’ten sıfıra düştü.

küçük ama pahalı ders

file:// üzerinden test ederken tarayıcı dosyaları agresif önbelleğe alıyor. Bir dosyayı düzenleyip sürüm numarasını artırmazsan eski halini görüyorsun — ve saatlerce olmayan bir hatayı kovalıyorsun. Bana bir günde birkaç kez yaptı.

Ne öğrendim

Bir arayüzün “akıllı” hissettirmesi daha çok özellikle olmuyor. Veri modelinin görseli sürmesiyle oluyor.

Boyut bir tercih değil bir hesap olduğunda, hareket bir animasyon değil bir kişilik olduğunda, ekrandaki şey arayüz olmaktan çıkıp davranışa dönüşüyor.

Ve asıl ürün graf değil — altındaki model. Arama, zaman çizelgesi, notlar, sohbet; hepsi ondan beslenecek.

SimülasyonSistem