1 puan yazan GN⁺ 2024-03-04 | 1 yorum | WhatsApp'ta paylaş
  • Weathergov 2.0 deposu, önceki Drupal kod tabanından sonraki ikinci uygulamadır ve Wagtail/Django'ya geçiş için oluşturulmuş bir projedir
  • Geliştiriciler depoyu klonladıktan sonra just zap ile konteynerleri kurabilir ve http://localhost:8080 üzerinden uygulamayı, http://localhost:8081 üzerinden ise API proxy durumunu kontrol edebilir
  • Dokümantasyon dizininde ürün sahipleri, geliştiriciler, tasarımcılar, araştırmacılar ve diğer rollere yönelik kılavuzlarla birlikte mimari karar kayıtları yer alır
  • Yapay zeka destekli kod da normal kod ve inceleme standartlarına göre kabul edilebilir; ancak gönderimi yapan kişi kodu çalıştırıp testleri bizzat yürütmeli ve model adı, sürüm, ortam gibi kaynak bilgilerini birleştirme isteğinde açıklamalıdır
  • Kod tabanı; Wagtail CMS, Django alt uygulamaları, Node.js API katmanı ve proxy'leri, Terraform altyapı kodu, Playwright E2E testleri gibi bölümlere ayrılarak yönetilir

Weathergov 2.0'ın niteliği

  • Bu Git deposu, Weathergov 2.0'ın ikinci iterasyonuna karşılık gelir
  • Önceki depo Drupal kod tabanını içeriyordu; bu depo ise Wagtail/Django geçişi için oluşturuldu

Yerelde çalıştırma yöntemi

  • Depoyu klonladıktan sonra just zap çalıştırılarak konteynerler kurulabilir
  • Konteynerler çalıştıktan sonra aşağıdaki adreslerden kontrol edilebilir

Dokümantasyon ve karar kayıtları

  • docs/ altında farklı rollere yönelik kılavuzlar bulunur
    • ürün sahipleri için dokümanlar
    • geliştiriciler için dokümanlar
    • tasarımcılar için dokümanlar
    • araştırmacılar için dokümanlar
    • diğer roller için dokümanlar
  • docs/architecture/decisions/ içinde, mevcut yapıyı ve alınan kararların nedenlerini açıklayan mimari karar kayıtları bulunur

Yapay zeka destekli kod politikası

  • Proje, NAO 216-218 Artificial Intelligence in NOAA Policy, Executive Order 14179 "Removing Barriers to American Leadership in Artificial Intelligence", America's AI Action Plan doğrultusunda yapay zeka destekli kodu kabul edebilir
  • Yapay zeka destekli kod, normal kodla aynı inceleme standartlarına uymalıdır ve daha yüksek kalite ölçütleri uygulanır
  • Gönderimi yapan kişi, insan tarafından yazılmış kodda olduğu gibi aşağıdakileri karşılamalıdır
    • kodu ve testleri bizzat çalıştırmış olmalıdır
    • kodun ne yaptığını ekibe açıklayabilmelidir
    • çözülmek istenen problemi ve önerilen çözümü anlamalıdır
  • Gönderilen kodun davranışı, hataları ve yan etkilerine ilişkin sorumluluk her zaman insan katkı sağlayana aittir
  • Tüm birleştirme istekleri, yapay zeka destekli kod içerip içermediğini açıklamalıdır
    • kullanılan modelin adı ve sürümü
    • IDE, Copilot gibi ilgili ortamlar
    • kodun kaynağını anlamaya yardımcı olacak diğer bilgiler
  • Kontrol listesi; yapay zeka tarafından üretilen kod değişikliklerinin işaretlenmesini, bunların bizzat çalıştırılmış olmasını ve yapılan değişikliklerin, sorunların ve iyileştirmelerin hem uzmanlara hem de uzman olmayanlara açıklanabilmesini şart koşar

