Category: Reading Room

  • Don’t put all your security eggs in one basket…

    I just read an interesting article on ABCNews entitled “PaineWebber Ex-Employee Charged with Fraud” (via slashdot.org). Basically, a systems administrator that:

    • a) coded-up a logic-bomb that would be financially disastrous to his former company
    • b) purchased put options to benefit from his company’s demise.
    “But if you fail to do this, you will be sinning against the LORD ; and you may be sure that your sin will find you out.Numbers 32:23

    Of course this Alcatraz-bound bone-head got caught, but imagine the virtual mess that such an act would leave! No thanks!

    So what has this got to do with running/administering a church web site. Everything. How many of us are in situations where one person holds all the keys? That is, the church’s web site is some mystery so you leave it entirely up to the otherwise not-so-social, not so visible geek who sits in the back corner of your church? Who owns your church’s domain names – and will that someone walk away with it one day if someone rubs him/her the wrong-way?

    At Redland Baptist, we keep this real simple. Secure information and ownership are distributed and monitored. For example, At my insistence, the Church took ownership of RedlandBaptist.org this past year. I did this because of so many situations we’ve heard of where a talented but dysfunctional geek would get rubbed-wrong and do something embarrassing to a church with their own domain name.

    Taking the concept of accountability a bit further, it’s probably good to separate concerns among different people; such as the individual handling the accounting system also doesn’t work on the outward-facing web site. Similarly, sensitive information should be dispensed on a need-to-know basis. In order for someone to take over, they would have to get two of the other individuals involved to play along – provided our wives don’t catch wind of such a scheme. And considering my wife is from Pittsburgh, used to play hockey and is known at work as the “Solaris Queen” or the “Unix goddess” … I prefer to play it straight.

    In other words, we don’t put all our security eggs in one basket, and we’re not afraid to do the monitor one another thingie.

    I know, I know, this is a church, aren’t we supposed to trust each other? Well we put locks on our doors don’t we? Some of our churches even have alarm systems after a break-in or two. Remember those old home-spun adages, “good fences make good neighbors” and “a lock keeps the honest man honest.” The same measures need to be taken to secure your church web site. They’re simple, they’re relatively painless, they’re far less expensive than recovering from an incursion. Moreover, they inspire trust and confidence better than any wishful thinking.

    He will guard the feet of his saints,
    but the wicked will be silenced in darkness.

    It is not by strength that one prevails;
    those who oppose the LORD will be shattered.
    He will thunder against them from heaven;
    the LORD will judge the ends of the earth.

    “He will give strength to his king
    and exalt the horn of his anointed.”
    1 Samuel 2:9-10

  • Using PHP from the command line

    Got a love note from someone who didn’t appreciate my most web site critique – they said “seems like you are mostly just critisizing, rather than teaching or training, as your banner suggests” … the carnal me wants to reply with a Bronx cheer … but the Christ in me says just move on and return evil with good by posting something really geeky. Especially for those of you with Linux/Apache like web server configurations.

    Next time you ssh into your bash and pico a problematic PHP program, add ‘#!/usr/bin/php‘ to the very to of the script and run it from the command line instead of your browser:

    #!/usr/bin/php -q
    <?php echo “hello world!”; ?>

    The nice thing about this is that you can always redirect your STDOUT into file using a syntax to the effect of:

    $ chmod 755 helloworld.php
    $ php helloworld.php > hello.html

    Of course, like any command line tool, there are plenty of arguments and options for PHP which include:

    Usage: php [-q] [-h] [-s [-v] [-i] [-f <file>] | {<file> [args…]}
    -q     Quiet-mode. Suppress HTTP Header output.
    -s     Display colour syntax highlighted source.
    -w     Display source with stripped comments and whitespace.
    -f     <file>     Parse <file>.     Implies `-q’
    -v     Version number
    -C     Do not chdir to the script’s directory
    -c     <path>     Look for php.ini file in this directory
    -a     Run interactively
    -d     foo[=bar]     Define INI entry foo with value ‘bar’
    -e     Generate extended information for debugger/profiler
    -z     <file>     Load Zend extension <file>.
    -l     Syntax check only (lint)
    -m     Show compiled in modules
    -i     PHP information
    -h     This helpv

    Okay Kiddies, now it’s time for the bonus round. Those of you who are asking “yo dean, what about STDERR and STDIN …” … for that and more gory details on how to PHP from the command line, here are some links you might find useful:

    Now you don’t have any excuses not to test your code !-)

  • Strong Bad’s Website Design Tips

    UPDATE 22-Jan-03 – HEY YO! Their system is back up! Check out this cool little animation they put together to explain things — just make sure you wait a few seconds for the joke to load. Oh and thanks for the fun comments — I’m going to foward them along.

    UPDATE 20-Jan-03 – CRAP! I appreciate all the visits, but I like you, have no clue what has happened to the HomeStarRunner.com — you’re welcome to try and contact them — let me know if you’re successful or not. Meanwhile, enjoy the rest of my site. I mean, what would Strong Bad do?

    * UPDATE 21-Jan-03 – HOLY CRAP!* I just heard back from the HomeStar Gang — they’re down but not out. They’re suffering some bandwidth crap from all the heavy traffic sites like mine generate. Well, actually its because their content is so killer that we all rush out to see the latest and greatest they have to offer. Then you hit that refresh button about five or six times to show your co-workers and friends. So really, it’s YOUR fault they’re temporarily down. So hang in there! They’ll be up shortly. Meanwhile, leave comments. I’ll ignore them like the rest!-)

    Now quit messing around and visit the rest of my site.

    *** !?! ***

    original article from 27-Nov-02:

    Andrew Careaga over at bloggedy blog sent me this one – blame him – after you read his new book:

     

    (requires Macromedia Flash, Void Where Prohibited. Offer expires 11/31/02. Not valid at all locations. View at your own risk. HealYourChurchWebSite not responsible for any mental or emotional damage the featured link may induce. Any resemblance to a real site that sucks is purely coincidental, though not regretted. For more good examples of bad design, please consult Vincent Flanders’ latest book. See stores for details. Buy in Quantity unlimited.)

  • A crontab tutorial

    I’m reposting this because my referrer logs tell me someone out there keeps looking for it. Okay, here it is:

    There is a time for everything, and a season for every activity under heaven: a time to be born and a time to die, a time to plant and a time to uproot – Ecclesiastes 3 3:1-2.

    And for those of you who have various scripts on your server A time to issue a command interactive, a time to schedule a task. And if you have something, like a search engine index, that you want rebuilt late at night while no-one is online, then you definitely don’t want have to wake up, SSH/Telnet in, just to issue one command. Enter cron

    cron is a *nix command for scheduling tasks for automatic execution. The operating system, which is running all the time, has several service processes associated with it, often called daemons. One of these bad boys just looks at the clock, then looks at a table … a crontable … and then executes any script/program scheduled for that point in time.

    Many host providers are now giving away cron for free, so long as you don’t abuse it. And while many of these same host providers are giving you control panels and online forms to enter the necessary parameters, such screens are often ubiquitous at best, usually with little or not help, clues or examples.

    And because unlike my wife, I’m not a *nix deity, I need to look up this stuff from time to time. So here is a link to a relatively straightforward and easy to read crontab tutorial. Schedule some time to give it a read why don’tcha ?

  • Antonín Dvo?ák Biblical Songs

    Back in May of 1998, I performed (sang) a concert of Antonín Dvo?ák’s Biblical Songs (Op. 99) using my computer as an accompanist. Here is the write-up that appeared on the program notes:

    Dvorák’s Biblical Songs were written in March of 1894, during his stay in the United States as the director of the National Conservatory located in New York City. There he advised young American composers to use the American folk idiom, especially Negro spirituals and certain Native American rhythms, as the basis for a body of new American music. It was during this time he was informed of the death of the famous conductor, and close personal friend, Hans von Bülow. Just a month earlier, Dvorák was grieved to hear that his father was near death, far away in Bohemia. As fate would have it, his father expired 2 days after the completion of Biblical Songs.

    Unlike many composers of his day, Dvorák did not console himself in excess. After all, he had dealt with death before. In November 13, 1877, after burying all three of his children in the space of two years, Dvorák completed the score to the Stabat Mater. Dvorák’s most famous choral work, is based on a 13th century Latin poem depicting Mary’s contemplation of the crucifixion of her Christ.

    This time, Dvorák would console himself in the Psalms. The resulting work , considered the finest of his song cycles, is none other than the ten Biblical Songs, opus 99.

    I became acquainted with these pieces in dealing with the grievous loss of some family members back in ’97 and ’98. I now revisit these pieces with the horrific news we received in an emergency room on the way back from our vacation that my wife and I have lost our second child, 12 weeks in the womb, due to a miscarriage. Please pray for me as my heart breaks. Mostly, I ask for you to pray for my wife as she now suffers painful emotions of the loss – for though I try to convince her she’s done nothing wrong – the evil one taunts her with guilt and doubt.

    Song
    MIDI File
    Title Ref. Key Meter Tempo Measures Style Date
    (1894)
    * NOTE * These pieces were performed with by aiming the MIDI files at a Korg 03R/W – in other words, they’re likely to sound pretty ‘Twinkie‘ on your sound card unless you rework the instrumentations using a synthesizer/sound module like the Korg 03R/W.
    1 Clouds and Darkness Psalm 97 G 3/8 Andantino 55 ms. Through Composed March 13-15
    This singer takes on the characteristic of the
    a Shakespearean narrator, offering considerable and
    dramatic word painting. Standing in awe near the
    singed earth and melted mountains, the narrator
    describes the nature of God upon His Throne.
    2 Lord, Thou art my Refuge and Shield Psalm 119 G-Emi 4/4 Andante 26 ms modified strophic (A1 + codetta +
    A2 + codetta)
    March 7
    Here, in a leider style reminiscent of Schubert,
    the singer calls upon the Lord to help the singer
    in  live righteously, though tempted by evil
    men, and embodied in a sinful host.
    3 Hear My Prayer, Oh Lord My God Psalm 55 Bb-B-Bb 3/4 Andante 62 ms. Through-Composed March 21-27
    With Brahms-like tertian and chromatic modulations,
    the singer portrays the role of the penitent.
    Drowning in a sea of despair, the singer floats his
    sighs and cries to the Lord; hoping later in the
    song to fly above them on the wings of eagles and
    ascend to the Peace of God.
    4 God is my Shepherd Psalm 23 B 4/4 Andante 32 ms. Rondo-like, or highly modified strophic
    (A1 + B1 + A2 +
    B2 + A3 + codetta)
    March 15-16
    Through the and elegant simplicity of this piece,
    the singer portends the Peace of God that is poured
    upon those who offer an uncomplicated, child-like
    devotion to God that Christ commanded of us in
    Matthew 18:3.
    5 I Will Sing New Songs of Gladness Psalms 144 & 145 Ab 4/4 Resoluto, Maestoso 53 ms. modified strophic ternary (A1 +
    A2 + A3+ B + A4 +
    codetta)
    March 21-24
    In the harmonic style of the Negro Spiritual, this
    piece joyfully bounces along with three static
    stanzas until it explodes in a flourish of intense
    chromaticism. Here the singer delivers eighteen
    different chromatic/enharmonic pitches in just six
    measures; which resolve back to the original key,
    in time for the emphatic delivery of the a
    triumphant, final strophe.
    6 Hear My Prayer, Oh Lord Psalms 61 & 63 D 4/4 Andante 41 ms. modified strophic ternary (A1 +
    A2 + B + A3)
    March 13-20
    As is common with all man, the singer ‘s new joy is
    clouded with doubts and worries; causing the singer
    to cry out to God. However, unlike the third song,
    here the singer reveals a strong underlying hope
    that God will deliver the comfort and relief the
    singer so dearly desires.
    7 By The Waters of Babylon Psalm 137 Cmi-Eb 3/8 Andante 60 ms. modified strophic ternary (A1 +
    A2 + B + A3 + Coda)
    March 5-8
    Again, the singer is the narrator, on this time in
    the style of Schubert’s Erlkonig. Here the singer
    complains of his tormentors, then mocks them, and
    then in defiance, vows never to crumble or cave-in
    to destructive demands.
    8 Turn Thee to Me Psalm 25 Abmi-Ab 3/8 Andante 38 ms. Modified Strophic (A1 + A2 +
    A3)
    March 21-26
    Here the singer, exhausted and cried-out, an almost
    Brahm’s like nocturne starts harmonic uncertainty.
    Then seeing past his own torment, the singer
    confesses his sin, and asks the Lord into his life.
    In doing so, the piece lurches from minor to a
    Major key, and concludes in a joy brought out of a
    restored relationship with God.
    9 I Will Turn My Eyes up to The Mountains Psalm 121 F-Fmi-Ab 3/8 Andante con motto 45 ms. Through Composed March 5-8
    Forgiven, restored and comforted, the singer again
    engages in extensive word-painting as he reveals
    the loving-kindness of the Lord.
    10 Sing ye a Joyful Song Psalms 98 & 96 F 2/4 Allegro moderato 72 ms. Modified Strophic (A1 + A2 +
    A3 + Codetta)
    March 13-14
    Having received the gift of God, the singer for the
    first time looks outward, and in doing so
    encourages everything under Heaven and Earth to
    sing joyful praises unto the Lord!

    I have also made available a page of the actual lyrics along with the copyright notice regarding the MIDI file performances.

    Forgive me now as I take a break from this site for a day or two to collect my thoughts and deal with my grief and attend to my wife.

  • Linux != Desktop != Failure

    This is old news to anyone who frequents Dave Winer’s or Doc Searl‘s weblogs … but Doc makes such a good point, that like a good batch of hummus, it bears repeating:
    The Doc Searls Weblog : Deconstructing desktops : Saturday, August 10, 2002.

    Basically the good Doc takes issues with people who claim Linux has failed as a desktop. His reasoning, simply because Linux isn’t a desktop. KDE and Gnome are desktops, but not Linux.

    He also astutely asserts that we’re comparing apples and oranges here. That one can no more write-off Linux as failure in the same way one shouldn’t classify tractor-trailers a bust because they’re not as popular as passenger cars.

    Doc’s article goes into much gorier detail, and is a good read for anyone considering moving their church/charity office platform to Linux who is being bamboozl’d by the frequent FUD surrounding this topic.

  • Essential Unix FAQ

    Its Friday, so one thing useful and two things fun – I’ll leave it to you figure out which is which:

    I talk alot about Linux here, not because I’m some Bill Gate’s hating, anti-Microsoft Zealot, there are enough of those around already. Fact is, I’ve made a nice living writing code for my day job on various DOS and Windows-based systems. Though I still refuse to install XP I just don’t like the idea of having to “report in …” But I digress.

    I mention Linux muchly because it is the platform many of us use and abuse for our web sites. That and it is at least 35% geekier than any other operating system Requires Adobe Acrobat Reader
    out there. Which makes knowing it an essential skill if you really want to take control of your web site. Problem is that as I get older, I sometimes forget the command-line syntax. I’m fortunate to have a unix-chix wife who fills in most of the blanks, but there are times I’m embarassed to ask or admit I’m lost. Instead I’d rather drive around and find it the hard way. It’s a guy thing.

    So late the other night while the spousal unit was asleep, I got stuck and didn’t want to wake anyone by going upstairs to rattle through the umpteem million computer books holding up a corner of our house. What I really needed was a cheat sheet – I found one – courtesy of the good folks at the Montana State University – Bozeman. What they’re doing with UNIX up in Montana only our Lord knows. I’m just grateful to have it handy.

    Now where did I put that pocket protector ………….?

  • Addicted to Medicority

    The Washington Time has some must reading for Christians in an article entitled “Poll finds religion lost esteem over past year.” Basically it proves
    Franky Schaeffer was right when he asserted that Christians are no longer influencing society through various forms of media, but are instead influenced BY it. A neat trick when you think Francis Shaeffer’s son warned us about this as far back as 1981!

    A point shaved even finer back in 1994 by Os Guinness in
    Fit Bodies Fat Minds: Why Evangelicals Don’t Think and What to Do About It. Is it wonder why so many church web sites need healing? Until we Love (our) God With All Your Mind we’re going to continue to see the leprosy of modernism infect everything we do.

    WHOOOOSH – flame off!