My Sister 1, Al Gore 0

Filed in Politics, ScienceTags: Global Warming, Photos, Weather

While Al Gore was in Europe, predicting that "the entire North Polarized cap will disappear in 5 years" due to global warming, the southern California desert was getting blanketed in snow.

Global-warming induced snow storm in southern California, 15 December 2008
Photo © Julie Shropshire

Irony, thy name is Al Gore.

UPDATE: Thanks for the mention, Gateway Pundit.

Karen’s WebNursery

Filed in PersonalTags: Family, Fatherhood, Marriage, Photos

Just a quick note to let everyone know that Karen's WebNursery is now online. We should have birth announcements and pictures in the mail to everyone in about two weeks.

McCain on Palin: “So Long and Thanks For All the Fish”

Filed in PoliticsTags: Elections, Republicans

...and by "fish" I mean, of course, all of the conservative voters McCain reeled in by naming Palin as his Veep.

When asked by George Stephanopoulos, McCain refused to say whether he would support Sarah Palin if she ran for president:

"Listen I have the greatest appreciation for Gov. Palin and her family and it was a great joy to know them," McCain said. "She invigorated our campaign and she was just down in Georgia and she invigorated their campaign."

"But I can't say something like that," McCain said, "We've got some great other young governors, Pawlenty, Huntsman."

Stephanopoulos then pressed McCain regarding why he picked Palin to begin with, to which he replied:

"Well sure, but now we're in a whole election cycle... Have no doubt of my admiration and respect for her and her viability... but at this stage my corpse is still warm!"

Well, McCain has one thing right: he is a corpse - politically speaking, with respect to all of us conservatives who held our noses to cast our votes for him despite the stench of his duplicitous treatment of both conservatism and the Republican party that nominated him. And if it hadn't been for Palin, he wouldn't have had enough remains even to identify as a corpse.

H/T Josh Painter at RedState, who reacted appropriately:

The man rarely misses an opportunity to stab conservatives in the back, except when he kicks them in the stomach... Aside from his military service for his country, John McCain has proven time after time that to him, such values as honor, loyalty and respect are a one-way street.

John McCain: you are but a fraction of the person Sarah Palin is. You also aren't half the presidential prospect she is - something the conservative base you alienated will prove to you in four years should Palin decide to run. You can take your stinking corpse and your disrespect, and shove them both back into your RINO senate seat.

The Vatican and Stem Cells: A Tale of Two Headlines

Filed in Religion, Science, Social IssuesTags: Christianity, Clone The Truth, Cloning, Media Bias, Sanctity of Life, Stem Cells

The Vatican recently issued a statement on bioethical issues, entitled Dignitas Personae (The Dignity of the Person), which serves as the authoritative ruling for the Catholic Church in condemning, among other things, embryo-destructive stem-cell research and human cloning.

The foundational tenet for the ruling is, as astute readers may surmise, the inherent dignity of the human being. The statement makes this point explicit in its opening sentence (pg. 1 of 23):

The dignity of a person must be recognized in every human being from conception to natural death.

The statement attempts to differentiate between human dignity, which has inherent moral value, and scientific research, which does not have inherent moral value apart from the moral implications of the applications of that research. The statement goes so far as to reiterate the church's support for and participation in such research (pg. 2 of 23):

The church therefore views scientific research with hope and desires that many Christians will dedicate themselves to the progress of biomedicine and will bear witness to their faith in this field.

Having made clear this differentiation, the statement lays out the foundation of its ruling: 1) all human life has inherent dignity and moral worth, 2) life begins at conception, therefore 3) human life at the embryonic stage of development deserves all the dignity and respect due human life at all other stages of development (pg. 3 of 23):

The body of a human being, from its very first stages of development, can never be reduced merely to a group of cells. The embryonic human body develops progressively according to a well-defined program with its proper finality, as is apparent in the birth of every baby.

