Preparing the electronic version of the SEC Calendar and Lectionary

SEC calendar in Excel
SEC calendar readings being compiled in Microsoft Excel 2010

Update

Calendar and Lectionary 2010-2011 now available to download.

Original post

The Calendar and Lectionary of the Scottish Episcopal Church is a document that offers two things:

  1. A list of all saints days throughout the year.
  2. Readings for Sundays, weekdays, festivals (saints’ days) and special occasions (both Eucharists and daily prayer).

Each year the Church produces a guide to the calendar and lectionary which keeps mortals like you and me correct.  The Sunday readings are on a 3 year cycle (next year is Year A), while the daily prayer readings and daily Eucharists are on a 2 year cycle (next year is Year 1).

Once you add in saints’ days, and start translating saints days to adjacent days because they clash with feast days of a higher order, it all begins to get a bit complicated.

Outlook

Since 2005 I’ve provided these dates and readings (in various degrees of completeness) in a digital format that allows users to import them directly into Microsoft Outlook.  Outlook requires a simple Comma Separated Values (CSV) file which can be prepared in Microsoft Excel (other spreadsheet applications are available) with the appropriate information in them:

  • Subject (The name of the day)
  • Start and end date
  • Start and end time
  • Whether it’s an all day event or not
  • Description (Readings)
  • Priority
  • Sensitivity
  • Show time as

For the last few weeks I’ve been preparing the files, sitting for hours in front of my computer typing in line after line of readings.

Getting prepared

Most years I do it in a bit of a last-minute panic and end up creating a bespoke file specifically for that year, but this year I wanted to be organised and produce something that can be used year after year.

So this year I’m creating a master Excel file that contains all the readings for each combination of three year and two year cycles:

  • A1 and A2
  • B1 and B2
  • C1 and C2

plus a comprehensive master list of saints’ days, which should in future enable me to compile the files in just a few days rather than 4-8 weeks as it does at the moment.

Progress

I’ve just finished entering all the readings for the entire church year—from the first Sunday of Advent to the Week of Proper 34 (Christ the King)—and tomorrow morning will start on the readings for festivals, common saints’ days and special occasions.

Then I’ll be ready to compile everything for this year.  For once I may even be done by the start of the church year (which is this coming Sunday, the first Sunday of Advent).

Updating Outlook Appointments gadget for Outlook 2010

Outlook appointments gadget for Windows 7
Outlook appointments gadget for Windows 7

One of my favourite Windows 7 gadgets is the Outlook Appointments gadget. As gadgets go it’s pretty simple: it shows me  upcoming appointments. From Outlook.

But oddly, only when Outlook is open.

Anyhow, when I upgraded Microsoft Office from 2007 to 2010 a couple of weeks ago I discovered that it no longer worked … it just complained that it didn’t have the correct version of Outlook installed.

The hack

But there is a simple hack:

  1. Make sure that you can view hidden and system files (Control Panel > Folder Options > under View tab select “Show hidden files, folders, or drives”).
  2. Close the Outlook upcoming appointments gadget.
  3. In Windows Explorer navigate to C:\Users\YOURNAME\AppData\Local\Microsoft\Windows Sidebar\Gadgets\OutlookAppointmentsGadget.gadget\en-US\js\” where YOURNAME is the name of your user account.
  4. Open the file “outlook.vbs” with Notepad (or other text editor; personally I wouldn’t use WordPad).
  5. On lines 22 and 42 change the two occurrences of the number “12” to “14”.
  6. Save the file.
  7. Open the Outlook  Appointments gadget again.

Outlook Tasks gadget

The same hack also works for the “Outlook Tasks” gadget.

Update

It looks like someone has released pre-hacked versions of Appointments and Tasks called iOutlook which work with Outlook 2010.  The iOutlook Appointments one now offers 3, 5 or 10 appointments.

Moving to Microsoft Exchange 2007

Computers and devices connected to a server
You say single point-of-failure, I say synchronized data!

