Simon 5.2b1 released

Surprise! It’s been three years since the previous update of Simon, my pro-level website and server monitoring tool, but here’s the first beta release of version 5.2.

This update includes support for macOS Tahoe, including making all components universal, so they work on Apple silicon and Intel-based Macs. Plus improvements to the Web Page service, the tests list, the Preview pane, and several services, filters, and notifiers, amongst other changes. 

This is a beta release, but should be safe for anyone to install. If mission-critical, you might want to hold off for now, though, or install on another Mac. I would appreciate help in testing this update. Please let me know if you find any issues, or have any feature requests.

Read on for details.

Support for Tahoe

  • Updated the app to work better with macOS Tahoe (26.x).
  • Now requires macOS Monterey (12.4) or later.
  • All components are now universal, so work on Apple silicon and Intel-based Macs; a requirement for macOS 27.

Improved Web Page Service

  • The Web Page service now handles errors better when using the option to capture the rendered source.
  • Instead of resulting in a failure if the initial fetch gives an error, it waits for the rendered page to finish, and determines the result and HTML from that.
  • If the loaded HTML has an error, it tries to do a clean load, ignoring the provided headers, to match the preview shown.

Tests list refinements

  • Simplified the time ranges in the tests list when using relative times; instead of showing “10 min, 18 sec ago (3 secs)” for the last check time (and duration), it now just shows “checked 10 min (3 secs)”; the extra units didn’t add much value, and including “checked” makes it more clear what this value is.
  • Similarly the time of the last change is now displayed as “changed 2 hr ago”.
  • If a test doesn’t have any filters, it instead shows “changes not filtered”.
  • When a test is currently failing, it now omits the empty recovery time, so just shows the failure time like “failed 7 min ago”.
  • When a test has recovered, it now shows the duration in addition to the failure and recovery times, e.g. “failed 45 min to 6 min ago (39 mins)”.
  • Since Simon has been around for 14 years, fixed logic that assumed dates over 10 years were not sensible.

Preview improvements

  • Fixed remembering and restoring the Preview pane position when switching between tests with a web preview (like Web Page ones) and just a transcript (like Ping).
  • Fixed Check Now not checking all or multiple selected tests when the Preview pane is visible.
  • Changed the Preview message for the Notifiers list to clarify to use File ▸ Notify Now or the reload toolbar button to try a notifier.

Updated variables

  • Renamed {TestFailureCount} as {TestErrorCount}: the current failure/error streak.
  • Renamed {TestRecoveryCount} as {TestRecoveredCount}: the current recovery count.
  • Added {TestCheckCount}: the total number of times the test has been checked.
  • Added {TestSuccessCount}: the total number of successful checks.
  • Added {TestFailureCount}: the total number of failed checks.
  • Added {TestRecoveryCount}: the total number of recoveries from a failure.

Other changes

  • Fixed the Application service when checking if an app is running; it was previously timing out.
  • Improved the Application service output to sort the values alphabetically, so checking multiple times won’t trigger a spurious change.
  • Fixed the Get Average Ping Response Time filter; it was giving an error before.
  • Fixed the test editor summary sometimes listing the “Block” filter as “BlockBlock”.
  • Fixed the Setup Assistant showing the page to import web bookmarks on first run.
  • Fixed notifiers sometimes not firing when syncing is off, especially ones from versions prior to 5.0.
  • Updated the default Dejal Reddit test to work based on recent Reddit changes (the filters needed adjusting).

Want to try it?

If you are using the direct edition, you can change your Updates settings to include beta releases, then use the Check for Updates feature in the app to update.

Otherwise, download the beta now!

DejalNews #90: Time Out 3.0 now available

DejalNews header

Welcome

This is DejalNews, an occasional newsletter from Dejal.

Want to get this newsletter in your inbox? Sign up on the Dejal site.

It’s been a while since the last DejalNews newsletter (over a year!), so I expect I’ll get several unsubscribes from people who forgot they signed up, or are no longer interested, or were added by spammers (I just spent an hour clearing out about a thousand obvious junk emails). I really should publish these a little more often. Lots of updates coming this year, so I probably will.

Time Out 3.0 released