It is appropriate to recall the fundamental ethical criterion expressed in the Instruction Donum Vitae in order to evaluate all moral questions which relate to procedures involving the human embryo: 'Thus the fruit of human generation, from the first moment of its existence, that is to say, from the moment the zygote has formed, demands the unconditional respect that is morally due to the human being in his bodily and spiritual totality. The human being is to be respected and treated as a person from the moment of conception; and therefore from that same moment his rights as a person must be recognized, among which in the first place is the inviolable right of every innocent human being to life.'

From this foundational position, the statement makes the logical conclusion that embryo-destructive pursuits (including embryonic stem cell research) are immoral.

So, given this position, I would expect a headline such as "Vatican document condemns cloning, stem cell research", just as a matter of course. But how do the ostensibly upstanding journalists at the Honolulu Advertiser portray the ruling? Why, "Vatican condemns modern science research", of course.

Contrast that gem of journalistic integrity with the (Minneapolis/St. Paul) Star-Tribune's take: "'Dignity of a person' reinforced in Vatican bioethics document."

Well now, that sounds just a little bit more accurate.

WordPress 2.7

Filed in Web DevelopmentTags: Geekery, Web Site, WordPress

The latest version of WordPress, 2.7, was released earlier this week. The release, code/nick-named "Coltrane", brings several major back-end improvements:

Lorelle lists several reasons to upgrade immediately. Ryan Boren discusses the release, including what features were moved to the 2.8 (or later) blueprint. He also notes that WordPress 2.7 was downloaded 100,000 times in the first 20 hours after release (the counter reads 195,849 downloads at the time of this post), and that some bug fixes are already making it into the planned 2.7.1 release.

I upgraded late last night, and the upgrade went apparently smoothly. As always, let me know if you notice anything amiss. I will be working on some of the new features, such as nested/paged comments, in the near future.

Lily and Karen: Separated at Birth?

Filed in PersonalTags: Family, Fatherhood, Marriage, Photos

I mentioned previously that Karen looks just like Lily did when she was born, except for their hair. Well, let me show you just how much alike they really look:

Lily and Karen: Separated at Birth?

Can you tell which one is Lily, and which one is Karen?
Photo © Chip Bennett

Welcome to the World, Baby Karen!

Filed in PersonalTags: Family, Fatherhood, Marriage, Photos

This morning, at 8:09, we welcomed into the world Karen Elizabeth Bennett:

Karen 00 Months - December 015

Karen Elizabeth Bennett (Karen 00 Months Flickr set)
Photo © Chip Bennett

She was born via c-section at 8:09am; she weighed 6lbs, 10oz, and was 20" long. Both baby and mommy are doing well, and are recovering.

Nana and Papaw brought her Big Sister Lily to the hospital to meet her this afternoon. We'll have more pictures up soon.

An Unusual Sighting

Filed in PersonalTags: Missouri, Republicans, Saint Louis

My normal route home from work takes me right by the airport. It's not unusual to see planes taking off or landing.

However, it is quite unusual to see the following aircraft a mere 50-100 feet off the ground, on an approach:

Air Force One

Air Force One (Image found at PlaneBuzz)

The plane touched down on Runway 11-29 right next to I-70, right before I exited onto Cypress.

A Boeing 747 painted in light blue with the words "United States of America" on the fuselage is pretty unmistakable; still, I hadn't heard anything about President Bush making any appearances in Missouri today. I thought perhaps it could have been picking up some dignitaries from last night's VP candidate debate.

As it turns out, it was President Bush, after all.

WordPress 2.6

Filed in Web DevelopmentTags: Geekery, Web Site, WordPress

The WordPress Development blog announced today's release of WordPress 2.6. Lots of (mostly incremental) changes; see the following video:

Download WordPress 2.6 today.

Also, be sure to let me know if anything seems broken here after the upgrade.

How To Synchronize Google Calendar With KDE-PIM (Part 2)

Filed in LinuxTags: Google Calendar, KDE-PIM, Kubuntu, Synchronization

This guide has been moved to the Tutorials section, but will remain here for historical reference. Please refer to the KDE-PIM-GCal Sync: GCalDaemon Tutorial for any future updates to this guide.

