{"id":1718,"date":"2014-05-24T00:08:53","date_gmt":"2014-05-24T05:08:53","guid":{"rendered":"http:\/\/thepizzy.net\/blog\/?p=1718"},"modified":"2014-05-24T00:08:53","modified_gmt":"2014-05-24T05:08:53","slug":"pizzylabs-stormspotter-activation-forecasts","status":"publish","type":"post","link":"https:\/\/thepizzy.net\/blog\/2014\/05\/pizzylabs-stormspotter-activation-forecasts\/","title":{"rendered":"PizzyLabs: StormSpotter Activation Forecasts"},"content":{"rendered":"<p>Three years ago, I started work on a PizzyLabs project for sending real-time weather bulletins over Twitter&#8217;s Direct Message feature for users based on their desired locations. That was the basis for the @NOAAalerts twitter account.<\/p>\n<p>Many things happened shortly after I got started with it; I figured out it wasn&#8217;t feasible to check every NOAA RSS feed every minute for instant updates, I didn&#8217;t have as much of an understanding of User Interface components as I thought I did, the functionality of\u00c2\u00a0the CRON jobs that would be required was very difficult to implement, and then my most dreaded personal issue: I solved all the problems in my head, and it took away all the fun of actually doing the work (aside from the unfeasible parts).<\/p>\n<figure id=\"attachment_1719\" aria-describedby=\"caption-attachment-1719\" style=\"width: 150px\" class=\"wp-caption alignright\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1719\" data-permalink=\"https:\/\/thepizzy.net\/blog\/2014\/05\/pizzylabs-stormspotter-activation-forecasts\/skywarn_650-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2014\/05\/skywarn_650.png?fit=650%2C650&amp;ssl=1\" data-orig-size=\"650,650\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"skywarn_650\" data-image-description=\"\" data-image-caption=\"&lt;p&gt;My re-imagined SKYWARN logo&lt;\/p&gt;\n\" data-large-file=\"https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2014\/05\/skywarn_650.png?fit=580%2C580&amp;ssl=1\" class=\"size-thumbnail wp-image-1719\" src=\"https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2014\/05\/skywarn_650-150x150.png?resize=150%2C150\" alt=\"My re-imagined SKYWARN logo\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2014\/05\/skywarn_650.png?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2014\/05\/skywarn_650.png?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2014\/05\/skywarn_650.png?resize=56%2C56&amp;ssl=1 56w, https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2014\/05\/skywarn_650.png?resize=50%2C50&amp;ssl=1 50w, https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2014\/05\/skywarn_650.png?w=650&amp;ssl=1 650w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><figcaption id=\"caption-attachment-1719\" class=\"wp-caption-text\">My re-imagined SKYWARN logo<\/figcaption><\/figure>\n<p>Here we are in 2014 though. I&#8217;ve had a job developing user interfaces for the past 3 years, and the things I create at work are celebrated by all the important people above my position, and our customers. I&#8217;ve also taken the SKYWARN StormSpotter training for 2 years running. And I had another idea that&#8217;s much more feasible:<\/p>\n<p>StormSpotter Activation Forecasts<\/p>\n<p>The one thing that bothers me the most about being a StormSpotter is the fact that I never actually know when the NWS will activate us. I have to manually check the Hazardous Weather Outlook for the day and see what the forecast is for activation.<\/p>\n<p>So why not write a script to do that for me? I looked all over the internet for an API to call so that I didn&#8217;t have to scrape their pages, but I couldn&#8217;t find anything. I did find a lot of other cool stuff though that I would like to integrate into other ideas.<\/p>\n<p>Well, it&#8217;s only been a week, but so far I&#8217;ve gotten a rudimentary UI in place, with Twitter Sign In, and NWS Office city\/state selection. I have a script that can read the HWO and parse it for counties affected and Spotter Activation Statements. And I have the Twitter Application code set up to send the appropriate DMs to users once their settings are chosen.<\/p>\n<p>Things were much easier this time around than last, and the one thing that has been the strangest is I haven&#8217;t given up on the project just because I understand how to do all the aspects of it. It&#8217;s definitely a challenge to get back into MYSQL after spending 3 years working with MongoDB, and it&#8217;s also a challenge to write my own PDO class for handling the queries and a template class for managing the UI (I haven&#8217;t done anything with Frameworks before, so that was off the table for now).<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1721\" data-permalink=\"https:\/\/thepizzy.net\/blog\/2014\/05\/pizzylabs-stormspotter-activation-forecasts\/octocat\/\" data-orig-file=\"https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2014\/05\/Octocat.jpg?fit=800%2C665&amp;ssl=1\" data-orig-size=\"800,665\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Octocat\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2014\/05\/Octocat.jpg?fit=580%2C482&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-1721\" src=\"https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2014\/05\/Octocat-150x124.jpg?resize=150%2C124\" alt=\"Octocat\" width=\"150\" height=\"124\" \/>I have made the <a href=\"https:\/\/github.com\/neotsn\/spotter_status\" target=\"_blank\">code open source<\/a> over on Github, since there really isn&#8217;t any reason not to&#8230;I&#8217;m still new to the Open Source code thing, so I&#8217;m probably using Github wrong, or not sourcing the right information. Leave a comment below, or over there if I&#8217;m missing something, and I&#8217;ll get it fixed.<\/p>\n<p>I&#8217;m not ready to announce the service yet, since the CRON jobs aren&#8217;t in place yet to send the forecasts. However, the work in progress is\u00c2\u00a0accessible from the PizzyLabs page if you&#8217;re interested in giving what *is* there a try. I&#8217;ll have a full write-up once it&#8217;s released.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A little update about a SKYWARN-related project I&#8217;ve been working on this week.<\/p>\n","protected":false},"author":1,"featured_media":1719,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[885,25,3,18,544],"tags":[214,207,229,152,954,121,209,918,919,169,144],"class_list":["post-1718","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-labs","category-programming","category-tech","category-thepizzy-net","category-twitter-projects","tag-code","tag-database","tag-mysql","tag-php","tag-programming","tag-server","tag-site","tag-skywarn","tag-stormspotter","tag-technology","tag-twitter"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2014\/05\/skywarn_650.png?fit=650%2C650&ssl=1","jetpack_likes_enabled":false,"jetpack_shortlink":"https:\/\/wp.me\/prOO4-rI","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/thepizzy.net\/blog\/wp-json\/wp\/v2\/posts\/1718","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thepizzy.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thepizzy.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thepizzy.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thepizzy.net\/blog\/wp-json\/wp\/v2\/comments?post=1718"}],"version-history":[{"count":3,"href":"https:\/\/thepizzy.net\/blog\/wp-json\/wp\/v2\/posts\/1718\/revisions"}],"predecessor-version":[{"id":1723,"href":"https:\/\/thepizzy.net\/blog\/wp-json\/wp\/v2\/posts\/1718\/revisions\/1723"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thepizzy.net\/blog\/wp-json\/wp\/v2\/media\/1719"}],"wp:attachment":[{"href":"https:\/\/thepizzy.net\/blog\/wp-json\/wp\/v2\/media?parent=1718"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thepizzy.net\/blog\/wp-json\/wp\/v2\/categories?post=1718"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thepizzy.net\/blog\/wp-json\/wp\/v2\/tags?post=1718"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}