Generated Calendar Files

You will find here a few useful generated ICal calendars, which I felt the need for. This is partly also an excuse to experiment with Ruby, which so far I have found very pleasant to use!

Bank Holidays

For some reason, no-one seemed to be maintaining calendars containing Bank Holidays, and nothing else, even though this was blatantly more useful than a vague "UK Holidays" calendar. Full details can be found in this blog post announcing them.

You can directly download and import the ICS files below, but it is better to copy the links and configure as a "remote calendar" or "subscribed internet calendar" in your calendar software of choice. I will try to keep these files online and up to date for "the foreseeable future".

The script behind these has now been expanded very slightly and is available on GitHub as generate-ical for your forking pleasure.

Bank Holidays in England and Wales
https://rwec.co.uk/x/ical/BankHolidays-EnglandWales.ics
Bank Holidays in Northern Ireland
https://rwec.co.uk/x/ical/BankHolidays-NorthernIreland.ics
Statutory Bank Holidays in Scotland (note that Scottish holiday arrangements appear to be more complicated)
https://rwec.co.uk/x/ical/BankHolidays-Scotland.ics
Ruby source
generate.rb

Intervals Tasks

A previous employer used an online project management tool called Intervals. Unfortunately, it didn't (at the time) provide a live ICal feed of tasks assigned to you. What it did provide is an incredibly easy to use RESTful API. So I dusted off my Ruby script, and came up with 60100 lines of source code, including spacing and comments.

To use it, you'll need your "authentication token", which can be found by going to Options -> My Account -> API Access when logged into Intervals. Then build your URL from the options below (note that there is no default output!), and add as a remote calendar in your calendar client:

https://rwec.co.uk/x/ical/intervals.rb
(base script URL)
?token=
Add your Intervals API token here
&tasks=open
Include a "todo" entry for each open task
&tasks=all
Include a "todo" entry for all tasks, including closed ones (which should show as "complete").
&due_events=all
Include all open tasks as all-day events on the day they're due
&due_events=smart
As above, but show overdue tasks as an all-day event today

Privacy Note: While I promise not to collect, re-distribute, or otherwise steal or abuse your authentication token, it will be in my Apache logs. So if you really don't trust me, you might want to grab the source and run your own copy somewhere.