In my previous post, I detailed how to use OpenSync, MultiSync, and KitchenSync to synchronize Google Calendar with KDE-PIM.

The reason that I do not use this method to synchronize KDE-PIM with my Google Calendar is three-fold:

  1. If you notice on the Google Calendar group member configuration dialogue, you will see the statement: Please note that currently the password is stored as plain text in the plugin configuration file. That means that your gmail password is stored in plain text. Granted, the configuration file is located in the home directory, which is protected; even still, I would prefer not to leave the password in clear text.
  2. The plugin appears to be limited to a single calendar. I use at least four different calendars, and would like to synchronize all four.
  3. The synchronization is would like to add an event to either KDE-PIM or Google Calendar, and have the synchronization take place without my intervention. (I know, I could set up a cron job and msynctool or something to automate it.)

Fortunately, GCalDaemon provides all the functionality that I need for Google Calendar synchronization.

Part 1: What is GCalDaemon?

From the GCalDaemon web site:

GCALDaemon is an OS-independent Java program that offers two-way synchronization between Google Calendar and various iCalendar compatible calendar applications. GCALDaemon is primarily designed as a calendar synchronizer but it can also be used as a Gmail notifier, Address Book importer, Gmail terminal and RSS feed converter.

Part 2: GCalDaemon Installation Prerequisites

The first two requirements for GCalDaemon should seem obvious:

  • A Gmail account
  • An iCal-compatible calendar application (KDE-PIM in our case)