The big news is that Time Out version 3.0 is now available! This major update to my popular break reminder app for Mac includes several huge improvements:

  • Time Out now requires a minimum of macOS Tahoe (26.0), and has been updated to support Liquid Glass, modern icons, and other recent technologies.
  • New theme editor, making it easier than ever to add custom themes.
  • New YouTube, Images, and Text theme types, joining the existing Local HTML and remote Website types.
  • Exclusions are now Rules, and more powerful, including enhancements to app rules, new fullscreen rule, customizable script-based rules including detecting when in a meeting, and more.
  • Added a Duplicate Break command.
  • Enhanced the postpone/skip control limits option to per break, hour, or day.
  • Improved data format, to support syncing in a future update.
  • Plus many other changes.

Read the blog post for full details.

New and updated themes for Time Out

Prior to the Time Out 3.0 release, I had updated several break themes, including updating and adding several YouTube-based themes, and adding a checklist theme. These are bundled with Time Out 3.0, so no need to download them manually if you update to that version… but if you have to remain on version 2.9.7 due to using an older OS version, you can download those themes from the Time Out Extras page.

Simon tip: How can I look for changes in a large binary file on a site?

I previously published a Simon tip, based on a customer query. They wanted to detect when a large binary file like an app changes on a website. While Simon could download the file, I came up with a better solution.

Check out this blog post for the details.

Time Out tip: The Calm theme can’t log in; how can I still use Calm?

For people who use the Calm.com website, they made a change that makes it harder to use during a Time Out break. But I came up with a way around that.

Check out this blog post for the details.

Follow Dejal on Mastodon, Bluesky, Threads, Micro.blog, Facebook, Reddit, and more

Do you use one of the popular social media platforms? Dejal is probably there!

See this blog post for links to Dejal’s account on those platforms and more.

– David

How can I look for changes in a large binary file on a site?

If you want to use Simon to detect when a large binary file like an app changes, one option would be to use a Web Page test with the download URL. But that would end up storing the entire download in the test, slowing it down and possibly causing loading or saving failures, as that large amount of data is encoded in JSON.

A better option is to just get a checksum of the file. That would only need to store a small amount of data, and would still result in a change when combined with a filter like Any Change.

Here’s a custom script-based service to assist with this; you can download it from the Simon Extras page:

Checksum script

Here’s a direct download of the script.

As always, you can add this a a new service in Simon via these easy steps:

  1. Download and decompress the downloaded archive, if your browser didn’t do it for you.
  2. Go to the Services list in Simon.
  3. Click the New toolbar button (or via the File menu).
  4. On the Name page, give the new service a suitable name, like “Checksum”.
  5. Choose the Service Kind button to show the service page.
  6. Choose the Script service kind, if not selected by default.
  7. Click the Open Script… button and choose the script file.
  8. Click Done to finish editing the new service.

You can then add a new test and choose this new service, entering a URL to check, and using the default Any Changes filter.

Enjoy!

Dejal year in review: 2024

As we wind down the year, let’s review what happened with the Dejal apps in 2024:

Time Out icon Time Out

My popular break reminder tool, Time Out, had four bug-fix updates in 2024, to version 2.9.7. Plus work is underway on a big 3.0 update; more on that in the next blog post.

Simon icon Simon

My pro app to monitor websites and servers for changes and failures, Simon, didn’t need any updates in 2024.

Weather Events icon Weather Events

I introduced a major new app in 2024 called Weather Events, available for Mac, Vision, iPad, and iPhone, as a subscription. It saves a record of the weather conditions to your calendar, so you’ll be able to look back at previous weeks, months, and years, and see what the weather was like back then, with support for different locations for each day if desired. Great for someone who travels a lot, like me, or if you just want to keep a long-term record of the weather. Read the introduction in DejalNews #87, and the 1.1 update post for more information.

Preminder icon Preminder

I also introduced another new app in 2024, called Preminder, available for iPhone, as a free app. A much smaller app, but still useful. It helps with a common issue, where you want to be reminded some number of days, weeks, months, or years before a certain date. It does the date calculation for you. My wife and I use it to get reminders of when a booking window opens up for a campground (e.g. 90 days before our desired arrival), but you could use it to remind you to buy concert or game tickets, buy birthday presents, prepare for some event, or so much more. Read the introductory blog post for more information.

Pack icon Pack

