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!

How can I change the order of filters in Simon?

The Simon app has pages for filters, notifiers, reports and auto pause times while editing a test. These can be reordered very easily, by dragging them to the desired order.

The order really only matters for filters, since subsequent filters can refer to the output of previous ones, though others might look better in a custom order.

Simply click and drag anywhere outside a control to move a filter etc to a new position.

Here’s a looping video example:

DejalNews #83: Time Out 2.9.2 and Simon 5.1.1 released

DejalNews header

Welcome

This is DejalNews, an occasional newsletter from Dejal.

Has it been that long?!

Apparently the previous DejalNews newsletter was sent way back in June 2021! It doesn’t seem that long ago.

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

Time Out 2.9.2

Time Out version 2.9.2 was recently released, with several fixes and improvements.

Since it’s been so long, I should also mention version 2.9, which includes several great enhancements, including a status message in the sidebar to indicate why a break was skipped etc, the ability to schedule and exclude breaks using calendar events, support for Monterey focus, an option to hide the Pause function, new break options to pause or reset an individual break, and much more.

Read the blog post for more information on Time Out 2.9.2, and if you missed it, the details of version 2.9.

Simon 5.1.1

My pro site monitoring app also had a recent update, to version 5.1.1. It includes some important fixes.

And again, if you missed reading about version 5.1, it included 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.

Read the Simon 5.1.1 blog post for the latest update, or the version 5.1 post if you missed that.

New Dejal blog

Late last year I created a new blog for Dejal, powered by WordPress. Unfortunately that meant that the older posts are no longer on the site, but they are all available in the Internet Archive, and I have been working on updating and re-publishing the most interesting posts with tips for Time Out and Simon, on a weekly basis. So check back regularly. Or if you use an RSS reader or Apple News, you can subscribe to the blog to never miss a post.

Sinclair Trails

Back in June 2021 when the previous newsletter was published, my wife and I were living on a 5-acre homestead with ducks, chickens, feral cats, bees, etc. But just a few months later we decided to sell the homestead and most of our possessions, buy a 40-foot luxury Tiffin motorhome, and start traveling the country full-time.

If that sounds interesting, you can follow our adventures on my other blog, Sinclair Trails, where I post every weekday about a related topic, including additions and modifications to our coach, photos of our travels, timelapse videos of driving between locations on YouTube, reviews of RV parks, and photos of National Parks and other interesting places we visit.

(And if you’re only interested in the apps, that’s fine too.)

Reddit

If you use Reddit, you may like to join the r/Dejal subreddit, as a community for Dejal customers, and another support channel.

I hope you found this newsletter interesting. Let me know in the Dejal subreddit. I will try to publish another one sooner than a year or so from now!

– David

Simon 5.1.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.1.

This update includes just a few — but important — fixes:

  • If not signed in to iCloud, Simon now doesn’t offer syncing, with a message explaining that, instead of assuming it’s available and sometimes crashing.
  • Fixed a crash when dragging to reorder filters, notifiers, and reports in the test editor.
  • When loading the default data when first using the app, the services, filters, and notifiers are now organized into groups (this was previously only done when updating the data).

 

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.1 now!

 

Simon tip: check notifiers

I’ve had a couple of queries about checking if a notifier is working, so that seemed like a good blog topic.

Simon is a powerful app. One of its many features is the ability to create custom notifiers, the mechanism for informing you of changes or failures on the tests. Naturally, when you configure a new notifier, or edit an existing one, you want to make sure that it is set up correctly.

This can be done very easily. When showing the Notifiers list, you can simply select the notifier you want to check (as you probably already have if you’re editing one), and click the Reload button in the toolbar, or choose the File ▸ Notify Now menu command.

The selected notifier will then be used, just like when used with a test, except that placeholder values will be used for any variables (since there isn’t a test in this case).

For example, here’s a Notification Center notification, showing placeholder values:

Notification