1 पॉइंट द्वारा GN⁺ 2024-03-04 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Weathergov 2.0 repository, पुराने Drupal codebase के बाद दूसरा implementation है, और इसे Wagtail/Django पर migrate करने के लिए बनाया गया project है
  • Developer repository clone करने के बाद just zap से container set up कर सकते हैं, और app को, API proxy status को check कर सकते हैं
  • Documentation directory में product owner, developer, designer, researcher आदि के लिए guides और architecture decision records शामिल हैं
  • AI-assisted code भी सामान्य code और review standards के तहत स्वीकार किया जा सकता है, लेकिन submitter को code execution और tests खुद चलाने होंगे और merge request में model name, version, environment जैसी source जानकारी disclose करनी होगी
  • Codebase को Wagtail CMS, Django sub-apps, Node.js API layer और proxy, Terraform infrastructure code, Playwright E2E tests आदि में बांटकर operate किया जाता है

Weathergov 2.0 का स्वरूप

  • यह Git repository Weathergov 2.0 के दूसरे iteration से संबंधित है
  • पिछली repository में Drupal codebase था, और यह repository Wagtail/Django migration के लिए बनाई गई है

Local run करने का तरीका

  • Repository clone करने के बाद just zap चलाने से container set up किया जा सकता है
  • Container चलने पर इसे नीचे दिए addresses पर check किया जा सकता है

Documentation और decision records

  • docs/ के तहत कई roles के लिए guides हैं
    • Product owners के लिए docs
    • Developers के लिए docs
    • Designers के लिए docs
    • Researchers के लिए docs
    • अन्य roles के लिए docs
  • docs/architecture/decisions/ में architecture decision records हैं, जो मौजूदा structure और decisions के कारणों को explain करते हैं

AI-assisted code policy

  • Project NAO 216-218 Artificial Intelligence in NOAA Policy, Executive Order 14179 "Removing Barriers to American Leadership in Artificial Intelligence", America's AI Action Plan के अनुरूप AI-assisted code स्वीकार कर सकता है
  • AI-assisted code को सामान्य code और review standards का पालन करना होगा, और उस पर ज्यादा ऊंचे quality standards लागू होंगे
  • Submitter को, मानव द्वारा लिखे code की तरह, नीचे दी गई बातों को पूरा करना होगा
    • code और tests खुद run किए होने चाहिए
    • code क्या करता है, यह team को explain कर सकना चाहिए
    • जिस समस्या को solve करना है और proposed solution को समझना चाहिए
  • Submitted code के behavior, bugs और side effects की जिम्मेदारी हमेशा human contributor पर होती है
  • सभी merge requests में AI-assisted code शामिल है या नहीं, यह disclose करना होगा
    • इस्तेमाल किए गए model का name और version
    • IDE, Copilot जैसे related environment
    • code source को समझने में मदद करने वाली अन्य जानकारी
  • Checklist मांगती है कि AI-generated code changes को mark किया जाए, उन्हें खुद run किया गया हो, और experts व non-experts दोनों को changes, issues और improvements समझाए जा सकें

Code structure

  • api-interop-layer: site और API के बीच स्थित Node app
  • api-proxy: API calls को proxy करने और static data inject करने वाला development/debug tool
  • forecast/backend: forecast pages provide करने वाला Wagtail CMS
  • forecast/frontend: JavaScript और अन्य client-side assets
  • forecast/locale: translation generation के लिए message files
  • forecast/spatial: spatial database manage करने वाला Django sub-application
  • spatial-data: WFO maps generate करने वाला Node.js utility app
  • terraform: infrastructure management और site deployment के लिए code
  • tests/playwright: running site के लिए Playwright E2E tests
  • tests/translations: translation keys की मौजूदगी check करने वाला test script, जो deprecated status में है
  • justfile: developer commands run करने वाली file, जो नए makefile के करीब role निभाती है