Back in July 2009 I upgraded my mobile phone from an O2 Xda Orbit to an O2 Xda Zest. All was well until I tried to synchronize it with two copies of Microsoft Outlook, one at home, the other at work.

It didn’t work.

Windows Mobile 6.1 won’t sync

A quick Web search showed me that I wasn’t alone. It turns out that there was a bug in that version of Windows Mobile 6.1 on my phone. Microsoft had fixed it and rolled out the update to OEMs but it appears that O2 wasn’t going to let it roll any further.

Diagram of Windows Mobile phone synchronizing with 2 PCs
My Windows Mobile 6.1 phone would only synchronize with one PC

So I was stuck with a phone that would synchronize with only one PC. Which was somewhat bothersome as I was rather used to the convenience of my calendar, contacts, tasks and notes being available both at work and at home, as well as on the go on my mobile phone.

I needed to find another solution.

XTND Connect

The first thing I looked for was an alternative to Microsoft ActiveSync (I was using Windows XP at the time) and I discovered XTND Connect.

I wondered if the problem could be bypassed by using an alternative to ActiveSync.

It couldn’t.

That didn’t work either, which made it quite an expensive mistake. The demo version looked promising but was so highly crippled in terms of functionality that I had to buy the full version in order to fully evaluate it. Which rather defeats the purpose of a demo version, in my view.

Sync2

So I looked around at alternative solutions and it appeared to me that there were only two options left:

  1. Synchronize with an online application (e.g. Google Calendar)
  2. Synchronize to a server (e.g. Microsoft Exchange)
  3. Synchronize to a local folder (e.g. USB flash drive)

I explored the Google Calendar and Google Contacts option but (and for me, it’s a deal-breaker, which is one reason I’ve not gone rushing out to buy an Apple iPhone) one the elements of Outlook that I use perhaps more than any other is Tasks. And I couldn’t sync my tasks with Google Calendar.

I assumed that Exchange would be out of my price bracket so focussed on the second option which led me to Sync2 from 4Team.

Not only does Sync2 synchronize your Outlook calendar, contacts, tasks and notes with a folder of your choosing (USB flash drive, local folder, LAN folder, etc.) it will also synchronize with Google Calendar and Contacts.

I discovered that if I synchronized it with a folder in Dropbox at home I could then synchronize it again from the same folder on my PC at work, without having to worry about remembering to pack my USB flash drive.

Three computers using Sync2 synchronizing with a Dropbox folder
Using Sync2 to synchronize using a Dropbox folder

That has been the solution I have been using for the last six months to synchronize my data between home, work and my laptop.

