By Robert Ellison. Updated on Wednesday, February 22, 2017.
Catfood Weather is a free taskbar based weather forecast app for Windows that includes a seven day forecast and severe weather alerts. It uses National Weather Service data and works for any US location (by ZIP code or latitude and longitude).
This update fixes a problem calling the National Weather Service API, so please install 2.30 if you're using a previous version of Catfood Weather. To get alerts for new releases follow the RSS Feed or sign up to the ITHCWY Newsletter.
(Published to the Fediverse as:
Catfood Weather 2.30 #code#weather Free taskbar based weather forecasts for Windows. Hover for current conditions, click for a seven day outlook and you get automatic severe weather alerts. US locations by ZIP or latitude/longitude only.)
Google just released an API for the mobile friendly test and so I've whipped up a script to send an alert if a web page violates their guidelines. This will run the test as often as you like and send you an email if it detects a problem. Alternatively if you're not mobile friendly it will keep emailing you until you fix any problems which might be a good motivational tool.
First start a new apps script project in drive and paste in the code below:
There are three variables you need to set, urlToMonitor is the full URL of the page to test, alertEmail is your email address (or whoever needs to be pestered) and runTestKey is the API key for the service. To get this go to the Google API Console, click Enable API, search for 'Google Search Console URL Testing Tools API' and click enable. Then click the Credentials option and generate a browser key.
Once you've configured the script choose 'Current project's triggers' from the Resources menu in apps script and set up a schedule for the mobileFriendlyMonitor() function.
(Published to the Fediverse as:
Get an email if your site stops being mobile friendly (no longer available) #code#mobile#appsscript#gas Use Google Apps Script and the Mobile Friendly Test API to constantly monitor your site for any violations.)
This is the first time I've been late with a solstice or equinox post. On the 21st of December at 10:44 UTC it was the start of Winter for the Northern hemisphere, Summer down south. Rendered in Catfood Earth (back dated to the right date and time... Windows, Android).
By default compression doesn't work in CloudFront for a website backed by an Amaxon S3 bucket.
The first step is pretty obvious - switch on compression in CloudFront:
To get to this setting open you distribution, go to the Behaviors tab and edit your behavior(s). Scroll down to the bottom and toggle Compress Objects Automatically to On. Save and drum your fingers while the distribution updates.
The less obvious piece is that CloudFront will only compress files between 1,000 and 10,000,000 bytes (as of writing this post) and it detects the filesize from the Content-Length header. What the documentation doesn't mention is that S3 does not send the Content-Length header by default and so no compression is applied.
Go to S3 and open the properties for your bucket (not for individual files). Expand Permissions and then click Edit CORS Configuration. You need to add Content-Length as an allowed header like this:
(Published to the Fediverse as:
Enable GZIP compression for Amazon S3 hosted website in CloudFront #code#software#s3#cloudfront#aws How to configure Amazon CloudFront to apply gzip compression for websites hosted using Amazon S3 (Simple Storage Service))
It's the start of Summer (or Winter in the Southern Hemisphere). Unusually for June it even feels like Summer in San Francisco today. Rendered in Catfood Earth (Windows, Android).
Catfood Earth 3.42 is a small update to the latest (2016d) timezone database and the latest timezone world and countries maps from Eric Muller. If you use the political borders, places or time zones layers in Catfood Earth then you'll want to install this version.
By Robert Ellison. Updated on Friday, September 30, 2022.
Here's a quick script to automatically monitor your Google PageSpeed Insights desktop and mobile scores for a web page, together with core web vitals (LCP, FID and CLS):
You need a spreadsheet with a tab called results and an API key for PageSpeed Insights (activate the API in the console and create an API key for it, the browser based / JavaScript option). Paste the code above into the script editor for the spreadsheet and add your API key and URL to monitor. Then just choose triggers from the Resources menu and schedule the monitor function to run once per day.
The script will log the overall PageSpeed score out of 100 for the monitored page. It also logs 75th percentile origin level core web vitals (largest contentful paint (LCP, seconds), first input delay (FID, seconds) and cumulative layout shift (CLS, percent)). If your origin does not have enough data the metric will be omitted. You can change from origin to page level web vitals if you have enough data, just change originLoadingExperience to loadingExperience in the script.
The results are repeated for desktop and mobile, so your spreadsheet header should be Desktop PSI, Desktop LCP, Desktop FID, Desktop CLS, Mobile PSI, Mobile LCP, Mobile FID, Mobile CLS.
There are a lot of other values returned (like number and types of resources on the page) that you could choose to monitor as well. It would also be easy to extend this to monitor more URLs, or to send you an email if the score drops below a threshold.
Updated May 5, 2019 to use version 5 of the PageSpeed API.
(Published to the Fediverse as:
Automate Google PageSpeed Insights and Core Web Vitals Logging with Apps Script #code#google#appsscript#gas#pagespeed How to automatically monitor page load performance using the Google PageSpeed Insights API and Apps Script)