Category Archives: Tech

Programming Kalendars

Back when I first got serious about coding the Breviary—I guess it’s been a couple of years now—I talked to Fr. Chris about it and we discovered that we’d been doing some parallel development.

One of the first issues to tackle is how to figure out what “today” is liturgically. Both Fr. Chris and I approached it the same way. That is, we take “today’s” date as given to us either by the server or the local computer then a) run it through an algorithm to determine where you are in the temporal cycle, then b) compare it to a table to determine if there’s something sanctoral going on.

What I kept running up against was the problem of transference. There are certain circumstances when a feast must be moved from its original date. For instance, Major Feasts that fall in Holy Week and the Octave of Easter are transferred by order of occurrence into the Second Week of Easter (cf. BCP, p. 17). Too, Major Feasts that fall on Sundays outside of green seasons must be transferred; major feasts in green seasons may be transferred.

At one point, for the sake of moving forward, I threw up my hands and said enough… It seemed easier to simply create a table for the year and to work everything out ahead of time. This saved me the trouble of coding transference. What it created was:

  • more moving parts. Currently I have a kalendar code that must correspond to the same code in the collect table and the lectionary table. Some of the recent Scripture reading issues (like the one that occurred today…) was the result of a perfectly normal and legal kalendar code that didn’t synch up with the lectionary code (though it did with the collect code…).
  • setting aside a block of time at the right time to work out a year’s worth of dates. And ends of years tend to be busy times. I’m clear through the end of 2010, but if it goes further…?
  • A restriction to the dates that I have a coded table for. This is less an issue with the St Bede’s Breviary than some historical projects I have in mind. For instance—what if I wanted to know what liturgy was appointed for February 18th in 892? There’s no way I’m going to code tables for thousand year spans!!

As a result, I’m rethinking my decision. This won’t happen immediately—it may not happen for quite a while, actually—but I think the issue can be broken down more logically than I was considering before. So what would this look like?:

  • Get the date
  • Run the temporal algorithm and determine where we are in the year
  • Now–different pie (sets of kalendrical rules not pastries) have different rules for privileged octaves and when transferences happen. So, this is where each kalendar system will have to have its own algorithm. Within those, however, things may not be so bad. For instance for the ’79 BCP all I should have to do is add in a three step process:
    • Is today the Monday after Easter 2? If no, keep going, if yes, then see if we need St Joseph, the Annunciation,  St Mark, or SS Phillip & James.
    • Is today the Tuesday after Easter 2? If no, keep going, if yes, see if we need the Annunciation.
    • Is today a Monday not in a Green season? If no, keep going, if yes, see if yesterday was a major feast
  • Now check today in the Sanctoral cycle to see if anything needs to be celebrated.

I think there may be some real benefits to this approach—I’ll keep thinking about it…

Initial Thoughts toward an XML BCP

Since the Text Encoding Initiative is the standard for academic text coding (brief intro at Wikipedia), it makes sense that if one were to produce a web edition of the BCP , that would be the place to start. While the TEI has tagging for a wide range of texts, it currently does not have formal guidelines for tagging liturgical texts. However, work from the CANTUS and CURSUS projects are applicable:

  • CANTUS is a database-based model and therefore doesn’t translate exactly into xml but does offer some solutions that are readily adaptable. In particular their codes as listed here are helpful as a start.
  • CURSUS is a TEI project which does not currently but hopes to interface with CANTUS and therefore has done some of the work toward integrating the CANTUS codes into an xml framework. Some of this work is presented discursively here.

SBB: Handheld Devices

Ok—two thing on mobile devices:

  • The new design setup does not, I believe, function on mobile devices. However, I just made a modification to the style sheets that should (in theory) work. Someone who has one of these, please check it out and leave a comment. (M’s crackberry is with her in Philly…)
  • I have looked into what sort of development would need to be done for an iPhone app. Apparently, the development suite used for such things only runs on Macs—and I don’t have one. Too, the materials I read suggest that trying to develop for the iPhone without actually having one might…complicate…matters. Which makes sense. If, therefore, anyone with the skills, interest, and equipment would like to take a shot at this, be my guest.

New Online Breviary: Beta Test Version

Christopher has said on occasion that it’s one thing to advocate for liturgical renewal; it’s another entirely to actually do something about it.

In the spirit of actually doing something, I’m introducing for trial use a new online resource for praying the Daily Office. Named St Bede’s Breviary, it is firmly rooted in the 1979 Book of Common Prayer, especially as read through catholic tradition. I’ll say more about this in the coming days but here are a few notes:

  • It differs from other online prayer options specifically in terms of options. You may select from Rite I or II, use one of (currently) three liturgical kalendars, and vary the amount of material and additions as your time and inclinations allow.
  • The other difference from other sites is that it is an integrated full-text office meaning that everything is on one page. No clicking between various windows.
  • M has confirmed that it is crackberry accessible. (No word on other telephony devices…)
  • It is still in the beta testing phase which means that there are glitches. Some I’m aware of and am working as time allows; others will only appear in the course of regular use. So—it’s not perfect.
  • It’s also not static. Meaning, not only can bugs be fixed (unlike in paper breviaries) I’m also open to introducing new options and such as long as they remain in line with the fundamental mandate of the project—a breviary rooted in the ’79 BCP read in continuity with catholic tradition.