Kod yapısı

  • api-interop-layer: site ile API arasında yer alan Node uygulaması
  • api-proxy: API çağrılarını proxy'leyen ve statik veri ekleyen geliştirme/hata ayıklama aracı
  • forecast/backend: tahmin sayfalarını sunan Wagtail CMS
  • forecast/frontend: JavaScript ve diğer istemci tarafı varlıkları
  • forecast/locale: çeviri üretimi için mesaj dosyaları
  • forecast/spatial: mekânsal veritabanını yöneten Django alt uygulaması
  • spatial-data: WFO haritalarını üreten Node.js yardımcı uygulaması
  • terraform: altyapı yönetimi ve sitenin dağıtımı için kod
  • tests/playwright: çalışan siteye yönelik Playwright E2E testleri
  • tests/translations: çeviri anahtarlarının varlığını kontrol eden ve deprecated durumda olan test betiği
  • justfile: geliştirici komutlarını çalıştıran dosya; modern bir makefilea yakın bir rol üstlenir

1 yorum

 
GN⁺ 2024-03-04
Hacker News yorumları
  • 18F(GSA) ile yapılan bir sözleşme/ortaklık kapsamında ilerliyor gibi görünüyor: https://18f.gsa.gov/
    Herkese açık README’ye “weather.gov, kullanıcı ihtiyaçlarından çok kuruluşun silolarını yansıtıyor (Conway yasası)” diye yazmaları şaşırtıcı. Bizim kurumda açık bir belgeye böyle bir şey yazacak cesaret olmazdı sanırım

    • US Digital Service ve 18F, kurumların “evet, bu pek iyi değil ama daha iyi hale getireceğiz” diyebilmesini normalleştirmeleri açısından büyük rol oynadı
      Paydaşların savunma pozisyonunu bırakıp tutarlı bir çözüm için işbirliği yapabilecekleri bir güven hissi işin yarısı; bu tür “bürokrasi hackleme” işlerinde güven ve ilişki kurma hafife alınıyor
    • Keşke daha fazla kuruluş böyle şeffaf olsa
      Silolar kaçınılmaz olarak oluşuyor ve bunu kimsenin üstüne yıkmak istemem. Sorunun kabul edildiğini ve çözme iradesi olduğunu bilince hayal kırıklığını bir ölçüde bırakabiliyorsun
    • “Geri bildirim/izleme” ifadesi yüzünden, can sıkıcı bir çerez açılır penceresiyle gelen analitik takip betikleri ekleyeceklerinden endişeleniyorum
    • Hâlâ epey silo var gibi görünüyor. Örneğin Office of Water Prediction ayrı bir GitHub organizasyonu işletiyor; ayrıca water.weather.gov’dan ayrı preview.water.noaa.gov ve water.noaa.gov/map siteleri de var
      Oysa saha gözlem verileri aslında USGS’den geliyor; veri ve web servisleri de waterdata.usgs.gov tarafından sağlanıyor
  • Aptalca bir soru olabilir ama bu 2.0 gerçekten bir yerlerde denenebilir durumda mı, yoksa yalnızca geliştirilmekte olan kaynak kodu mu merak ediyorum
    Yaklaşık 8 yıl önce ABD hükümetinin havacılık meteorolojisi ürünlerinden birinin “deneysel” bir sitesi vardı ve gerçekten çok iyiydi. Modern, kullanımı kolay ve temizdi; alışıldık hantal devlet web sitelerine benzemiyordu, ekip de iyi görünüyordu ama çok yıllı devlet bütçe sistemine bağlıydı. Sonunda kapatıldı ve hatırladığım kadarıyla o çalışma ana siteye taşınmadı
    ABD, mükemmel meteoroloji servislerine ve bunları ücretsiz, kamu malı olarak sunma yükümlülüğüne sahip olduğu için şanslı. Ancak fazla iyi olmamasını sağlayan çok fazla siyasi baskı da var; böylece ticari şirketler kâr edebiliyor. En azından 2005’te AccuWeather bu şirketlerden biriydi: https://www.onthecommons.org/privatizing-weather/index.html

    • Barry Myers / AccuWeather, tüm hava tahmini hizmetlerinin özelleştirilmesini herkesten çok ister; bu olursa ben ve SPC’deki meslektaşlarım işimizi kaybederiz
    • Staging ortamını hazırlamışlar gibi görünüyor ama muhtemelen herkese açık canlı ortam değil: https://github.com/weather-gov/weather.gov/tree/main/.github...
    • beta.weather.gov’da bir beta web sitesi var, ama yazıda bağlantısı verilen kaynakla aynı şey mi bilmiyorum
    • README’de prototiplemeyi bitirdikleri ve şu anda MVP oluşturdukları yazıyor
    • Yol haritasında Mayıs deniyor
      https://github.com/weather-gov/weather.gov/blob/smh--researc...
  • İyi iş çıkarıyorlar. radar.weather.gov harika bir site; tüm cihazlarda çalışıyor, reklamsız ve gayet iyi işliyor, umarım böyle kalır

    • Benim deneyimim tam tersi. Mobilde hiç iyi çalışmıyor ve eskisi gibi basit ve kullanışlı bir şey arayan biri için gereğinden fazla karmaşık
      Ayrıca inanılmaz yavaş ve önceki sürüme kıyasla faydalı bilgi de daha sınırlı
  • Bunun api.weather.gov’u da etkileyip etkilemeyeceğini merak ediyorum. Daha önce Weather Underground’dan esinlenen küçük bir pano (https://weather.nikolaj.dev) yapmıştım ve hâlâ çoğu gün kullanıyorum
    Ancak sörf raporu için kendi deniz tahminimi oluşturma işi biraz durmuş durumda. Umarım sonunda o alanları doldururlar. Böylece GRIB dosyalarını doğrudan çözme zahmetinden kurtulurum

    • Bunu sevdim. Weather Underground’ın 10 günlük tahmin UI/düzeni en iyisiydi ama reklamlar çok aşırı hale geldi
    • Bu arada mimari diyagramlardan birine bakınca api.weather.gov bu projenin kapsamı dışında gibi görünüyor
    • Arayüz güzel
      Küçük bir sorun olarak, başka bir konumu zaten girmiştim ama birkaç saniye sonra San Diego hava durumuna yönlendirildim. Konum isteğini engellediğim için de olabilir
  • Devletle ilgili tüm açık kaynak projelerin tek bir yerde derlenmiş olması iyi olurdu. Örneğin GitHub’da usa-gov adlı bir organizasyon olsa ve tüm depolara kolayca erişilebilse güzel olurdu

    • Tam olarak tek yer değil ama bu sayfa [0] çeşitli federal kurumların GitHub organizasyonlarını listeliyor. Ancak kapsamlı değil; özellikle NSA organizasyonu [1] eksik
      [0] https://code.gov/agencies
      [1] https://github.com/nationalsecurityagency
    • https://government.github.com/community/ içinde uluslararası kurumlar da var
    • GitHub iç içe organizasyonlara ya da ilişkili organizasyon yapılarına doğru düzgün izin vermediği için, tüm depoları tek bir organizasyona koymak kâbus olurdu
      Devlet için GitHub [0] var ama katkılara dayanıyor ve çok tamamlanmış sayılmaz
      GSA, Obama yönetimi döneminde tüm devlet projeleri için tek bir dizin oluşturma hedefiyle code.gov’u başlattı. Trump yönetiminde sönümlendi, Biden yönetiminde ise fiilen bütçesi kesildi; şimdi yalnızca başlıca kurumlara bağlantı vermekle yetiniyor ve güncel dizin şartı da artık yok
      Sadece bizim organizasyonda yaklaşık 1000 depo var; böyle yüzlerce kurum olduğu düşünülürse, ciddi bir çaba olmadan hepsini toplamak hayal bile edilemiyor. Başta code.gov, herkesin kendi web sitesine bir code.json dosyası koyması ve GSA’nın bunları toplayıp tek yerde birleştirmesi şeklinde çalışıyordu; bu da oldukça iyi işliyordu. Bu yüzden bunu durdurmaları ve code.json yayımlama talebini de sonlandırmaları gerçekten üzücü. İyi bir fikirdi
      [0] https://government.github.com/community/
    • Fransa’da https://code.gouv.fr/ var ve kaynak kodu GitHub ile SourceHut’ta açık: https://github.com/codegouvfr
      https://git.sr.ht/~codegouvfr/
  • Bu, tüm federal kurumların yönelebileceği geleceğin bir örneği gibi. National Weather Service’in öncülük etmesini alkışlıyorum

  • weather.gov’un tahmin grafiği bildiklerim arasında en kullanışlı olanı ve hava durumunu merak ettiğimde ilk baktığım şey
    Örnek: https://forecast.weather.gov/MapClick.php?lat=37.7771&lon=-1...

    • Kesinlikle. Bulunduğum yerin saatlik hava durumu görselini mpv ile açan bir pencere yöneticisi kısayolu ayarladım; bugün ya da yarın havayı hızlıca kontrol etmek için iyi bir yöntem olarak öneririm
      Terminalde kitten icat ile gösteren bir shell alias’ım da var ama mpv kısayolunu daha sık kullanıyorum. Metin hava durumu için de bir alias’ım var; aşağıdaki yoldan konumuma uygun dosyayı curl ile çekiyor:
      https://tgftp.nws.noaa.gov/data/forecasts/zone/
      Eyaletimin dosyalarını tarayıp uygun dosyayı buldum ama 7 günlük tahmin sayfasındaki “More Local Wx” bağlantısında da doğru dosya adı var gibi görünüyor. Benim durumumda ORZ006
      Radarı gösteren birkaç icat alias’ı da oluşturdum. Mevcut, sıralı ve döngülü gösterim için; radar adı da radar.weather.gov ile aynı şekilde şu sayfadan alınıyor:
      https://radar.weather.gov/ridge/standard/
      Ancak en iyisinin 1 saatlik birikimli yağış görünümü (One hour accumulation view) olduğunu düşünüyorum; o görünümün görüntüsünü nasıl çekeceğimi bulamadığım için genelde radar.weather.gov’a bakıyorum. Son zamanlarda biraz düzeldi ama bazen bende hiç çalışmıyor
      Çok sık bakmasam da, 6–10 günlük ve aylık sıcaklık/yağış görünümünü gösteren icat alias’ları da hazırladım:
      https://www.cpc.ncep.noaa.gov/products/predictions/610day/
      https://www.cpc.ncep.noaa.gov/products/predictions/30day/
  • contributing.MD dosyasını görüyorum ama gerçekten nasıl katkıda bulunulabileceğini anlamak zor. Potansiyel katkıcı olarak en iyi nasıl katkı verebileceğimi bilmek isterdim

    • perspective “bakış açısı” demek; burada doğru olan prospective, yani “potansiyel”
      Kusur aramaya çalışmıyorum, yardımcı olur umuduyla paylaşıyorum
  • Doğrudan özelleşmiş deneyimler geliştiren kişiler için API hakkında daha fazla şey duymayı umuyordum. NOAA ham veri sağlamada iyi, ancak devlet hizmetlerinin tüketimi ve kullanımı çoğu zaman daha spesifik oluyor
    Burada acil müdahale araçları geliştiriyorum. Üretken yapay zeka öncelikli; sürekli izleme → uyarılar, chatbot’lar, özel durum raporları gibi şeyler. İlgilenirseniz iletişime geçebilirsiniz
    Çeşitli kurumlar, kamu hizmeti şirketleri vb. özelleşmiş varyantlara ihtiyaç duydukça, weather.gov’un kendi içinde çözmekte olduğu son aşama veri/UI zorluklarının diğer kurumlara da yardımcı olacağını daha iyi fark ediyorum
    Bildiğim kadarıyla Weather.gov, NOAA çatısı altındaki NWS tarafından işletiliyor; bu nedenle bu misyon yenilemesinde bunun yer almaması ilginç

  • Biraz ilgili bir konu ama şahsen weather.gov’da en kullanışlı tek URL’nin bu olduğunu düşünüyorum. Sadece enlem/boylamı değiştirmeniz yeterli
    https://forecast.weather.gov/MapClick.php?FcstType=graphical...
    Aynı yerleşimle geçmiş verileri de görebilsek iyi olurdu