Simon tip: watching the Yellowstone gate cam

Here’s a fun example of using Simon for a purpose that may not be entirely obvious.

My wife and I had a big trip to Yellowstone National Park coming up, so I was curious about what the traffic was like to get into the park.

Conveniently, Yellowstone has a number of webcams that watch the park, including the west entrance gate, where we’d be entering.

So I thought I could leverage Simon to help me watch it over time — rather than keeping the web page open and watching it throughout the day, I can have Simon capture the webcam images to a local folder, then review at my convenience.

To find the URL of the webcam image, I used Safari’s web inspector:

Inspector

Then I added a custom service to Simon to download the webcam images to a folder:

Simon service script

That uses the curl command line tool to download the image and save to a local folder; the `date -v+1H +%Y%m%d%H%M%S` part of the path outputs the date and time in the format YYMMDDHHMMSS, adding one hour from my local time zone, since Yellowstone was an hour ahead of me at the time.

To schedule the captures, I added a test in Simon that checks once per minute, using that service. No filters or notifiers needed.

That results in a folder in the Finder with files like this:

Finder

I can arrow through them to quickly view them. And I can also do other things, like use the excellent Retrobatch app to convert them to a GIF:

Retrobatch

Click to view an example of the resulting GIF, showing the traffic flow from 06:00 to 18:00 on one day (the GIF is 61 MB, despite being scaled, so might take a moment to load); each frame of the GIF represents one minute, six frames per second:

That seems typical; it gets really busy around 06:30, and eases off around 12:30 every day. So a tip for Yellowstone visitors; enter in the afternoon! Of course, that really only works if you’re staying in the park, since it takes ages to get anywhere in the park. It’s a big place.

If you’re curious, I did several posts about this Yellowstone trip on my Sinclair Trails blog. Check it out!

Secret screenshot tips

[Like other recent posts, this is an updated repost of an older post from the previous Dejal blog; here’s the original in the web archive for comparison.]

I take a lot of screenshots while documenting my apps, and for my personal Sinclair Trails blog. While I’ve used third-party tools in the past, Apple’s built-in screenshot tools work really well.

The simplest is the whole-screen screenshot hotkey. Pressing ⇧⌘3 (Shift-Command-3) will save a PNG image of the whole screen (or multiple pictures if you have multiple screens) to the Desktop. (You can change the hotkey via the System Settings ▸ Keyboard ▸ Keyboard Shortcuts ▸ Screenshots options.)

Perhaps slightly less well known is ⌃⇧⌘3 (Control-Shift-Command-3), which saves the screenshot onto the Clipboard. Very handy for pasting into emails and such.

The one I find most useful is ⇧⌘4, though. This displays crosshairs with a coordinate display, and when you click-and-drag out a selection, the coordinates change to the selection size. Very handy. This saves the selected area to a PNG file.

Similarly, ⌃⇧⌘4 saves a selected region to the Clipboard.

These selection screenshot options are even more flexible than that, though. After invoking them, but before dragging a selection, you can press the Spacebar to highlight the window under the crosshairs. Clicking will then take a shot of that window, including the border.

While dragging a selection, there are more options. You can hold the (Shift) key to constrain one axis — to keep the height the same while adjusting the width, or vice versa.

You can also hold the (Option) key to adjust the size around the center point, instead of from the point where you started dragging.

And you can hold the Spacebar in selection mode to reposition the whole selection, keeping the size the same. Very handy.

And you can cancel the screenshot simply by pressing Escape. This can be useful on occasions other than just changing your mind: you can use the screenshot tool as a ruler, measuring the number of pixels of an object by dragging out a selection and reading the size display from the crosshairs, then hit Escape to exit without taking a shot.

Finally, ⌃⇧⌘5 presents an interactive panel that lets you choose between capturing the whole screen, a window, or a selection, or even recording the contents of a window or selection to a video, plus options of where to save it, a delay timer, and more.

Very useful. If anyone knows of any other tricks with the screenshot tools, please let me know!

Simon script example: Show & Screenshot

One of the major strengths of Simon, my website and server monitoring tool, is the flexibility it offers through the ability to write custom scripts in many scripting languages. Simon is plenty useful with the built-in services, filters, and notifiers, but the ability for customers to enhance it themselves makes it even better.

There are several script-based services, filters, and notifiers built in to the app, and others can be downloaded from the Simon Extras page.

One such example is the Show & Screenshot notifier script (click that link to download it). To install it, go to the Notifiers page in Simon, add a new notifier, choose Script for the notifier kind, click the Open Script… button, and choose the downloaded script.

This script simply opens the page in the default web browser, waits a few seconds for the page to render, then takes a screenshot of it. By default it’ll wait 10 seconds, and save to the Desktop, but you can customize those values; enter the path of a folder to save them to (the folder must already exist). Also specify how long to wait before performing the screenshot, in seconds:

