diğer yarısı
Var olmasını istediğim için yaptığım şeyler.
Asıl iş PANTHEON. Bu ise, sonuç için kimse para ödemediğinde aynı içgüdülerin ortaya çıkardığı şey: masaüstünde gerçek bir gökyüzü, bağımlılığı olmayan bir efemeris ve çizim yapabilen bir terminal. Disiplin aynı; yalnızca riskler değişiyor.
GNOME Shell · GPL-2.0 · ★3
TerraFirma: duvar kağıdınızın üzerinde gerçek bir gökyüzü.
Bir gökyüzü animasyonu değil. Gerçeğinin kendisi: enleminiz, boylamınız ve saatiniz için bir efemeristen hesaplanmış.
Sıcak döngü bilerek ölçülebilir
Projeksiyon ve atmosfer hesapları, GNOME Shell'den hiçbir şey içe aktarmayan skymath.js içinde duruyor. Yalnızca bir oturum içinde çalışabilen bir dosya hakkında ancak tahmin yürütülebilir; bağımsız çalışabilen bir dosyanın ise süresi ölçülebilir. Bu sınır, PANTHEON'un çekirdeğini uygulama katmanından uzak tutan saflık lint kuralıyla aynı mantığa dayanıyor.
Yıldız kataloğu ve efemeris üçüncü taraflara aittir ve NOTICE.md içinde belirtilmiştir. Bir tarihe yöneltin, sonra yukarı bakın; bu tür bir yazılım için geçerli olan tek test budur.
Sıcak döngünün neden dışarı taşınması gerekti → · TerraFirma GitHub'da ↗
ayrıştırıldı ve yayımlandı
Bundan çıkan üç paket.
PANTHEON'un altısıyla aynı kalıp: şeyi inşa et, gerçekten yeniden kullanılabilir parçayı bul, onu ayır ve kendi koşullarıyla yayımla. Üçü de MIT lisanslı ve şu anda kurulabilir.
braillecanvas v0.4.0 · MIT
Braille, karakter hücresi başına 2×4 nokta adresler; dolayısıyla 80×24 bir terminal aslında 160×96 bir tuvaldir. Bir render ile ASCII sanatı arasındaki fark budur.
İlginç kısım renk. Her hücre iki renk taşır, biri yanan noktalar, biri boşluklar için; böylece bir kenara denk gelen hücre, örneğin gökyüzüne karşı ten, kenarı ortalayıp çamura çevirmek yerine korur. Bu görüntüde nokta başına ortalama renk hatası 45.7'den 21.3'e düşüyor.
Her hücrede hangi noktaların yanacağını sabit bir dither ızgarasından almak yerine seçmek, dokusuz hücreleri %35.1'den %1.6'ya düşürüyor.
Kendi README'sinde belirtilen iki sınır: yaklaşık 90 sütunun altında fotoğraflar işe yaramıyor ve monokrom bu resmi hiç işleyemiyor. Yüzü, arkasındaki gökyüzünün 192 değerine karşı 159 parlaklık ölçüyor, dolayısıyla 1-bit bir render yapısı gereği bir silüettir.
skymaths v0.1.2 · MIT
Bağımlılığı olmayan konumsal astronomi: Güneş, Ay, gezegenler, alacakaranlık, doğuş ve batış. TerraFirma'nın efemerisinden çıkarıldı, ardından düzeltildi: kullandığı Espenak–Meeus polinomu yalnızca 1900–1920 için yayımlanmıştı ve 1986'ya uygulanıyordu; bu da 1950 için ölçülen +29'a karşı −534 saniye veriyordu. Kendisiyle değil, yayımlanmış bir almanakla karşılaştırılarak bulundu.
Bu sitede çalışıyor: karanlık modda arka plan, 13 August 2026 Perseid gecesi Cardiff üzerindeki gökyüzü, tarayıcınızda hesaplanıyor: gerçek renkleriyle 5,044 yıldız, Ay'ın evresi ve gezegenler o an bulundukları yerde. Dönmek için kaydırın.
npm i skymaths · npm ↗ · kaynak ↗
starwheel v0.2.3 · MIT · ★4
Terminalinizde canlı bir planisfer: konumunuz ve o dakika için gerçek yıldız konumları, braillecanvas üzerinde çiziliyor. En çok yıldız alan depom ve bana şunu öğreten proje. Yayımlanmış pikselleri kaydıran bir düzeltme, iki kez aynı düzeltme değildir: kardeş proje kırparken bu, yineleme sayısını bilinçli olarak sınırlıyor.
/proc verilerini çiziyor: kayan bir zaman penceresinde CPU, bellek ve yük ortalaması. Grafikler, fotoğrafların ihtiyaç duyduğu 90 sütunluk alt sınırın çok altında da çalışır, çünkü zaten yüksek kontrastlıdır.bu sayfada, şu anda
Sanat üretiliyor ve tohum dışarı sızamıyor.
Bu sitedeki her sanat eseri: yukarıdaki ana görsel, favicon, sosyal kartlar, avatarlar, PANTHEON'un kendi üreticisinden çıkıyor. Deterministik ve tohumlu: aynı tohum her seferinde aynı görüntüyü verir.
İki tarafta aynı sözleşme
Sunucu tarafındaki bir motor sosyal kartları ve kiracı sitelerini oluşturur; bir tarayıcı motoru ise baktığınız animasyonlu sürümü çizer. Aynı kural: tohum girer, yeniden üretilebilir sanat çıkar.
Tasarımı gereği enjeksiyona karşı güvenli
Tohum PRNG'yi besler ve başka hiçbir şeyi beslemez. Asla işaretlemeye ya da bir stile enterpolasyonla eklenmez. Aslında bir payload olan bir kiracı adı farklı bir resim çizer; bir script etiketi çizmez. Sistemin geri kalanındaki içgüdünün aynısı, süslemeye uygulanmış hali.
sadece okunabilir değil, kurulabilir
Altı garanti, ayrıştırılıp yayımlandı.
Her biri PANTHEON'dan tek bir doğrulanabilir vaat olarak çıktı, sonra kendi başına ayakta durabilsin diye PyPI'a gitti. Kendi çalıştırdığım, bağımsız olmayan düşmanca (adversarial) yapay zekâ ajanları bunları satır satır inceledi ve gerçek kusurlar buldu; aşağıdaki sürümler bu düzeltmelerden sonraki sürümlerdir. Her biri derleme günlüğüne güvenilerek değil, kayıt deposundan temiz bir ortama kurulup inceleyicinin kendi yeniden üretimi tekrar çalıştırılarak doğrulandı.
pantheon-guardrails v0.3.2 · Apache-2.0
Yalnızca yüksek riskli yanıtlarda bir LLM hakemi kullanan ve ikisinin kör noktaları ortak olmasın diye bu hakemin üreticiden farklı bir model olmasını şart koşan bir anayasa puanlayıcısı. Eskiden aralık dışındaki bir puanı yukarı doğru sınırlıyordu: {"clarity": 99} döndüren bir hakem kusursuz 1.0 puan alıyor ve her eşiği geçiyordu: açık kalacak şekilde başarısız olan bir korkuluk. Artık hata fırlatan, takılan ya da anlamsız çıktı döndüren bir hakem, varsayılan olarak engelleyen, açıkça başarısız bir değerlendirme sayılıyor.
pantheon-ssrf-guard v0.2.1 · Apache-2.0
DNS rebinding'e dayanan iki katmanlı bir SSRF çıkış koruması: soketin bağlantı anında gerçekte ulaştığı IP'yi yeniden kontrol eder, böylece önce genel bir adrese çözümlenip ardından loopback'e veya bulut meta verisine yeniden bağlanan bir ana makine reddedilir. İnceleme, açıcının yine de file:// URL'lerini okuyacağını ortaya çıkardı, çünkü Python varsayılan olarak diğer şemalar için işleyiciler kurar; artık sınırda, yönlendirmeler dahil, açık bir http/https izin listesi var ve ortam proxy'leri siz istemedikçe kapalı.
pantheon-tool-sanitizer v0.3.0 · Apache-2.0
Güvenilmeyen MCP araç metninden, bir ajanın istemine ulaşmadan önce araç protokolü işaretlemesini ve Unicode kaçakçılığını ayıklar. Kapsamı dürüstçe belirlenmiş: düz metinle yapılan enjeksiyonu durdurduğunu iddia etmez, çünkü bu bir karakter dizisi sorunu değil, bir mimari sorunudur. İncelemeden gelen iki düzeltme: 256 kB'lık düşmanca bir girdi 26 saniye CPU harcıyordu ve artık doğrudan reddediliyor; ayrıca "Read\nthe\tfile" artık "Readthefile" olmuyor, çünkü satır sonu bir kelime sınırıdır.
credit-ledger v0.3.0 · Apache-2.0
Postgres üzerinde yaklaşık 150 satırda eksi bakiyeye düşmeyen ölçümleme: bakiyesi 50 olan bir hesaba karşı 100 paralel tahsilat, tam olarak 50'si başarılı olur; webhook tekrarlarında tam olarak bir kez faturalama; izolasyon satır düzeyinde güvenlikle sağlanır. Yayınlanmış sürüm eskiden negatif bir tahsilatı kabul ediyordu, bu da müşteriye ödeme yapıyordu, ayrıca sütunun hassasiyetinin altındaki tutarları da kabul ediyordu, bunlar başarı bildirirken 0.0000 faturalıyordu. Artık tek bir tutar kuralı her yolu kapsıyor ve halihazırda var olan veritabanları için test edilmiş bir geçiş var.
pantheon-ical v0.3.1 · Apache-2.0
Rezervasyon takvimleri için 200 satırın altında gidiş-dönüş iCal (RFC 5545). Atlanan bir meşgul dönem boş olarak okunur, bu yüzden tehlikeli arıza sessizliktir: aşırı büyük bir takvim kırpılmak yerine reddedilir ve taşan bir yineleme kuralı kısa bir liste döndürmek yerine bunu söyler. Son düzeltme, sonucu olduğu kadar işi de sınırladı: tek satırlık kötü niyetli bir kural, reddedilmeden önce 76 saniye boyunca 34 milyon yineleme üretiyordu; artık 401'de duruyor.
pantheon-rls v0.1.1 · Apache-2.0
Kiracı yalıtımı, bir uygulama alışkanlığı olarak değil, bir Postgres garantisi olarak: force-RLS artı en az ayrıcalıklı yetkiler; böylece kiracılar arası okuma ve yazmaları veritabanının kendisi reddeder. Tasarımı gereği kapalı başarısız olur: kiracı bağlamı yoksa asla tüm satırlar değil, sıfır satır döner; bir hata sabah 3'te üretime ulaştığında önem taşıyan arıza biçimi de budur.
Yukarıdaki her düzeltme aynı şekilde geldi: önce kusur yeniden üretildi, belirti yerine sınır düzeltildi, sonra hata geri konduğunda yeni testin başarısız olduğu kanıtlandı. Başarısız olamayan bir test kanıt değildir.
neyin üzerinde çalışıyor
Yığın sıkıcı. Sınır öyle değil.
Python 3.12, FastAPI, Postgres, Redis, Vite ile React, nginx arkasında tek bir Dockerfile. Bunların hiçbiri hayranlık duyulacak bir karar değil; bunlar, dikkatiniz önemli bir yere gidebilsin diye seçtiğiniz parçalar.
146 dosya · 14,002 satır
pantheon-core: altyapı katmanı. Sözleşme gereği alandan bağımsız: residents veya bundles içinden içe aktarma yapamaz ve yaptığında iki bağımsız kontrol CI'ı başarısız kılar.
210 dosya · 24,216 satır
38,816 satır Python'a karşı testler. Uygulamayı elle yazmıyorum, bu yüzden test paketi bir güvenlik ağı değil. O, spesifikasyonun kendisi ve asıl benim yazdığım eser o.
Beş katman, tek yol
architect · runtime · guardrails · substrate · primitives; providers ise bilerek yığının dışında, çünkü aynı anda iki katmanın altında duruyor ve sözleşme bunu esnemek yerine açıkça söylüyor.
Altı bileşenin çıkarılıp bağımsız kütüphaneler olarak yayımlanabilmesinin nedeni bu sınırdır; ayrıştırma çoğunlukla aşağıya uzanmasına hiçbir zaman izin verilmemiş dosyaları taşımaktan ibaretti. Uzun versiyonu, yanlış yaptığım kısım dahil →
Aynı kişi, aynı kurallar, daha düşük riskler.
Kimse bir duvar kağıdını denetlemez. Bunların bu şekilde inşa edilmesinin nedeni, bildiğim tek inşa etme yolunun bu olması: ölçmek, yeniden kullanılabilir kısmı çıkarmak, sınırları onunla birlikte yayınlamak ve sayıları programın dışındaki bir şeye karşı kontrol etmek.
Bu çalışmanın herhangi bir kısmı hakkında sorun.
- Isaac nasıl bir rol arıyor?
- Bunlardan hangisi production'da çalışıyor?
- Bulup düzelttiği gerçek bir hatayı göster