1 टिप्पणियां

 
GN⁺ 2024-03-04
Hacker News की राय
  • लगता है कि यह 18F(GSA) के साथ contract/partnership के तहत किया जा रहा है: https://18f.gsa.gov/
    यह देखकर हैरानी हुई कि public README में लिखा है कि “weather.gov यूज़र की ज़रूरतों की तुलना में संगठन के silo को ज़्यादा दर्शाता है (Conway का नियम)”। हमारे संगठन में होता, तो शायद public document में ऐसा लिखने की हिम्मत नहीं होती

    • US Digital Service और 18F ने इस मायने में बड़ी भूमिका निभाई कि उन्होंने agencies के लिए यह माहौल सामान्य किया कि वे कह सकें, “हाँ, यह अच्छा नहीं है, लेकिन हम इसे बेहतर बनाएँगे”
      stakeholders का defensive रवैया कम करना और एक consistent समाधान के लिए सहयोग कर पाने की सुरक्षा देना आधी जीत है, और ऐसी “bureaucracy hacking” में trust और relationship building को कम आंका जाता है
    • काश और संगठन भी इतने transparent होते
      silo बन ही जाते हैं, और मैं इसका दोष किसी पर नहीं डालना चाहता। अगर पता हो कि समस्या को माना गया है और उसे हल करने की इच्छा है, तो कुछ हद तक झुंझलाहट कम हो जाती है
    • “feedback/monitoring” शब्द देखकर चिंता होती है कि कहीं वे परेशान करने वाले cookie popup के साथ आने वाले analytics tracking script तो नहीं जोड़ने वाले
    • अभी भी काफी silo दिखते हैं। उदाहरण के लिए Office of Water Prediction अलग GitHub organization चलाता है, और water.weather.gov से अलग preview.water.noaa.gov तथा water.noaa.gov/map साइटें भी हैं
      लेकिन field observation data वास्तव में USGS से आता है, और data तथा web services भी waterdata.usgs.gov पर उपलब्ध हैं
  • हो सकता है यह बेवकूफी भरा सवाल हो, लेकिन मैं जानना चाहता हूँ कि यह 2.0 वास्तव में कहीं इस्तेमाल करने लायक स्थिति में है, या अभी सिर्फ development में source code ही है
    करीब 8 साल पहले अमेरिकी सरकार के aviation weather products में से एक के लिए एक “experimental” साइट थी, और वह सच में बहुत अच्छी थी। वह modern, इस्तेमाल में आसान और साफ-सुथरी थी, इसलिए आम अटपटी government website जैसी नहीं लगती थी, और टीम भी अच्छी लगती थी, लेकिन वह कुछ साल वाले government budget cycle में बंधी हुई थी। आखिरकार वह बंद हो गई, और जहाँ तक मुझे याद है, उस काम का नतीजा main site पर नहीं आया
    अमेरिका भाग्यशाली है कि वहाँ बेहतरीन weather services हैं और उन्हें free public good के रूप में उपलब्ध कराने का दायित्व भी है। लेकिन इन्हें बहुत अच्छा न बनने देने के लिए political pressure भी काफी है, ताकि commercial companies मुनाफा कमा सकें। कम से कम 2005 में AccuWeather ऐसी ही कंपनियों में से एक थी: https://www.onthecommons.org/privatizing-weather/index.html

    • Barry Myers / AccuWeather किसी भी व्यक्ति से ज़्यादा सभी weather forecast services के privatization की इच्छा रखेंगे, और अगर ऐसा हुआ तो मैं और SPC में मेरे सहकर्मी अपनी नौकरियाँ खो देंगे
    • लगता है staging environment तैयार है, लेकिन शायद अभी public live नहीं है: https://github.com/weather-gov/weather.gov/tree/main/.github...
    • beta.weather.gov पर एक beta website है, लेकिन पता नहीं वह पोस्ट में linked source जैसा ही है या नहीं
    • README में लिखा है कि prototyping खत्म हो चुका है और अब MVP बनाया जा रहा है
    • roadmap में मई लिखा है
      https://github.com/weather-gov/weather.gov/blob/smh--researc...
  • अच्छा काम हो रहा है। radar.weather.gov एक शानदार साइट है, सभी devices पर काम करती है, और बिना ads के बहुत अच्छी तरह चलती है, इसलिए उम्मीद है इसे बनाए रखेंगे

    • मेरा अनुभव बिल्कुल उल्टा रहा। mobile पर यह बिल्कुल ठीक से काम नहीं करती, और जो लोग पहले जैसी simple और useful चीज़ ढूँढते हैं, उनके लिए यह ज़रूरत से ज़्यादा complex है
      यह बहुत धीमी भी है, और पुराने version की तुलना में useful जानकारी भी कम देती है
  • सोच रहा हूँ कि क्या इसका असर api.weather.gov पर भी पड़ेगा। मैंने पहले Weather Underground से प्रेरित एक छोटा dashboard (https://weather.nikolaj.dev) बनाया था, और आज भी ज़्यादातर दिनों में वही इस्तेमाल करता हूँ
    हालाँकि surf report के लिए marine forecast खुद बनाने का काम कुछ रुका हुआ है। अच्छा होगा अगर वे आखिरकार उन fields को भर दें। तब GRIB files को खुद समझने की मेहनत कम हो जाएगी

    • यह मुझे पसंद आया। Weather Underground का 10-day forecast UI/layout सबसे अच्छा था, लेकिन ads बहुत ज़्यादा हो गए थे
    • जानकारी के लिए, architecture diagrams में से एक को देखें तो api.weather.gov शायद इस project के scope से बाहर लगता है
    • interface अच्छा है
      एक छोटी समस्या यह रही कि मैंने पहले ही दूसरी location दर्ज की थी, लेकिन कुछ सेकंड बाद यह San Diego के weather पर redirect हो गया। हो सकता है ऐसा इसलिए हुआ हो क्योंकि मैंने location request block कर दी थी
  • अच्छा होगा अगर सभी सरकारी open source projects एक ही जगह व्यवस्थित मिलें। उदाहरण के लिए, GitHub पर usa-gov organization हो ताकि सभी repositories तक आसानी से पहुंचा जा सके

    • ठीक-ठीक एक ही जगह तो नहीं, लेकिन यह पेज [0] कई federal agencies की GitHub organizations की सूची देता है। हालांकि यह पूरी तरह व्यापक नहीं है, और खासकर NSA organization [1] इसमें नहीं है
      [0] https://code.gov/agencies
      [1] https://github.com/nationalsecurityagency
    • https://government.github.com/community/ पर international agencies भी हैं
    • GitHub nested organizations या related organization structure को ठीक से allow नहीं करता, इसलिए सभी repositories को एक ही organization में डालना दुःस्वप्न बन जाएगा
      सरकार के लिए GitHub [0] है, लेकिन वह contributions पर निर्भर है और बहुत परिपक्व नहीं है
      GSA ने Obama administration के समय code.gov इस लक्ष्य के साथ शुरू किया था कि सभी सरकारी projects का एक single index बनाया जाए। Trump administration में यह धीमा पड़ गया, और Biden administration में इसका बजट लगभग खत्म हो गया, इसलिए अब यह बस प्रमुख agencies की ओर link करता है और timely indexing की requirement भी अब नहीं रही
      सिर्फ हमारी organization में ही लगभग 1000 repositories हैं, और ऐसी agencies सैकड़ों हैं, इसलिए बिना कुछ मेहनत के सब कुछ इकट्ठा कर लेना कल्पना से परे है। मूल code.gov काफ़ी अच्छा काम करता था: हर कोई अपनी वेबसाइट पर code.json फ़ाइल डालता था और GSA उन्हें crawl करके एक जगह जोड़ देता था। इसलिए उसे बंद कर देना और code.json publish करने का अनुरोध भी रोक देना वाकई अफ़सोसजनक है। यह अच्छा विचार था
      [0] https://government.github.com/community/
    • फ़्रांस में https://code.gouv.fr/ है, और उसका source GitHub और SourceHut पर public है: https://github.com/codegouvfr
      https://git.sr.ht/~codegouvfr/
  • यह उस भविष्य जैसा लगता है जिसकी ओर सभी federal agencies बढ़ सकती हैं। National Weather Service के आगे बढ़कर नेतृत्व करने पर सराहना

  • weather.gov के forecast graphs मेरे हिसाब से सबसे उपयोगी चीज़ों में हैं, और मौसम देखना हो तो मैं सबसे पहले वहीं जाता हूँ
    उदाहरण: https://forecast.weather.gov/MapClick.php?lat=37.7771&lon=-1...

    • सही कहा। मैंने एक window manager shortcut बना रखी है जो मेरे location की hourly weather image को mpv में खोल देती है, और आज या कल का मौसम जल्दी देखने के लिए मैं इसे एक बढ़िया तरीका मानता हूँ
      terminal में kitten icat से दिखाने वाला shell alias भी है, लेकिन mpv shortcut मैं ज़्यादा इस्तेमाल करता हूँ। एक text weather alias भी है, जो नीचे दिए गए path से मेरे location के अनुसार फ़ाइल curl करके लाता है:
      https://tgftp.nws.noaa.gov/data/forecasts/zone/
      मैंने अपने state की files देखकर सही फ़ाइल ढूँढी थी, लेकिन 7-दिन वाले forecast page पर “More Local Wx” link में सही filename भी लगता है। मेरे मामले में वह ORZ006 है
      radar दिखाने वाले कुछ icat aliases भी बना रखे हैं। current, sequential और loop display के लिए, और radar names नीचे दिए गए पेज से लेता हूँ, जैसे radar.weather.gov पर होते हैं:
      https://radar.weather.gov/ridge/standard/
      हालांकि मुझे लगता है कि One hour accumulation view सबसे अच्छा है, लेकिन उस view की image लाने का तरीका नहीं मिल पाया, इसलिए मैं आम तौर पर radar.weather.gov ही देखता हूँ। आजकल थोड़ा बेहतर है, लेकिन कभी-कभी मेरे लिए बिल्कुल काम नहीं करता
      मैं इन्हें बहुत बार नहीं देखता, लेकिन 6~10 दिन और monthly temperature/precipitation outlook दिखाने वाले icat aliases भी बना रखे हैं:
      https://www.cpc.ncep.noaa.gov/products/predictions/610day/
      https://www.cpc.ncep.noaa.gov/products/predictions/30day/
  • contributing.MD फ़ाइल तो दिखती है, लेकिन वास्तव में कैसे contribute किया जा सकता है, यह समझना मुश्किल है। एक potential contributor के रूप में यह जानना अच्छा होगा कि योगदान देने का सबसे अच्छा तरीका क्या है

    • perspective का मतलब “दृष्टिकोण” होता है, और यहाँ prospective, यानी “संभावित”, सही शब्द है
      मैं नुक़्ता-चीनी नहीं कर रहा, बस उम्मीद है कि यह मददगार होगा
  • मैं उन लोगों के लिए API पर और बात की उम्मीद कर रहा था जो खुद custom experiences बनाते हैं। NOAA raw data देने में अच्छा है, लेकिन government services का consumption और use अक्सर कहीं ज़्यादा specific होता है
    मैं यहाँ emergency response tools बना रहा हूँ। generative AI-first, continuous monitoring → alerts, chatbots, custom situation reports जैसी चीज़ें। रुचि हो तो मुझसे संपर्क कर सकते हैं
    कई agencies, utilities वगैरह को specialized variants की ज़रूरत पड़ती है, इसलिए यह और स्पष्ट होता है कि weather.gov अंदरूनी तौर पर data और UI के जिस last-mile problem को हल कर रहा होगा, वह दूसरी agencies के लिए भी उपयोगी हो सकता है
    जहाँ तक मुझे पता है, Weather.gov को NOAA के अंतर्गत NWS चलाता है, इसलिए इस मिशन revamp में उसका ज़िक्र न होना दिलचस्प है

  • थोड़ा संबंधित है, लेकिन व्यक्तिगत रूप से weather.gov पर मेरे लिए सबसे उपयोगी single URL यह है। बस latitude/longitude बदलना होता है
    https://forecast.weather.gov/MapClick.php?FcstType=graphical...
    काश इसी layout में पुराना डेटा भी देख पाना संभव होता