The only package dependency is Java Runtime, version 1.5 or later. Install either of the following packages (but not both):

  • sun-java6
    (Sun's Java Runtime)
  • openJDE-6-jre
    (open-source Java runtime)

Part 3: GCalDaemon Installation

These instructions are generally based on the GCalDaemon web site's installation instructions. They do require use of the command line, but aren't anything too painful.

Begin by downloading the latest Linux installation ZIP file.

Unzip this archive under the '/usr/local/sbin' directory. Assuming you downloaded the ZIP file into ~/downloads/, then:

cd /usr/local/sbin

unzip ~/downloads/gcaldaemon-linux*.zip

chmod -R g+w /usr/local/sbin/GCALDaemon

chmod 755 /usr/local/sbin/GCALDaemon/bin/*.sh

Test your setup by trying to run the password-encoding script:

/usr/local/sbin/GCALDaemon/bin/password-encoder.sh

If you see something like the following, then GCalDaemon is successfully installed:

Your Google password: _

We will run the password encoder script later, during configuration; so for now, hit ENTER to exit the script.

Part 4: iCalendar File Setup

We will use the file-based synchronization scheme, explained by the following diagram (provided by the GCalDaemon web site):

File-based synchronization using GCalDaemon

The key to this synchronization scheme is to have an iCal calendar file that is read/written by both GCalDaemon and KDE-PIM.

First, create the iCal file using KDE-PIM:

  1. In Kalendar view, select "Add Calendar".
  2. In the dialogue that appears, choose "Calendar in Local File".
  3. In the Resource Configuration dialogue:
    • Under "General Settings" give the calendar file a name (for this guide, we will assume the file is named "test")
    • In "Location" browse to the location you wish to store the file (this guide will assume "~/calendars/")
    • Under "Calendar Format" ensure "iCalendar" is selected

You will now see your new calendar appear in KDE-PIM. If you want, add a sample event in your calendar.

Now that the calendar file is created, we can configure GCalDaemon to synchronize this file with Google Calendar. To do so, you have two options: editing the configuration file directly, or using the Configuration Editor application.

If you are only synchronizing one calendar file, either method is equally easy. I did find, however, that configuring multiple calendar files to synchronize (I have four) was much easier using the Configuration Editor.

This guide will first explain how to edit the configuration file directly, and then how to run the Configuration Editor.

Part 5a: GCalDaemon Configuration (Editing the Configuration File)

Using the command-line instructions above, run the Password Encoder script:

/usr/local/sbin/GCALDaemon/bin/password-encoder.sh

At the prompt, enter your gmail password. The script will return the result of encoding the password. Take note of this result; you will need it shortly.

GCalDaemon gmail password encoder

Go to Google Calendar, and copy the iCal URL for your calendar's Private Address on the Calendar Settings page.

Google Calendar settings iCal URL

Now you are ready to edit the configuration file. Using the editor of your choice (e.g. Kate), open the /usr/local/sbin/conf/gcal-daemon.cfg file. Edit as follows:

  1. Set the 'file.enabled' property to 'true'
  2. Set the 'file.google.username' property to your Gmail address
  3. Set the 'file.google.password' property to your encoded password
  4. Set the 'file.private.ical.url' property to iCal URL, without protocol and hostname

The following screenshot details the above instructions:

GCalDaemon configuration file

Save and close the file. Everything should now be configured.

Part 5b: GCalDaemon Configuration (Configuration Editor)

GCalDaemon doesn't provide a KMenu shortcut for the Configuration Editor. (You can create one, but doing so it outside the scope of this guide.) To launch the Configuration Editor, use the command-line to run the Config Editor script:

/usr/local/sbin/GCALDaemon/bin/config-editor.sh

This script will run the Configuration Editor, which looks something like the following:

GCalDaemon Configuration Editor

The GCalDaemon website has a nice guide for how to configure using the Configuration Editor (note: the method I describe uses the Offline-Enabled mode). Please see the GCalDaemon guide for screenshots. Also, This guide by MakeTechEasier does a nice job of explaining how to use the Configuration Editor.

To configure:

  1. Select the second tab (HTTP Synchronizer) and disable the HTTP-based synchronizer.
  2. Select the third tab (File Synchronizer) and enable the file-based synchronizer.
  3. Enable the 'dial-up connection' mode (second checkbox on this page)
  4. Click on the 'Google Accounts' button.
  5. Register your Google Account (note: if you have already configured using the previous method, you will already see your Google account listed): Click on 'New Account', type in your Gmail address and password (twice), then click on 'Verify' button.
  6. After the verification, click on the 'OK' button in the "Verify" dialogue.
  7. Back in the File Synchronization tab, ensure the tab (at the bottom) that corresponds to your Gmail account is selected, and click on the 'New' button (bottom left). The Google Calendar Synchronization dialogue will appear. Configure as follows:
    • Google Account: Your Gmail account should be selected; if not, select it from the drop-down menu
    • Google Calendar: paste in the Private URL for your Google Calendar (which you noted previously, in Part 5a)
    • iCal File: paste in the file location for your local iCal file, used by KDE-PIM (which you created previously, in Part 4)
  8. Click "OK" to be returned to the File Synchronization tab. You will now see the file-synchronization information for your Google Calendar and local iCal file.
  9. (Note: if you want to set up multiple calendar-file synchronizations, simply repeat the above steps iin the File Synchronization tab for each calendar to by synchronized. In my case, I have four separate file synchronizations defined here.)
  10. Close the Configuration Editor.

GCalDaemon is now fully configured.

Part 6: Running GCalDaemon

Start GCALDaemon by running the "standalone-start.sh" script:

/usr/local/sbin/GCALDaemon/bin/standalone-start.sh

GCalDaemon is now running. You should now see your Google Calendar events in KDE-PIM. Verify the two-way synchronization by adding an event to your calendar in KDE-PIM. Depending on the polling frequency in gcal-daemon.cfg, it may take a few minutes for your new event to appear in your Google Calendar.

It would probably be a good idea to set this script to be started at session startup. (Again, doing so is outside the scope of this guide.) If this script is running, GCalDaemon will continuously poll both your Google Calendar and your local iCal file, and keep both in synch.

If, however, you don't want to leave the script running, you can use the one-time synchronize script whenever you want to synchronize your calendars. This script will run the synchronization and then exit:

/usr/local/sbin/GCALDaemon/bin/sync-now.sh

That's it! Your calendars will stay perpetually synchronized (if you use the always-running script) or will synchronize on command (if you use the one-time synchronization script). Again, the setuip is more involved than using OpenSync, but in the end, maintaining synchronized calendars is easier and more secure using GCalDaemon.