Here’s the problem: Dr. Wood and I both have complicated jobs plus we have a family, so just like everyone else in the world, keeping in sync is a problem. Herewith a painful half-finished story of trying to solve it with technology. The conclusion is painfully obvious: whoever first provides a family-scheduling tool that non-geeks can use and Just Works with the tools most people run their calendars on is going to make a lot of money and do Humanity a major service.
Informal Approaches · Chat is a godsend; a high proportion of the times when I get a phone call saying “Can you go to Kalamazoo in April?” Lauren’s online and we can work it out right there... but other times, not; and she gets about as many of those calls.
Problem Statement · What we’d like is a way to share calendar info back and forth so that it updates automatically and I can look at hers and she can look at mine and (this part is important) nobody else can look at either.
Sun has an excellent Web-based calendaring service but our calendars include all sorts of personal and family stuff that we don’t feel like sharing with the employer. iCal can publish to .mac but then everyone can see it.
Her calendar’s on Palm and mine’s on iCal, and our family server’s a Debian box. To increase the nastiness, I insist on keeping my calendar back to the day in 1996 when I got my first Palm Pilot, plus now I stretch the custom-repeat scheduling capability of iCal to the max; thus my .ics file is about 800K, and has reduced more than one highly-regarded calendar-interchange program to quivering fragments.
Short version: Getting co-ordinated turns out to be a remarkable amount of work.
PHP iCalendar ·
Anyhow, I solved half of it this evening. Acting on the wise advice of
Simon Phipps, I decided to try
PHP iCalendar. Of course, this
required getting WebDAV going on our Debian box, which is a MAJOR PAIN
THE BUTT, lots of things don’t work out of the box. But there’s help
online, and when things go wrong (they will) you’ll need to
apt-get install cadaver and look at your Apache error log and
paste error messages into search engines, and
you’ll eventually get it working.
If setting up an Atom server ends up being this much pain, I will have wasted
the last two years of my life.
Of course, then you’re into the Joy of PHP. Which confounds me; I go pretty deep on Perl, which means I’m inured to some level of obfuscation, but dammit, does PHP have to be quite so butt-ugly?
PHP iCalendar is a good example of the PHP conundrum. It’s ugly, it’s gross, it’s inefficient, but today I have my calendar robustly online and yesterday I didn’t. Did I say inefficient? The home Debian box is a mouldy old P300 or some such, and it takes PHP about a minute of CPU time to read 800K of .ics and draw a (very nice) HTML picture of one of my weeks. That’s after I had to figure out how to whack the PHP config file to double the allowed memory and time consumption.
The Palm Half · Lauren’s been grinding her gears finding something that will read her Palm calendar file and put it on the web where I can see it. Currently the leading candidate is WebCalendar (another PHP app; do you spot a pattern here?); unfortunately it’s currently blowing chunks on her Palm schedule, which isn’t nearly as big or nasty as mine. But I’m sure she’ll figure it out.
Throwing Iron · What’s going to happen? Eventually we’ll get both halves working. I suspect that our joint calendrical activities will then reduce that poor old P300 to smoking rubble, and we’ll end up buying an Ultra or something to make it all go.
As an employee of a server vendor, this cheers me and makes me want to go look for ways to encourage PHP’s poorly-concealed Plot for World Domination... I envision vast server rooms full of Opteron and Niagara boxes and terabytes of RAM grinding away on synchronizing family schedules in PHP7. I see places where they have big families, like Afghanistan and Utah, as opportunities to drive up our share price.
On the other hand, as a software engineer, I feel mildly nauseated.
But the family’s getting in sync; how can that be a bad thing?