Pack, a simple iPhone app to make it easy to pack for trips, didn’t have any updates in 2024. Now that I take my home with me when I travel, I rarely need to pack suitcases anymore, so I’m unlikely to update it again. It remains a product in my lineup.

Date Stamp icon Date Stamp

Date Stamp, an iMessage app to provide customizable date stamp stickers, also didn’t have any changes. Since few people seem to use iMessage stickers anymore, I’m unlikely to update this either, but will continue to offer it for as long as it keeps working.

Date Stamp icon Another New App

Yes, I introduced two new apps, but I also have another new app in the works. More about this in the next blog post.

Consulting

Dejal also develops macOS and iOS apps for other companies, under the banner of Dejal Consulting.

SheetPlanner icon SheetPlanner

SheetPlanner is a pro-level outliner, planner, todo, calendar, and more. I spent 2024 working on an iPad edition of the app, plus enhancements to the existing Mac app. Version 5.0 is nearing completion, and I’m really proud of the iPad app; I can’t wait for it to be released.

NewsBlur icon NewsBlur

I have also continued to work on the iOS client for NewsBlur, a popular RSS reader; in 2024 it added a native Mac app, which was a huge addition, plus lots of other enhancements and fixes.

So how’d 2024 go?

It was a relatively quiet year for updates of existing Dejal apps, but saw the addition of two brand-new apps, and work on a major Time Out update. Plus lots of work on my consulting projects.

Thank you

Thank you and welcome to my new customers, and many thanks to the long-term customers who are still enjoying my apps, and of course my consulting clients. I really appreciate your support.

DejalNews #85: Time Out and Simon in BundleHunt, Time Out is 20, Mac is 40, and Time Out tips

DejalNews header

Welcome

This is DejalNews, an occasional newsletter from Dejal.

Want to get this newsletter in your inbox? Sign up on the Dejal site.

Time Out and Simon in BundleHunt

It’s been years since I participated in an app bundle, so I thought it was time. Both Time Out and Simon are included in the BundleHunt New Year Bundle, a collection of significantly discounted Mac apps, available now for a limited time:

BundleHunt

Even if you already have Time Out and/or Simon, you can include them in the bundle to renew your support of Time Out, or upgrade to the latest version of Simon. Tell your friends!

Time Out is 20 years old

I recently marked a major milestone for Time Out, my popular break reminder tool: it turned two decades old last year.

I celebrated the occasion with a bunch of pictures of the old app icon, the old website, and app screenshots. Check out that blog post to relive or discover the ancient history of this app. It has changed quite a lot over the years, and yet the core functionality is still very recognizable.

Dejal year in review: 2023

Every year I publish a blog post reviewing the app updates over the past year, how things went, and what to look forward to in the coming year. Check out the year in review post for 2023.

I’m excited for my new app that is nearing completion. Look out for an announcement of a TestFlight soon, probably in the next newsletter — if you’re not already, subscribe to be amongst the first to try this new app! It will be available for macOS, iOS, iPadOS, and visionOS.

Time Out tips

If you missed them, I published four blog posts with tips and tidbits for Time Out:

Happy 40th Anniversary, Mac!

Finally, I also published a retrospective of the first Mac I used (the original 128K Mac), the first Mac I owned (the Mac Plus), and other early Macs, to celebrate the 40th anniversary of the introduction of the Mac.

– David

Dejal year in review: 2023

As we start a new year, let’s review what happened with the Dejal apps in 2023:

Time Out icon Time Out

My popular break reminder tool, Time Out, only had a bug-fix update in 2023, to version 2.9.2. But a lot of thought was put into the big 3.0 update, including planning to add syncing of break settings, adding an iOS app, and offering an auto-renewing subscription option; see issue #84 the DejalNews newsletter for details. The app also hit a major milestone, turning 20 years old in 2023.

Simon icon Simon

My pro app to monitor websites and servers for changes and failures, Simon, also had a bug-fix update, to version 5.1.1.

Pack icon Pack

Pack, a simple iPhone app to make it easy to pack for trips, didn’t have any updates in 2023. Now that I take my home with me when I travel, I rarely need to pack suitcases anymore, so I’m unlikely to update it again. It remains a product in my lineup.

Date Stamp icon Date Stamp

Date Stamp, an iMessage app to provide customizable date stamp stickers, also didn’t have any changes. Since few people seem to use iMessage stickers anymore, I’m unlikely to update this either, but will continue to offer it for as long as it keeps working.