Here’s a key point: While I’ve used the word “I” a couple of times, I’m going to carefully qualify it. While I’ve done the PHP coding and worked up the current state of the MySQL tables, this has, from its inception a while back, been a community effort.  In particular bls and Fr. Chris did a tremendous amount of work in terms of both content and technical conceptualization. bls in particular was the mastermind behind the drupal-based version that ran for a while on a host provided by Fr. Chris. Unfortunately my host doesn’t offer drupal support on Windows servers concerning which I’m greatly annoyed… In short, this wouldn’t be possible without them. (And bls, I want to revisit some of your original design ideas too—I’ll shoot you a note…)

Christopher, Brian M, Scott, Mother M, Paul Goings, and others offered support and suggestions, sometimes only in the form of answering seemingly random questions about office minutae.

I’d like to keep it that way too. If you use this, please let me know what can or should be done to make it better or more user friendly.

So, without further ado: St Bede’s Breviary.

Tech Oddity

M’s printer ran out of several color cartridges at once, so she went out to the store. She came back with a new multifunction printer with scanning, fax, and copying functions in addition to regular (high quality) printing functions.

She bought it because she really did need a new printer.

But also because buying a new multifunction printer cost ten dollars less than buying new ink cartridges for her old printer. The new one came with cartridges included.

There’s just something not right about that…

Putting the Tech into Home Ec

I’m thinking that the perfect tech app for the up-to-date New Depression kitchen would be a recipe cost calculator.

It shouldn’t be too hard to build a database that contains:

  • the ingredients for the family’s most commonly cooked meals
  • the quantities needed for the recipe
  • the quantities in which the ingredients must be purchased
  • an average cost for the ingredients

A basic html/php interface would allow you to:

  • select a meal from a searchable drop-down
  • do a one-time exclusion of any of the ingredients from the total if you already had them in the pantry
  • handle basic substitutions (say sausage for hamburger, etc.)
  • allow you to enter a one-time or permanent price modification (to account for sales or price increases)

Of course, it would be optimum if there were a readily accessible and continuously updated dbase of grocery store average prices out there that you could periodically download but I doubt such a thing currently exists.

Thus when it came time to plan menus for the week, you could use the tool to get a more precise sense of how much everything is going to cost before you get to the grocery store. I’m always amazed when I do a one-off trip to see how much a basic meal can run you…

Such a thing may already exist. I don’t know; I haven’t checked yet. But it sure would be cool if it did…

Torture Testing

The list of “phrases you’d rather not hear your spouse say” includes this one which I just heard:

“Hey, honey—I just found your iPod in the dryer. With a load of towels.”

Now, there’s no way that my iPod Shuffle got into the dryer with a load of towels which means that this must have been its second trip around the drum after a romp in the washing machine.

It still works. Needless to say, I’m quite pleased…

Electronic Homesteading

While I’m on this roll, I’ll mention that I see the move to open-source computing as a digital ancillary to homesteading… I loaded the latest version of Xubuntu and OpenOffice on a spare hard drive and hope to transition more to these and related technologies as part of a holistic move towards community-based resource sharing…

New Toy

As a result of peer pressure from all of the cool kids, I signed up for a twitter account. I have no idea if/how much I’ll use it/be able to use it—but we’ll see…

I’m suddenly reminded of Prov 29:11: “A fool uttereth all his mind: but a wise [man] keepeth it in till afterwards.” How easy it is for Web 2.0 to help us prove Scripture right!

Earth Day (and Open Source) Thoughts

The Elizaphanian has a post up collecting his theological responses to the environmental issue of peak oil. (h/t Dean Knisely)

Too, one of his recent posts deals with switching away from Windows.

This is pretty high on my list. My Linux machine is down at the moment but its a result of age finally catching up with it. The hardware was at least ten years old—if not older. Nevertheless, it ran Xubuntu just fine with no serious time lags. So (here’s the Earth Day tie-in—tenuous though it be…) I could get away with using hardware from the previous century without having to constantly junk and consume to keep up with ever-voracious demands from the Windows OS.

No, Xubuntu/Ubuntu, OpenOffice, Firefox, Eclipse are my new core suite. Since I do corporate computing I can’t entirely wash my hands of Windows and Office, but I can at home.

As much as I hope Open Source will catch on, however, I fear it will continue to find a home in a niche population than the true mainstream. M, for instance, will still retain a Windows machine. She’s not a computer person and hates when I tinker with things or when everything doesn’t work just as it ought. Many of the Open stuff still isn’t terribly user friendly—and some of it deliberately so, I think… Until that changes she’ll probably stick with Windows.