Weather.gov 2.0 güncellemesi duyuruldu
(github.com/weather-gov)- 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 zapile konteynerleri kurabilir vehttp://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
http://localhost:8080: uygulamanın çalıştığı ekranhttp://localhost:8081: API proxy durumu
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 CMSforecast/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 kodtests/playwright: çalışan siteye yönelik Playwright E2E testleritests/translations: çeviri anahtarlarının varlığını kontrol eden ve deprecated durumda olan test betiğijustfile: geliştirici komutlarını çalıştıran dosya; modern birmakefilea yakın bir rol üstlenir
1 yorum
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
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
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
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
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
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
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
[0] https://code.gov/agencies
[1] https://github.com/nationalsecurityagency
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/
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...
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
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