Date Stamp icon New Apps

I also have another couple of new apps in various stages of development. More about those below.

Consulting

Dejal also develops macOS and iOS apps for other companies, under the banner of Dejal Consulting.

SheetPlanner icon SheetPlanner

SheetPlanner is a pro-level outliner, planner, todo, calendar, and more. I spent 2023 working on an iPad edition of the app, plus work on a new kanban board view in version 4.0. The Board view update was released in 2023, and the iPad app is progressing well, and should be available in early 2024.

NewsBlur icon NewsBlur

I have also continued to work on the iOS client for NewsBlur, a popular RSS reader. It recently had a big update that added a handy grid view.

I am currently fully booked up for the next several months at least, but am always interested in talking with potential new clients. If you have a macOS or iOS project you’d like help with (or a custom Simon enhancement), check out my consulting page for more information.

So how’d 2023 go?

It was a relatively quiet year for updates of Time Out and Simon, with a bunch of behind-the-scenes work, but not many releases. It feels like the majority of my time was spent on my consulting projects, but I also spent a lot of Dejal time on developing a new app.

What’s next for 2024?

What’s in store for 2024? As mentioned, I’m working on a new app; when not working on my consulting projects, I am concentrating on this new app. It is almost ready for release; I could have released it already, but decided to wait till the new year. Make sure you subscribe to the DejalNews newsletter to get notified when it is available for a TestFlight or general release.

I also will do a Time Out 2.9.3 update early in 2024, to address a few issues that have been bothering some people.

After that, I’ll get back to work on Time Out 3.0. I’m also keen work on the other new app I have in the works, but I want to get Time Out 3.0 out first.

On the personal side, my wife and I will continue to explore the country in our motorhome, and blog about it at Sinclair Trails, and post travel timelapses on the YouTube channel (please subscribe!). I hope you’ll follow along there.

Thank you

Thank you and welcome to my new customers, and many thanks to the long-term customers who are still enjoying my apps, and of course my consulting clients. I really appreciate your support.

Simon Context filter

The Context filter in Simon is a sophisticated filter that takes the previous filter’s input and match range to output some context around that filter’s output text.

It includes controls to specify the maximum number of characters before and/or after the matched range, and/or a delimiter before and/or after the matched range. So for example you can show up to 50 characters, stopping at a line break.

This filter is unusual in that it requires a previous filter to be used, and that needs to be either a Block– or Find-based filter, as those are the only ones that output the needed match range information.

The Context filter uses the Input specified in the test to determine which filter’s input and match variables to use: if you have two previous filters, you can make the Context filter look at the first one by choosing Filter1OutputText instead of the default FilterOutputText (which means the proceeding filter).

The match range is available in variables used by the Context filter, and can be used in your custom filters or notifiers if you wish:

  • {FilterMatchLocation}: the position of the match in the input text, e.g. the text between the Blocks, or the Find result. Note that the location is zero-based.
  • {FilterMatchLength}: The length of that match.
  • {FilterMatchEnd}: The location plus the length, for convenience.

You don’t need to worry about these variables for the Context filter, though; it uses them internally.

Here’s a simple example of this filter in action.

This is from a Web test that looks at the Daring Fireball site. It has a Find Required filter to look for the word “finally”, then if that succeeds a Context filter to output the enclosing paragraph. To round it out, if the Find filter fails, the Override as Unchanged failure case is used, to avoid the test resulting in a failure if Gruber hasn’t used the word “finally” recently.

Below the filters, you can see the Preview pane’s output, which you’ll notice includes the word “finally” towards the end.

Context filter

I hope this will be a useful filter for many of your tests. Simon is a powerful tool, with lots of other handy filters, services, and notifiers.

How can I use Simon to check for an expired website SSL certificate?

I received a customer query asking how to use Simon to check for an expired website SSL certificate.

Of course, Simon is very flexible, so even if there isn’t a built-in service for this specific case, if you can do it in the Terminal, you can probably create a custom script-based service in Simon to do it, too.

There are a number of ways to get certificate information, but this is one simple approach (if you know of a better way, let me know!).

I created a new script-based service, using the basic C shell, a one-line command, and a custom variable for the host name:

Website Certificate service screenshot

I then created a new test using this service. When accessing a server with an expired certificate, the output includes a “verify return code” message of “certificate has expired“, so I used a Block filter to look at just that text (I pasted “Verify return code: ” in the Start text, and an Option-Return in the End text), then a Find Required filter to make the test result in a failure if it doesn’t find “ok“, and finally an Override Custom filter if a failure, to output the error message:

Website Certificate test screenshot

For the success case, the last filter doesn’t apply, so it just outputs the “ok”:

Website Certificate test screenshot

Want to use this service? You can easily add it yourself, or import it by downloading from the Simon Extras page.

I hope you found the techniques in this post helpful.

Simon extras

Dejal Simon is a powerful and flexible website & server monitoring tool. One of the reasons it is so flexible is that in addition to the many built-in services, filters, notifiers & reports, you can extend it by using or writing custom scripts (or port sessions).

Simon comes bundled with many examples of such scripts; check out the Services, Filters & Notifiers lists and look for the items with a “Script” subtitle. You can inspect and edit those to customize them to suit your needs, or use them as inspiration for your own.

As an additional resource, the Simon site has an Extras page, which lists several more scripts that customers have contributed over the years. Some of which have later been bundled with the app, but some are only available there.

If you create or modify a script that others might find useful, please share it! Send me an email with the script attached, along with a description, and I’ll be happy to add it to the Simon Extras page.

The Simon Extras page is organized by feature kind: Service Scripts, Filter Scripts, Notifier Scripts, Report Templates, and Other Goodies (including a way to add multiple tests, an extended siren sound, and a script to monitor a FTP site). There’s also info for developers on writing custom plugins.

Installing scripts is easy:

  1. Decompress the downloaded archive, if you browser didn’t do it for you;
  2. Launch Simon if not already running;
  3. Go to the Services or Notifiers list, as appropriate;
  4. Click the New toolbar button (or via the File menu);
  5. Choose the Service Kind (or Notifier Kind) button to show the service (or notifier) page.
  6. Choose the Script service/notifier kind, if not selected by default.
  7. Click the Open Script… button and choose the script file.

The script is copied into Simon, so there’s no need to keep the downloaded file around after loading it.

Where can I find more sounds for Time Out or Simon?

Time Out comes with a number of built-in sounds that you can play as part of the Break Actions, plus it lists all sounds you have installed on your Mac, which includes system default ones, and any you have added to the standard sound folders.

It’s worth noting that you can also have Time Out play any music from your Apple Music library, too.

Find more sounds

To add more sounds, you first need to find and download them from a website.

There are many sites that offer sounds of varying length, quality, themes, etc. Some for free, some as paid offerings. Usually with previews so you can listen before downloading.

Here are a few I’ve found; note that I don’t endorse or recommend any particular site; these are just ones I encountered in a brief search. If you’re aware of or find a better site, please post in the Reddit community to share with others.

Add the sounds

Once you have the new sounds, you can easily add them in one of the standard folders to make them available to all apps that can play sounds, or add them to the “Sounds” folder within the Time Out data folder to only make them available in Time Out.

The system sound folders you can add to are in the following paths (tip: you can paste these paths into the Finder’s Go ▶ Go to Folder… command to reveal them; if the folders don’t exist, you can create them):

  • /Library/Sounds — for sounds available to all users of your Mac.
  • ~/Library/Sounds — where “~” means your home folder.

(There is a third folder, at /System/Library/Sounds, but you shouldn’t modify that.)

On the other hand, Time Out’s sounds folder is at one of the following paths, depending on which edition of the app you have:

  • ~/Library/Group Containers/6Z7QW53WB6.com.dejal.timeout/Sounds — for the direct edition.
  • ~/Library/Group Containers/6Z7QW53WB6.com.dejal.timeout.free/Sounds — for the Mac App Store edition.
  • ~/Library/Group Containers/6Z7QW53WB6.com.dejal.timeout-setapp/Sounds — for the Setapp edition.

While you can use the Finder’s Go to Folder… command to access those, an easier way is to choose Reveal Scripts from the Add Action drop-down menu. That will show the Scripts folder, which is adjacent to the Sounds folder. (I do want to make this even easier in a future update.)

Simon is much the same, except will just look in the standard folders.

I hope this has been helpful!