So, it seems my new BFF, Anderson, had to spend some time at the House of Blue Lights.
Unless, of course, you prefer George Thorogood.
Either way, party on down with the "friars and boilers and ...."One problem with maturity is one's ears begin playing tricks. In today's pre-service prayer with the choir, I heard the pastor begin,
"Oh Lord, make us camels for your spirit..." Something like that. Pretty soon, I realized she had meant to say (and likely did say) "channels for your spirit". The theory being, I suppose, that our music can channel the Holy Spirit to the congregation and, thereby, touch their lives in a positive way. With luck, perhaps the Holy Spirit will dwell with us choristers long enough to render us a bit more competent than we would otherwise be. Perhaps, a more competent rendering of the music touches the hearers in a more positive way. Whatever, I can't forget about the camels. I think they might be in some way an apt image for us. We guys and gals in the choir plod along faithfully, bearing as best we can, our own burdens, while also sharing those of our fellow choristers...well, our fellow congregants as well. It seems to me that folks in the U.S. have a problem where we think one needs to be a superstar to affect the world in a positive way. If one isn't a superstar, what's the point of even trying? I don't think that's a valid point of view. I think a caravan of us plodding camels can, in our own way, make our particular corner of the world better. And, once brightened, our corner then radiates out to affect other corners positively as well. One of the things one learns if one spends any time as a guy or gal in the choir is that the music we produce collectively is ever so much better than anything the vast majority of us could produce individually. So perhaps our camel caravan of choristers does indeed channel the Holy Spirit to our congregation, and, thereby, to the world. From now on, I think I'll be content to be a camel for the Holy Spirit. As it says in scripture, the yoke is easy and the burden is light.
I'm not sure how I got asked to do a ministry moment on music. Presumably it relates to the fact that I'm one of the guys in the choir. I pretty much have been that, a guy in the choir, most of my life, and most of the time I've been here. This year I expanded my identity and am now also a guy in the bell choir. So, how did I get here? It pretty much goes back to high school. I was having some kind of discussion with my minister at the time (I grew up Presbyterian, so didn't find out that we are all ministers, presided over by a pastor, until I got here). Like most young people, I was a questioning and cantankerous sort. Somewhere during the discussion, I said I doubted that I believed "all of this stuff". It's probably fair to say that at the time, I believed "some of this stuff", but I just wasn't going to swallow "all of it". He seemed unperturbed. He merely said, "just sit in the choir and it will all come to you one day". When I think of this now, I am reminded of the amazing gospel song by the Harmonizing Four, Farther Along. I'm sure other folks have done this song too, but it's their version I know. I'll spare you my singing of it, in part because I don't have the mellifluous bass of Jimmy Jones, and in part because I haven't prepared my choir mates as a doo wop back up. Whatever, these words come to me:
Farther along we’ll know all about it,
Farther along we’ll understand why;
Cheer up my brother, live in the sunshine,
We’ll understand it all by and by.
So here I sit, year after year, waiting faithfully to "understand it all by and by". So far, the wait hasn't been so bad. One of the things I've learned from my time of being a guy in the choir is that your brain functions differently when you sing. You can make sense out of some of the things you sing about that don't necessarily make all that much sense when you rely solely on your intellect. I think of this as opening up a more direct channel to the divine. That's pretty cool! There are other benefits to being a guy in the choir. In addition to getting the buzz, which comes from the aforementioned opening up the channel to the divine, the shared fellowship is amazing. One of the reasons I joined with the bells this year is that I could see how much fun they had together. I wanted to have that kind of fun too. Perhaps kind of selfish of me, but I hope it hasn't hurt the group too much. They tell me that they hadn't heard a Bb or a C in rehearsal for several years. So even though vaguely inept—there are times when the Bb and C still don't sound—, I appear to be contributing in a way. So, in a way, I am giving, not just getting Many of us grew up with what one might term a "consumerist view" of the church. We come to sit quietly and let the minister or priest or pastor do the worship. We are spectators in worship, kind of like going to a football game or movie. After a while, this likely becomes unsatisfying. But now we are moving away from this to a more participatory view. We don't consume or spectate the practice of religion we participate in it. In essence, all us guys and gals in the choir are working in a shared ministry. This is a ministry to ourselves, to each other, and also to you all. It's the old Paul thing, we have many parts but are all one body. This is not just a choir thing, but a church thing. Some of us sing and some of us bake; some of us arrange flowers and some of us wipe runny noses; some of us visit the sick and some of us built pageant sets. But we are all necessary parts of the whole. Just like you can't have a complete body without hands and feet, eyes and ears, fingers and toes, mouths and minds, you can't have a complete church without all the various ministries—baking, wiping, arranging, visiting, singing, sewing, building, etc.—, ministries that we all mutually share with each other. So, while I'm here technically to encourage you all to throw your hats in with the music ministry—hey, we have no cuts, not such a bad deal—, I'm also here to urge you all to engage in any of our enticing ministries. My guess is that the practice of doing pretty much anything in concert with the other people of God, i.e. being one of the innumerable, essential parts of the body of Christ, will open up new channels of communication between you and the divine. I'm willing to bet that you will find that is pretty cool.
“spiritual shortcuts” from nakedpastor
Hail Mary, full of grace,I may have this a bit wrong. Seventh or eighth grade was a long time ago. Whatever, when I started washing my hands, and looking at my watch to see if I'd done it for twenty seconds, those words from long ago popped into my head. I discovered that, when said at a measured pace, two full Hail Marys, at least as I had remembered them, took up twenty seconds. So that's how we combat
the Lord is with thee.
Blessed art thou among women.
Blessed is the fruit of thy womb,
Jesus Christ, Our Lord. Holy Mary, mother of God,
Pray for us sinners,
Now and at the hour of our death.
Amen.
function dirBK($from, $dest) { // This function will recursively copy all files and sub directories // from a single directory, $from, on a hosting server // to a single directory, $dest, on a remote storage disk. // rsync seems the best candidate for the file-copying protocol. }foreach($dirs as $dir) { $from = 'path/to/dir/'.$dir; $dest = 'path/to/destination/'.$dir; dirBK($from, $dest); sleep(5); }foreach($dirs as $dir) { $from = 'path/to/dir/'.$dir; $dest = 'path/to/destination/'.$dir; $pid = pcntl_fork(); // spawn child process if (!$pid) { // a child process returns zero dirBK($from, $dest); exit; } sleep(5); }foreach($dirs as $dir) { if ($dir == '.') continue; //exclude '.' and '..' directories if ($dir == '..') continue; $from = 'path/to/dir/'.$dir; if (is_dir($from)) { //make sure array element is a directory $dest = 'path/to/destination/'.$dir; $pid = pcntl_fork(); // spawn child process if (!$pid) { // a child process returns zero dirBK($from, $dest); exit; } } sleep(5); }<?php $dirs = scandir('path/to/rootBK/'); //populate the array, $dirs foreach($dirs as $dir) { if ($dir == '.') continue; //exclude '.' and '..' directories if ($dir == '..') continue; $from = 'path/to/dir/'.$dir; if (is_dir($from)) { //make sure array element is a directory $dest = 'path/to/destination/'.$dir; $pid = pcntl_fork(); // spawn child process if (!$pid) { // a child process returns zero dirBK($from, $dest); exit; } } sleep(5); } sleep(30); ?>rsync -r /path/to/existingsite/ username@newsite.com:/path/to/newsite/
rsync -azq --delete -e "ssh -i /users/home/myaccount/.ssh/ss" /path/to/backups/ myaccount@myaccount.strongspace.com:/home/myaccount/backups
$rsync = '/path/to/rsync -azq --delete -e "ssh -i /.ssh/ss"'; $from = '/path/to/backups/'; $remote = 'myaccount@myaccount.strongspace.com:/home/myaccount/backups';
system($rsync. ' ' .$from. ' ' .$remote);
<?php $rsync = '/path/to/rsync -azq --delete -e "ssh -i /.ssh/ss"'; $remote = 'myaccount@myaccount.strongspace.com:/home/myaccount/backups'; $dirs = scandir('path/to/rootBK/'); foreach($dirs as $dir) { if ($dir == '.') continue; if ($dir == '..') continue; $from = 'path/to/dir/'.$dir; if (is_dir($from)) { $dest = $remote.$dir; $pid = pcntl_fork(); if (!$pid) { system($rsync. ' ' .$from. ' ' .$dest); // echo $dir; exit; } } sleep(5); } sleep(30); ?># php5 backUp.php
/usr/local/bin/php -c /users/home/userName/etc/php5/ /users/home/userName/backUp.php
I said something in my class a couple of weeks ago about visiting a Buddhist temple in Wakefield along with a comment on the art. That was a mistake, of sorts, in that my teacher, Catherine, then wanted me to post a link or two (which means work for me). Anyway, my friend, Roy, has a flickr page where he has posted photos of some of the art work. His photo stream has a picture of the dharma hall with the hanging lotus lanterns.
Every year, they tear down and remake all these lanterns. My attempts at paper art never got past folding origami cranes, so I found the description of the lantern making process quite fascinating. Roy blogged the process in steps: one, two, three, four.
NOTE: The not-for-prime-time editor posterous employs completely borked my code when I tried to fix some errors. If you want to see a proper version of this post go to the xanga version, which I could correct, or the tumblr version, which I could also correct. Only posterous appears resistant to correction.
Several years ago, it occurred to me to create a Psalm-o-matic for Lent. I have no idea why this occurred to me, it just popped into my head one day and I couldn't forget it. In theory, we are supposed to be a bit more focused on spiritual things, like scripture and prayer, during Lent. Just because we're Congregationalists—UCCs actually—why shouldn't we attempt to bow to tradition, at least a bit. So to make the scripture part a little more palatable—or so I thought at the time—how 'bout if we each read a Psalm each day? Rather than expect people actually to hunt up a Bible, and then figure out where the Psalms lay in that book, why not just e-mail out a Psalm? If we're to read Psalms, why focus on the three or four we already know. How 'bout we read a randomly selected Psalm? That way, in theory at least, we would get through Lent with a representative selection of Psalms, the familiar and the not-to familiar.
Thus was born the idea of the Psalm o' matic. Now to figure out how to implement it. Of course, I thought it would be cool to write a computer program to do the work for me. I had a job at the time, and was a bit rusty on my programming, so I ended up with the coward's way. I used the random-number generator function in my spread sheet program to make up a list of numbers between 1 and 150. Then I copied the list over to a schedule, printed it out, and manually e-mailed out the Psalm scheduled for each day. Not all that o' matic, huh?
I did that for a couple of years, but this year, since I was unemployed, I figured that I should brush off my very rusty shell scripting and try to make a real, bone fide psalm-o-matic. The shell script would, in theory at least, randomly pick out a number from 1 to 150, select the Psalm that related to that number, and do the e-mailing for me. All while I slept.
The first thing I needed to do was come up with a method for generating random numbers from 1 to 150. Of course that's trivial if you are programming in C or C++, or using a spread sheet, but I was trying to do this in Unix shell scripting, the only way I knew how to send out e-mails automagically. It turned out that what I knew about sending out e-mails—learned in Intro to Unix back in the summer of 2000—was no longer valid, at least not on my system. But I didn't know that when I began this project.
Anyway, it turned out that generating random numbers from the unix shell was relatively easy. My server at Joyent runs bash-shell scripts, and the bash shell has a build-in shell variable called $RANDOM. $RANDOM returns a random number from 0 to 32767 whenever it is called. To pare this selection down to 1 to 150, I merely had to multiply the $RANDOM variable by 150, divide by 32767, and then add 1 to take care of the fact that Psalms begin with 1 not 0 (zero). psalmNo=$((1+150*$RANDOM/32767))
and the variable, $psalmNo would indeed be a number between 1 and 150.
So far, so good. Now I just needed to select the appropriate Psalm and send it off. Selecting the appropriate Psalm was trivial, albeit tedious. I made up 150 text files with names like psalm_xxx.txt, where xxx was a number from 1 to 150. Then I just needed to combine three elements, the root of the text-file name, the Psalm number and the extension: body="$filePath$fileRoot$psalmNo$fileExtension"
Oh, yeah, I forgot to mention, the $filePath thing tells the computer where to find the directory that has all the Psalms in it.
So now we get to what I assumed would be the easy part, e-mailing the Psalm. In olden days, we did something like the following: mailx -s "e-mail subject" someone@somedomain.com <$body
That is, the file in $body is inserted in an e-mail message to someone with the subject given. Well, it didn't work. After thrashing around for quite some time, I asked for help and was told that mailx no longer worked because of security issues. I had to use sendmail -t instead.
I'd never heard about sendmail -t before. I guess it didn't work in the olden days. Or perhaps it just didn't work at UMass/Lowell, who tend to be a bit behind the times (when I took Java Script, I was told to be wary about things that caused problems with Netscape 2.0. WTF? we were in a post-Netscape era by the time I took that class.)
Anyway, I had to learn about sendmail. That wasn't overly difficult. I discovered that the -t option meant that the system used the header information embedded in the file. So eventually, I figured out that meant I had to make up the files I e-mailed out with stuff like "To: someone@somedomain.com" at the top of the file, and the text file containing the Psalm at the end. Well, crap, I didn't want to go through 150 files and put in all the header stuff first. What if I wanted to do something else with the files later on?
Fortunately, this wasn't a problem. I suddenly remembered about "appending" things to a file. To append things, you just did a double carat thingie, i.e. cat $body<<$filePath$mailMsg
and you get the stuff in $body, i.e. the Psalm file, appended to $mailMsg, the thing you created with all the header info. So I build it up a bit at a time, starting with the "To: someone@somedomain.com" stuff, adding in the From, Reply-to, and Subject stuff and finally ending with the Psalm file.
So after all this ruminating, we ended up with
# !/usr/local/bin/bash # psalm o' matic script # # This works as follows: me@myServer$ /usr/local/bin/bash psalm-0-matic # If you don't precede with the "bash" it won't work. # The fully qualified paths through out are necessary to make this work as a cron script # # This uses my random number generator script # # Why in the hell am I using vi? # I'm not anymore -- using TextPad with sftpDrive (now ExpanDrive) filePath="/users/home/myUserName/domains/myDomain.org/web/public/Psalms/" fileRoot="Psalm_" fileExtension=".txt" # ***seed Random with a "random" number -- then select Psalm o' day RANDOM=$RANDOM psalmNo=$((1+150*$RANDOM/32767)) #all 150 -- Oh, yeah! # *****************prepare the message ****************** mailMsg="MailMsg" today=`/usr/xpg4/bin/date '+%A, %B %d, %Y'` # ***************** prepare header header ****************** dateField="Date: "$today #toField="To: me " #later on it would be fccr-ace. addressFile=pomList toField="To: "`cat "$filePath$addressFile"` #pomList is comma delimited: name , ... fromField="From: me " replyToField="Reply-to: me@myOtherDomain.net" #later on it would be fccr-ace? subjectField="Subject: Psalm for "$today"--Psalm "$psalmNo # ***************** assemble message ****************** body="$filePath$fileRoot$psalmNo$fileExtension" echo $dateField<$filePath$mailMsg echo $toField<<$filePath$mailMsg echo $fromField<<$filePath$mailMsg echo $replyToField<<$filePath$mailMsg echo $subjectField<<$filePath$mailMsg echo " " <<$filePath$mailMsg echo " " <<$filePath$mailMsg cat $body<<$filePath$mailMsg # *****************send the message ****************** /usr/local/bin/sendmail -t <$filePath$mailMsg
Ok, this worked. Getting it to send out automagically turned out to be more trouble than I realized, but I eventually got so I was sending myself Psalms on an hourly basis. Just in time for Lent.
Addendum:
The scheme worked like a charm and we lucked out in that Ps. 119 never came up. Not sure anyone would have been able to slog through that one in one sitting.
Addendum 2:
Formatting this was a real PITA. I'd have been better off just doing raw xhtml on my static site. Then again, I suppose that I needed to (re?)learn that'code' is not a block-level element.
Addendum 3:
Anyone who falls upon this post and wishes to subscribe to the psalm-o-matic, can do so by dropping an email to psalms@fccr-ace.org.