Occasionally I ran into problems with data not synchronizing properly and so had to either

  • Resynchronize a profile (i.e. make it think it was doing it for the first time again.
  • Delete a profile and recreate it from scratch.
  • Reinstall Sync2 completely.

But most of the time it worked pretty well.

Except that it still didn’t address the issue of my mobile phone being out-of-sync for most of the day, between synchronizations at home.

Hosted Microsoft Exchange 2007

So in January I went in search of an affordable, UK-based hosted Microsoft Exchange account.

After some shopping around I eventually selected Simply Mail Solutions (SMS) based in Warrington. What attracted me about their hosted Exchange 2007 account features were (in order):

  • Only £4.99 per month
  • Full support for Windows Mobile including push
  • Full Outlook Web Access (OWA) in Internet Explorer
  • Out of office assistant
  • Free copy of Outlook 2003 or Outlook 2007

With each device connecting directly to the Exchange server I can guarantee that my data is always up-to-date (server outages withstanding).

Various devices connecting to an Exchange Server
Two PCs, a laptop, a mobile phone and Outlook all connecting to the Exchange Server

Another welcome benefit is that I won’t have the problems of duplicated entries that I’ve experienced so many times when synchronizing multiple devices. Here’s a screenshot I took of Outlook and posted to Twitpic last month showing a repeated entry for “Doug Aitken’s Birthday” duplicated 13 times!

Calendar entry (Doug Aitken's Birthday) duplicated 13 times
Calendar entry (Doug Aitken\’s Birthday) duplicated 13 times

I can even resynchronize my mobile phone when I’m out and about using my roaming Web add-on from O2.

Conclusion

So far I’m really pleased with Exchange and with the service offered by Simply Mail Solutions (SMS).

I’ve noticed only one outage from Simply Mail Solutions which lasted only a couple of minutes when connection to the server went down, and one period of particularly slow connectivity … but then it was 01:00 in the morning, they were doing some maintenance on the servers (I discovered via a quick support call) and I should have been in my bed!

There is a balance to be made when using a hosted service like this for such important personal data between:

  1. the reassurance that I have one ‘golden copy’ of data, stored centrally that is accessed by all my devices, and
  2. the potential for it to be a single point of failure: if it goes down completely I can’t synchronize between locations and my data isn’t up-to-date.

But given my previous experience of hours and hours wasted by repeatedly cleaning up corrupted or deleted data through failed synchronizations, and living with the uncertainty that perhaps my work calendar isn’t exactly the same as my home, laptop or mobile phone calendars … I think I’ll stick with Exchange for a while.

Dealing with spam

Junk E-mail folder

There’s a really interesting article in this month’s PC Plus magazine about the war against spam which gave me the impetus to try to do something about those annoying spam messages that appear in my inbox with my email address in the ‘from’ field, like this:

123greetings.com [[email protected]]

Anti-spam software

I use Cloudmark Desktop, a spam blocking add-in for Microsoft Outlook 2007. It’s unobtrusive and pretty reliable, eliminating about 99% of all spam that gets delivered to my inbox. (In the last 4 days I’ve received 166 junk mail messages.)

But it has been those last 1% of messages that have been really annoying me these last few weeks, the ones that have been sent out to look as though they have come from my email account.

So I did a bit of investigating and have discovered a way that I can also send those messages to the Junk E-mail folder while retaining those emails that have genuinely been sent my myself (test emails or those that I’ve CC-ed or BCC-ed to myself for archiving purposes).

Outlook rules

Like most email clients Outlook allows you to define rules (sometimes known as filters).

Rules help you manage your e-mail messages by performing actions on messages that match a specific set of conditions. After you create a rule, Microsoft Outlook applies the rule when a message arrives in your Inbox or when you send a message.

1. Rules and Alerts…

In Outlook 2007 you can access the rules wizard by going to Tools > Rules and Alerts…

Outlook rules

Not surprisingly, this brings up the Rules and Alerts window:

Rules and Alerts

2. Email headers

And now for the science bit… It occurred to me that I needed to create a rule that did two things:

  1. Flag any emails that have my email address in the sender’s address.
  2. Check to see if I really did send those or not.

So within any message supposedly sent from myself I needed to look for some kind of unique value that could prove to Outlook that I really did send those emails. For that information I turned to the email headers.

In Outlook 2007 these are located on the Options panel, by clicking the tiny arrow at the bottom right of the panel:

Viewing Internet headers in Outlook 2007

As well as the information that you can immediately read within an email there is a lot of hidden data, known as ‘headers’, also transferred with each email; information such as where the email message was sent from, its return path (where the email should be sent if the recipient presses “Reply”).

Here’s an example from a random item of spam I received yesterday:


X-POP3-From: [email protected]
Return-path: <surveyingxq @rossiter.com>
Envelope-to: [email protected]
Delivery-date: Mon, 12 Oct 2009 13:17:47 +0100
Received: from laubervilliers-000-11-22-33.w444-555.abo.wanadoo.fr ([123.145.156.178]:25793 helo=SpeedTouch.LAN)
by server.mymailhost.co.uk with esmtp (Exim 4.54)
id 1MxJqT-0000Xc-4O
for [email protected]; Mon, 12 Oct 2009 13:17:46 +0100
Received: from 123.145.156.178 by mail.rossiter.com; Mon, 12 Oct 2009 14:17:43 +0100
Message-ID: <[email protected]>
From: "123greetings.com" <gareth @garethjmsaunders.co.uk>
To: </gareth><gareth @garethjmsaunders.co.uk>
Subject: You've received a postcard
Date: Mon, 12 Oct 2009 14:17:43 +0100
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----=_NextPart_000_0006_01CA4B36.00064AD0"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2900.2180
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180</gareth></surveyingxq>

I can immediately identify a number of values here that prove to me that I didn’t send this email:

  1. The return-path is wrong. It’s not set to my email address. (With some testing, however, I discovered that this isn’t a reliable field to check against as some spammers also populate this with the email address they send the email to, i.e. yours!)
  2. The HELO value is also wrong — “HELO” is the SMTP command that the sending machine uses to identify itself to the receiving machine — it should be set to the network name of my PC, which for arguments’ sake we’ll call ‘GARETH-PC’.
  3. The X-Mailer value is also wrong. I don’t use Microsoft Outlook Express.
  4. I also noticed that this email didn’t have an Organization set in the headers. Now I know that I have set the organization information in my email account, so that’s another value I can check for.

So against any of these four items I can check any message that has been supposedly sent to me and determine whether I really have sent it or not.

3. My rules

So I have built up my rule piece by piece to read:

Apply this rule after the message arrives
with [email protected] in the sender’s address
move it to the Junk E-mail folder
except if the message header contains ‘helo=GARETH-PC’ or ‘my_alternative_isp.com’ or ‘Organization: My organization name’

And that’s it. Remarkably, it seems to work quite effectively. In the last few days that I’ve been using it I’ve had only 1 spam message left in my inbox. Everything else has been suitably and efficiently whisked away to the Junk E-mail folder. Long may that continue.

Import SEC dates and readings into Microsoft Outlook (2008-2009 version now ready)

Outlook

Update: Correction of readings for this Sunday – new version now uploaded

Friday 20 February 2009 — well, that wasn’t a great start! I’ve just noticed that the readings for this Sunday were incorrect in the original version. I’d mistakenly entered the readings for the Sunday of the “Week of Proper 7 (Sunday between 18 and 24 Feb)” when it should have been the readings for the Sunday before Lent. Apologies.

The uploaded version is now correct. Apologies for any incorrectly preached sermons this coming weekend!

Well, it’s only taken me about 3 months longer than I had meant it to — which funnily enough coincides with how old my twin sons are! — but I’ve finally completed the mammoth task of compiling the import files that will provide you with the saints days, festivals, Sundays and readings for daily eucharists and daily prayer within Microsoft Outlook (and your PDA if you sync it with Outlook).

Versions

Current version: 2008-2009 version 2
Released Friday 20 February 2009

As last year I’ve created three files:

  1. Standard
    Contains details of all saints’ days and festivals, but details of no readings (my usual file).
  2. Sunday readings
    Contains details of all saints’ days and festivals, and readings for only Sundays and Major Festivals.
  3. Complete
    Contains details of all saints’ days and festivals, and readings for all Sunday, Festival and Daily Eucharists, and Daily Prayer readings, as well as new for this year: which Daily Prayer set to use (e.g. Week A, Week B, Festivals, Incarnation, etc.).

Readings

In the “Complete” version, the readings for ordinary saints days and lesser festivals are simply those for that day of the week in relation to the previous Sunday rather than specifically for that minor saint/festival. For example, the readings given for Colman of Lindisfarne (Friday 18 February, today) are those for the Wednesday after Epiphany 6.

In other words, I’ve used only readings from The Lectionary and the Readings for Festivals, and not those from elsewhere or from the Readings for Special Occasions or Common Readings for Saints Days.

Download

Download your file of choice on the Saints and Festivals of the SEC in Microsoft Outlook page.

Report all errors

As always, if you spot an error please let me know so that I can fix the source file for other users. Thank you.