Browser screenshot

And of course to use the notifier, specify it in the Notifiers page of a test:

Use notifier

Note that when this notifier is first used, macOS will ask for permission to capture the screen; until you grant that, it’ll capture an empty desktop.

Check out the Simon Extras page for other scripts. And if you create a useful script for Simon, please share it with others!

Simon 5.1 released

I’m pleased to announce the general release of an update of my website and server monitoring app for macOS: Simon version 5.1.

It includes the ability to disable rendering a Web Page test, the addition of an automatic data backup, support for macOS Ventura, updated example tests, and several other improvements and fixes.

Please Note

  • Simon 5.1 requires a minimum of macOS 10.13 (High Sierra).

New Web Page test option to render the page in the Preview

  • Added a new option to the Other page when editing a Web Page test to control whether or not to render the page in the Preview.
  • By default it is on, preserving the usual behavior.
  • But if you turn it off for a test, the Preview pane only shows the HTML source and filter output, instead of the rendered page.
  • Reload the Preview to show or hide the rendered page after changing the option.
  • This option is independent of the “Capture rendered source” option; that will render the page in a separate process.
  • This is useful for performance, or if you want to minimize the risk of malicious JavaScript on the page, or other side effects.

Web Page render option

Added an automatic data backup

  • Once per hour Simon will make a copy of its data into a dated folder within a Backups folder in the data folder.
  • Added a slider on the Advanced settings page to control how many backups to keep; defaults to 10.
  • Set to zero to disable the automatic backups.
  • When the maximum has been reached, it’ll remove older ones, so that half of the backups are for the most recent hours, and half are for previous days.
  • If you need to restore your data, turn off syncing if it’s on, use the new File ▸ Reveal Data Folder menu command to show the data folder in the Finder, quit Simon, then copy the folders from one of the backup folders to replace the Filters, Notifiers, etc folders.
  • If in doubt, contact Dejal for assistance.

Backups

Support for Ventura

  • Updated for Ventura (macOS 13), but still compatible back to High Sierra (10.13).

Plus several other improvements

  • Updated the example tests.
  • Added a File ▸ Reveal Data Folder menu command, to show the Simon data folder in the Finder.
  • Added an option on the Advanced settings page to show the Debug menu, as an easier way to toggle it.
  • Fixed filters not completing if the {FilterStatusNumber} variable was used.
  • Fixed an issue with loading data that doesn’t have any reports.
  • Fixed an issue with the font in the script editor and elsewhere.
  • Fixed a localization issue, and updated the French localization.
  • Fixed a crash with the Preview.

Want to try it?

If you are using the Setapp edition, it will handle that update for you.

If you are using the direct edition, you can use the Check for Updates feature in the app to update.

Otherwise, download Simon 5.1 now!

Simon’s preview pane

As you know, Simon is a website and server monitoring tool. This mouthful is to try to describe two of the levels at which Simon operates. At the very basic level, Simon is a very simple utility to watch web pages, and let you know when they change or go down. But Simon has much more depth to it — it enables you to monitor all sorts of internet servers and services, local applications, disk volumes, and more.

The Preview pane has this duality, too. When used with a web-based test (i.e. one using the Web Page service), it displays the rendered web page and graphics on the left (which can be interacted with like in a web browser), and the HTML source, web page headers, and filter output on the right:

Web preview

This is really handy, both to quickly see the page while in Simon, without having to switch to a web browser (which is easy too, via the File ▸ Visit Site command), and when setting up the test in the first place.

The service and filter output are useful, too; you can see the HTML (or other) output, and the output of each filter.

The filters are one of Simon’s key features. This is a page of the test editor, where you can tell Simon to only look at the HTML source between two blocks of text, or find required text, or evaluate numbers, or reformat text, and much more. This enables you to focus on the part of the page you care about, and avoid dynamic portions like banner ads etc. You can easily set this up via the Preview window. With the test editor open, after entering the URL, show the Preview to display the preview of the page. Then search through the HTML source for interesting portions of the text (click in the HTML then press ⌘F to find text), select it, copy the relevant text, and paste into filter fields.

For example, here’s Apple’s RSS feed, with filters to extract and format the title and body text of the latest news:

RSS prevoew

As useful as this is, it’s not done yet. The Preview is also supported by many other services, in a slightly different way. For non-web services, the Preview looks much the same, but without the rendered content. Instead of the HTML source, it shows the output of the service. This is all plain text, since that’s what these services deal with.

For example, here’s the preview of a Ping test:

Ping preview

These services support the filters, too: just like with web pages, you can use filters to analyze the output and extract interesting nuggets.

I hope you’ll use the Preview to good advantage when configuring and using Simon.