How To Synchronize KDE-PIM with Google Calendar

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: OpenSync Tutorial for any future updates to this guide.

As a follow-up to my previous post, I was asked a question regarding how to synchronize KDE-PIM with Google Calendar using OpenSync. This post will explain how to use the Google Calendar plugin for OpenSync. In my next post, I will explain what I believe to be a better way to synchronize KDE-PIM with Google Calendar, using GCalDaemon.

This guide will assume that the synchronization will take place between Google Calendar and KDE-PIM.

Installing the OpenSync Google Calendar Plugin

(Caveat: this guide is purely theoretical, in that I have not actually followed the steps in practice, to perform a real-life synchronization. I prefer using GCalDaemon, which I will explain later in this post.)

Assuming OpenSync, MultiSync, and KitchenSync are installed and working, in order to synchronize Google Calendar, install the following plugin:

  • opensync-plugin-google-calendar
  • (OpenSync plugin for Google Calendar)

The rest of the instructions are pretty similar to the original guide.

Configuring the OpenSync Google Calendar Plugin Using msynctool (Command Line)

We will use msynctool, which we previously installed, to set up the synchronization via the command line. I found the msynctool manpage documentation to be incredibly helpful. To set up the synchronization via msynctool, at the command line type the following:

msynctool --addgroup GCal

msynctool --addmember GCal google-calendar

msynctool --addmember GCal kdepim-sync

You have just created a group called “GCal” that contains two members: a Google Calendar and KDE-PIM. The KDE-PIM member requires no configuration; however, the Google Calendar member does require configuration - namely, the gmail credentials and private feed URL of the calendar to by synchronized. To see the group configuration, at the command line type the following:

msynctool --showgroup GCal

The command will return information that member 1 (google-calendar) is not configured, and that member 2 (kdepim-sync) does not require configuration. To configure google-calendar, type the following at the command line:

msynctool --configure Gcal 1

The “1" at the end of the command indicates “member 1", which is google-calendar (if you followed the above instructions). This command brings up the configuration file for the google-calendar member of the “GCal” group. Optionally, you can edit the file (using Kate or your editor of choice), by opening the file directly.

Currently, the OpenSync configuration files are located in:
~/.opensync-0.22/.
If you followed the previous guide, and already have another sync group configured, then this group’s configuration files should be found in:
~/.opensync-0.22/group2/
If you defined google-calendar as member 1, then the google-calendar configuration files should be found in:
~/.opensync-0.22/group2/1/.

In this directory, open and edit the barry-sync.conf file. You will only need to edit one line, as indicated by the instructions in the file. The line to edit begins with “Device” and should look something like:

<url>
http://www.google.com/calendar/feeds/USER@gmail.com/private/full
</url>
<username>USER@gmail.com</username>
<password>PASSWORD</password>

Edit to add your gmail credentials, as follows:

  • USER@gmail.com: Replace with your gmail address
    (Be sure to replace both instances: in <url> and in <password>.)
  • PASSWORD: Replace with your gmail password

Edit, save, and close the configuration file, and your synchronization group should be ready to go. To verify using msynctool, type the following at the command line:

msynctool --showgroup GCal

This time, the command should return the configuration information you just entered.

Now comes the moment of truth: performing the synchronization. First, make sure that KDE-PIM is not running (otherwise the process will generate errors). Again using msynctool, at the command line type the following:

msynctool --sync GCal

That’s it. You should see the synchronization process in the command shell, and once the process completes, you should see your KDE-PIM (Kalendar) calendar events on your Google Calendar, and vice versa.

Configuring the OpenSync Google Calendar Plugin Using KitchenSync (GUI)

To begin, go to KMenu -> Utilities -> KitchenSync, which will launch the KitchenSync application.

The process of creating groups and group members is pretty straight-forward. (Note: if you have already created a sync group in the previous step, you will see this group displayed within KitchenSync.) To configure:

  1. Click the “Add Group” button.
  2. Assign a name to the group in the dialogue that appears, and click “OK”. The Configure Synchronization Group dialogue will appear.
  3. Select the object types to be synchronized. Since our focus is Google Calendar, we will select only "events" and de-select "Contacts", "Notes", and "To-Dos".
  4. At the bottom of the dialogue, click “Add Member”. The Select Member Type dialogue appears.
  5. Select "Google Calendar” and click “OK”. The configuration dialogue will appear. Enter the information as follows:
    • Name: leave as-is, or customize to your needs
    • Username: your gmail username (full gmail email address)
    • Password: your gmail password
    • Calendar URL: the event feed URL for the Google Calendar you wish to synchronize<. Replace "USER" in "USER@gmail.com" with your gmail username.
  6. Again click “Add Member”. The Select Member Type dialogue appears.
  7. The second member is KDE-PIM. Select “KDE Desktop” and click “OK”.
  8. Click “OK” again, and you will be returned to the main screen.

You should now see the group you just configured, along with two links: “Synchronize Now” and “Configure.”

Click “Synchronize Now” (or, click the “Synchronize” button on the toolbar), and the synchronization should commence, with indications of its progress. At this point, you should see the synchronization progress indication, and once the process completes, you should see your KDE-PIM (Kalendar) calendar events in your Google Calendar, and vice versa.

Again, I can't confirm that this method works; but if anyone would like to try, and report, please let me know.

Synchronizing a BlackBerry in Linux

Filed in LinuxTags: Amarok, Blackberry, KDE-PIM, Kubuntu, Synchronization

This guide has been moved to the Tutorials section, but will remain here for historical reference. Please refer to the BlackBerry-Linux Sync Tutorial for any future updates to this guide.

We recently switched our mobile carrier, from Sprint to AT&T. That change meant new phones, and at my wife's insistence that I get something other than the boring, basic phones I had always used, I got a BlackBerry Curve.

I have mainly used my PDA (an iPaq Mobile Companion rx5915) as a GPS Navigator, so it would be nice to be able to use the PIM features of the BlackBerry. Unfortunately, RIM (the manufacturer of the BlackBerry) has been less-than-friendly to Linux users, and has not provided proper drivers to allow Linux to support the BlackBerry. Fortunately, however, the Linux community has come through to provide options. As a result, my BlackBerry now communicates with my laptop and synchronizes with KDE-PIM (a better-than-Outlook PIM replacement for Outlook). Oh, and as a bonus, I can transfer music to the BlackBerry's microSD card using Amarok.

Here's how:

Part 1: BlackBerry microSD Card Mounting

My first step was to install a microSD card (I used a 2.0GB card). As this Linux App Finder tutorial explains, the following two settings must be configured under Settings -> Options -> Media Card on the BlackBerry:

  • Media Card Support: On
  • Mass Storage Mode Support: On
  • Auto Enable Mass Storage Mode When Connected: Yes

Upon connecting the BlackBerry to the laptop via USB, Kubuntu Hardy natively recognized the microSD card as removable media, and mounted it. The BlackBerry itself, however, indicated the following warning:

USB charging current is not sufficient. Verify that your handheld is connected to a powered USB charging source and that the proper USB driver is installed.

(Interestingly, the BlackBerry still seemed to charge via the USB connection.) Not to worry; we will address this issue a bit later.

Part 2: Managing microSD Card Media With Amarok

Since I was following along with the tutorial, I went on to part 2, which explained how to use Amarok to manage music on the microSD card. I skipped the first section regarding using Amarok to transcode from FLAC to MP3 on-the-fly, as I rip my CDs as MP3 anyway. Moving on to the next section, regarding how to configure Amarok:

  1. Go to Settings -> Configure Amarok -> Media Devices.
  2. The BlackBerry SD card should already be listed, but if it isn't, click "Autodetect Devices." Mine shows up as Name: sdb1.
  3. Amarok won't pre-select a device type. Use "Generic Audio Player."
  4. Click the Configure button (three interlocked, blue gears) to configure the connection.
  5. Set the song location to:
    /BlackBerry/music/%artist/%album/%title.%filetype
  6. Set the podcast location to:
    /BlackBerry/music/podcasts/
  7. Click OK to finish, and then exit the Configure Amarok dialogue.
  8. From the main Amarok window, click the Devices tab.
  9. At the top of the sidebar, you should see the newly configured media device. Click "Connect" and you should see the directory structure of the BlackBerry's microSD card. Open the "Blackberry" folder, and you should see directories for Music, Pictures, Ringtones, System, and Videos.
  10. Create a playlist in the right-hand pane (you may need to return to the Collection tab to do so), and then highlight and drag the songs from the playlist into the Music folder in the device pane. Doing so will create a transfer queue in the device pane.
  11. Once you have created a transfer queue, click the "Transfer" button (next to the "Connect" and "Disconnect" buttons at the top of the device pane) to transfer the music to the BlackBerry's microSD card.

That's it! Your music is ready for listening on the BlackBerry, using the installed media player.

Part 3: BlackBerry - KDE-PIM Synchronization: Package Installation

Now, onto the more important task of configuring the BlackBerry itself for communication and synchronization with Linux. The Linux.com article Syncing Your BlackBerry on Linux provided a great start.

While RIM does not officially support synchronization between the BlackBerry and Linux, the Barry Project comes to the rescue. Begin by installing the necessary packages.

(Note that the installation instructions in both the Linux.com article and on the Barry project web site may not be up-to-date. For Ubuntu users, no compilation is required. Barry developers now provide .DEB packages that are current through Ubuntu 7.10. The packages should handle the necessary dependencies, making installation much more simple that before.)

My installation method may not be the best or most efficient, but it worked for me. Here's what I did:

First, install OpenSync and related plugins. Using the package manager of your choice (which, from within Kubuntu, would be Adept Manager), install the following packages:

  • libopensync0
    (OpenSync framework)
  • opensync-plugin-kdepim
    (OpenSync KDE-PIM plugin)
  • opensyncutils
    (OpenSync command-line utilities)
  • kitchensync
    (KDE OpenSync GUI)

You may find other OpenSync plugins useful; for example, I also installed the following:

  • opensync-plugin-file
    (OpenSync plugin for file sync)
  • opensync-plugin-google-calendar
    (OpenSync plugin for Google Calendar)
  • opensync-plugin-syncml
    (OpenSync plugin for SyncML)

Once you have OpenSync and related plugins installed, ensure you have the libusb packages installed. The current package available in the Ubuntu repositories is:

  • libusb-0.1-4

Next, install the MultiSync package and its related plugins. MultiSync is another GUI for performing PIM synchronization. I won't go in detail on its use here; we are mainly installing it for its msynctool command-line utility. Install at least the following packages:

  • multisync
    (PIM synchronization tool)
  • multisync-tools
    (command-line utilities for multisync)

Note: if you want to use the full plugin suite avaliable for MultiSync, just install the following package:

  • multisync-plugin-all
    (complete suite of plugins for MultiSync)

Finally, install the appropriate packages for Barry, from the Barry project Sourceforge site. Download files for the current version (Barry-0.12) are here. Download and install the following packages:

  • libbarry_0.12-1_ubuntu710_i386.deb
    (The main Barry library): must be installed first
  • barry-util_0.12-1_ubuntu710_i386.deb
    (Command-line Barry utilities)
  • barrybackup-gui_0.12-1_ubuntu710_i386.deb
    (GUI for BarryBackup utility)
  • libopensync-plugin-barry_0.12-1_ubuntu710_i386.deb
    (OpenSync plugin for Barry)

You now have all the needed packages installed.

Part 4: BlackBerry - KDE-PIM Synchronization: Communication and Backup

You are now ready to verify communication between Kubuntu and the BlackBerry. Connect the BlackBerry via USB. At this point, you will still see the message on your BlackBerry regarding insufficient power for USB charging. We are about to resolve that issue. Open a terminal, and type the following:

btool -t

If the command returns a list of databases found on the BlackBerry, congratulations! Kubuntu sees and can communicate with the BlackBerry. You should also notice that the warning about insufficient power for USB charging has disappeared from your BlackBerry.

If that step was successful, the next step is to backup the data on your BlackBerry. To do so, we will use the Barry Backup utility that we recently installed. In the terminal, type the following:

barrybackup

You should now see the GUI for the Barry Backup utility. Since the BlackBerry is connected, and Kubuntu recognizes it, the PIN field should be pre-populated with your BlackBerry's PIN. (Note: you should copy this PIN, as you will need it in later steps.)

Click the "Backup" button, and the utility will backup all of the database data on your BlackBerry. The progress bar will display the progress of the backup process. Once complete, this backup will be available (via the "Restore" button), should you need to restore your data for any reason.

Part 5a: BlackBerry - KDE-PIM Synchronization: Synchronizing Calendar and Contacts via OpenSync and msynctool (command line)

And finally, the moment we've been waiting for: synchronizing KDE-PIM calendar and contacts with the BlackBerry.

Synchronization of calendar and contacts will take place via OpenSync. OpenSync requires the definition of a sync group, which consists of sync members. Think of the group as the synchronization profile, and the members as the two sources to be synchronized. In our case, our profile will consist of KDE-PIM and our BlackBerry.

The next steps can be carried out either via the command line using msynctool, or through a GUI using the KitchenSync application. I will first give the command-line instructions, and then take a look at KitchenSync.

We will use msynctool, which we previously installed, to set up the synchronization via the command line. I found the msynctool manpage documentation to be incredibly helpful. To set up the synchronization via msynctool, at the command line type the following:

msynctool --addgroup Blackberry

msynctool --addmember Blackberry barry-sync

msynctool --addmember Blackberry kdepim-sync

You have just created a group called "Blackberry" that contains two members: a BlackBerry and KDE-PIM. The KDE-PIM member requires no configuration; however, the BlackBerry member does require configuration - namely, the device PIN, and flags for synchronization of Calendar, Contacts, or both. To see the group configuration, at the command line type the following:

msynctool --showgroup Blackberry

The command will return information that member 1 (barry-sync) is not configured, and that member 2 (kdepim-sync) does not require configuration. To configure barry-sync, type the following at the command line:

msynctool --configure Blackberry 1

The "1" at the end of the command indicates "member 1", which is barry-sync (if you followed the above instructions). This command brings up the configuration file for the barry-sync member of the "Blackberry" group. I'm not terribly comfortable with file editing via the command shell. If you're the same, then note that you can save and exit the file editor in the shell, and then edit the file (using Kate or your editor of choice), by opening the file directly.

Currently, the OpenSync configuration files are located in:
~/.opensync-0.22/.
If you have only configured one synchronization group, then that group's configuration files should be found in:
~/.opensync-0.22/group1/
If you defined barry-sync as member 1, then the barry-sync configuration files should be found in:
~/.opensync-0.22/group1/1/.

In this directory, open and edit the barry-sync.conf file. You will only need to edit one line, as indicated by the instructions in the file. The line to edit begins with "Device" and should look something like:

Device 123A4567 1 1.

The parameters are as follows:

  • Device: begin device configuration
  • 123A4567: your BlackBerry's PIN
  • 1: Sync Calendar (Yes: 1, No: 0)
  • 1: Sync Contacts (Yes: 1, No: 0)

Edit, save, and close the configuration file, and your synchronization group should be ready to go. To verify using msynctool, type the following at the command line:

msynctool --showgroup Blackberry

This time, the command should return the configuration information you just entered.

Note: I actually created two separate synchronization groups: BlackberryCalendar and BlackberryContacts. I wanted to separate the two sync groups, mainly for troubleshooting purposes. (Synchronizing my calendar was more critical for me. I have over 2,000 contacts in KDE-PIM, and haven't wanted to tackle that synchronization yet.)

Now comes the moment of truth: performing the synchronization. First, make sure that KDE-PIM is not running (otherwise the process will generate errors). Again using msynctool, at the command line type the following:

msynctool --sync Blackberry

That's it. You should see the synchronization process in the command shell, and once the process completes, you should see your KDE-PIM (Kalendar/Kontact) calendar events (if you synchronized calendars) and contacts (if you synchronized contacts) on your BlackBerry, and vice versa.

Part 5b: BlackBerry - KDE-PIM Synchronization: Synchronizing Calendar and Contacts via OpenSync and KitchenSync (GUI application)

The process of defining and configuring synchronization groups and group members, and performing the synchronization can take place using a GUI application. To do so, go to KMenu -> Utilities -> KitchenSync, which will launch the KitchenSync application.

The process of creating groups and group members is pretty straight-forward. (Note: if you have already created a sync group in the previous step, you will see this group displayed within KitchenSync.) To configure:

  1. Click the "Add Group" button.
  2. Assign a name to the group in the dialogue that appears, and click "OK". The Configure Synchronization Group dialogue will appear.
  3. Select the object types to be synchronized. (Note: with the current version of Barry, only Calendar (Events) and Contacts object types are supported.)
  4. At the bottom of the dialogue, click "Add Member". The Select Member Type dialogue appears.
  5. To be consistent we will make the BlackBerry the first member. Select "Barry OpenSync plugin v0.12 for the BlackBerry Handheld" and click "OK". The configuration file will appear. Enter the configuration as before.
  6. Again click "Add Member". The Select Member Type dialogue appears.
  7. The second member is KDE-PIM. Select "KDE Desktop" and click "OK".
  8. Click "OK" again, and you will be returned to the main screen.

You should now see the group you just configured, along with two links: "Synchronize Now" and "Configure."

Click "Synchronize Now" (or, click the "Synchronize" button on the toolbar), and the synchronization should commence, with indications of its progress. Once again, at this point, you should see the synchronization process in the command shell, and once the process completes, you should see your KDE-PIM (Kalendar/Kontact) calendar events (if you synchronized calendars) and contacts (if you synchronized contacts) on your BlackBerry, and vice versa.

Summary

And that's it! To summarize, at this point you should be able to do all of the following within Kubuntu:

  • Charge your BlackBerry via USB
  • View and transfer files to/from your BlackBerry via USB Mass Storage mode
  • Manage music on your BlackBerry using Amarok
  • Synchronize KDE-PIM Contacts and Calendar events with your BlackBerry

If you have any comments, questions, or suggestions, please let me know in the comments.

Update 1: Added instructions for installation of msynctool and fixed a mis-spelling; thanks theZoid from UbuntuForums.org!

REVIEW: Cravens Guatemala Fraijanes

Filed in ReviewsTags: Coffee

Cravens Coffee

Roast
Dark
Aroma
9
Acidity
7
Body
7
Flavor
8
Finish
9

Roaster’s Description:

The roaster rates this blend as Dark Roasted, Smoky Characteristic, Medium-Bodied, and describes it as follows:

On the Fraijanes (pronounced free-haan-ays) Plateau, east of Guatemala City, this smoky, spicy, sweet varietal flourishes in the deep rich volcanic soil of the region.

Review

Ever since discovering the amazing Earth and Sky organic blend, my regular coffee deliveries have come from Craven's Coffee. Recently, I decided to try another of their offerings: Guatemala Fraijanes.

RoastDark

 
Dark

Dark roast, very nice, even color. Evident oil on the freshly roasted beans, which give off a wonderfully (but not overpoweringly) charcoal aroma.

Aroma9

 
9

Average aroma; pleasant, balanced; earthy and smooth, with vanilla hints.

Acidity7

 
7

Average acidity; bright, but not especially dry.

Body7

 
7

Moderate body; almost unassuming - but by no means detrimental.

Flavor8

 
8

Average flavor; balanced, but not particularly complex. Curry-like notes of perhaps cardamom or cumin. Smoky aroma gives way to a slightly chalky flavor; earthy aroma reveals delicate floral hints.

Finish9

 
9

Noticeable finish. Not particularly long-lasting, but pleasant, clean aftertaste.

Overall40

 
40

The bag indicates that this varietal comes from Finca Vista Hermosa, which is a high-quality cooperative in the Fraijanes sub-region of Huehuetenango and a coffee region that is often overshadowed by the Antigua coffees, but which is increasingly receiving the respect it deserves. Consistent descriptions of Fraijanes beans may remain elusive, but the quality of the end product certainly isn't. Craven's Guatemala Fraijanes is a pleasant, easy-to-drink coffee that nicely exemplifies the best of Central American beans.

Review Notes:
I use my personal rating system, to attempt to review coffees against a common standard. I attempt to review coffees as close to roasting as possible, and review coffees based upon press-pot brewing.

WordPress 2.5.1 Security/Bugfix Update Released

Filed in Web DevelopmentTags: Geekery, Web Site, WordPress

WordPress 2.5.1 has been released. This version is a security and bug-fix release.

Version 2.5.1 of WordPress is now available. It includes a number of bug fixes, performance enhancements, and one very important security fix. We recommend everyone update immediately, particularly if your blog has open registration. The vulnerability is not public but it will be shortly.

Some of the listed improvements include:

  • Performance improvements for the Dashboard, Write Post, and Edit Comments pages.
  • Better performance for those who have many categories
  • Media Uploader fixes
  • An upgrade to TinyMCE 3.0.7
  • Widget Administration fixes
  • Various usability improvements
  • Layout fixes for IE

Upgrade, if you haven't already.

Draft Eve Colts News

Filed in SportsTags: Colts, Draft, Indiana, Indianapolis, NFL

In what will be a relief to Colts fans, the Indy Star is reporting that Dwight Freeney is now beginning running drills, and expects to be ready to play by opening day. Hearing of his progress is great news, because while Bob Sanders may be the soul of the Colts defense, Dwight Freeney is the heart:

There's no debating Freeney's value to the Colts, who signed him to a six-year, $72 million contract last July. They were able to get by without him during the seven regular-season games he missed at the end of last season, but a Freeney-less pass rush was a major factor in the Colts' postseason loss to San Diego.

"I'm not sure there is another defensive player that has had as big an impact on a team as Dwight Freeney the last few years,'' said former Houston Texans general manager Charley Casserly. "He makes the whole defense better in Indianapolis.''

In what will be perplexing to Colts fans, the Patriots have signed 36-year-old, former Colts TE Marcus Pollard. Living in Rams land, I saw way too many Seahawks games last year. I have to say, I'm not all that impressed with Pollard's skills these days. He's not the same player he was for the Colts. I really have no idea what the Patriots are thinking with this move.

(H/T: 18to88)

Ninth Circuit: All Your Laptop Are Belong To Us

Filed in Social IssuesTags: Constitutional Rights, Judiciary

The Ninth Circuit Court of Appeals yesterday reversed a lower court's decision that laptop searches by border agents are a violation of the Fourth Amendment. From the WSJ law blog:

The backstory: In July of 2005, Michael Arnold, who was 43 at the time, was pulled aside for secondary questioning upon arriving at LAX from the Philippines. Customs agents checked out his laptop and, according to the ruling, found “numerous images depicting what they believed to be child pornography.”

Arnold was later charged with possessing and transporting child porn and with traveling to a foreign country with the intention of having sex with children. But lower court Judge Dean Pregerson of Los Angeles suppressed the evidence after finding that customs agents didn’t have reasonable suspicion to search the contents of Arnold’s laptop.

The Ninth Circuit, in an opinion penned by Judge Diarmuid O’Scannlain, reversed on Monday, holding that “reasonable suspicion is not needed for customs officials to search a laptop or other personal electronic storage devices at the border.”

In reading the decision, my initial reaction is that while the conclusion is ultimately wrong (opening files on a laptop without reasonable suspicion is clearly a violation of the Fourth Amendment, regardless of what precedent rulings exist), the defendant chose an absolutely absurd defense. It is that absurd defense that is the basis of the court's decision.

Arnold based his defense on two arguments: one, that the laptop is an extension of the human body (since it contains data in the same way that the human mind contains ideas) and thus is protected from unreasonable searches, and two, that the laptop is analogous to a person's "home" (due to the capacity of the data storage and thus is protected from undue damage or destruction during a search.

Given the two prongs of this defense, I can understand how the Ninth Circuit would reverse.

I'm no lawyer, but in my opinion, a much more sound defense would have been that viewing personal data without cause or suspicion is an unreasonable search, even at the border. The Ninth Circuit's decision references United States v. Tsai (border searches of briefcases) and United States v. Ickes (border searches of vehicles, and electronic devices contained therein) as precedent that the defendant was not subject to unreasonable search.

Recall the words of the Fourth Amendment:

The right of the people to be secure in their persons, houses, papers, and effects, against unreasonable searches and seizures, shall not be violated, and no Warrants shall issue, but upon probable cause, supported by Oath or affirmation, and particularly describing the place to be searched, and the persons or things to be seized.

Apparently, the courts have ruled that "searches made at the border...are reasonable simply by virtue of the fact that they occur at the border", under the justification that "...the United Stats, as Sovereign, has the inherent authority to protect, and a paramount interest in protecting, its territorial integrity" (United States v. Flores-Montano). Similarly, the Supreme Court (United States v. Ramsey) has held that:

The authority of the United States to search the baggage of arriving international travelers is based on its inherent sovereign authority to protect its territorial integrity. By reason of that authority, it is entitled to require that whoever seeks entry must establish the right to enter and to bring into the country whatever he may carry.

The issue, however, is that these searches are not appropriately bounded. While it is reasonable for a border agent to require a passenger to turn on a laptop to ensure that all its components are legitimately part of a laptop (e.g. the battery is not actually some sort of bomb), it is in no way reasonable for that border agent to rummage through the files contained on that laptop without reasonable cause.

Essentially, the justification by the courts here is that, since some things are illegal in the US but are legal elsewhere, any traveler could have legally obtained something that is illegal in the US, thus everything is subject to search at the border, and that the search takes place at the border establishes that such searches are reasonable.

Basically, this justification completely guts the Fourth Amendment. It is as if the courts are saying, "check your Constitution at the border."

Arnold should have challenged the unconstitutionally broad application of conferring reasonableness on searches simply by virtue of their occurrence at a border entry.

Another reasonable argument would have been the court's equation of a laptop to a traveler's luggage. The contents of luggage is in no way inherently analogous to the contents of a laptop (or of an MP3 player, a digital camera, or camcorder).

Oh, and as others have said: TrueCrypt. Either encrypt your entire drive, or put all private data inside an encrypted partition. If the courts won't uphold the Fourth Amendment, then perhaps the Fifth Amendment will still apply, and you'll still be protected from being forced to divulge your password for your encrypted data.

Volokh Conspiracy has a lot of interesting commentary. Dailybreeze also covers the story.

(H/T: PCWorld)

Kenton Keith Arrested

Filed in SportsTags: Colts, Indiana, Indianapolis, NFL

Indianapolis Colts' second-string RB Kenton Keith was arrested outside of an Indianapolis bar early yesterday morning [emphasis added]:

Police officers and security guards were attempting to clear the parking lot after the club closed when they noticed that Keith, 27, 6700 block of Echo Lane, and other men with him were not leaving. According to the police report, the men ignored several requests to leave and began to dance, yell and lean into cars in the parking lot.

After telling the men several times to leave, police told them to put their hands on a vehicle. Keith initially refused and tried to pull out a cell phone to record the incident, according to the report. He eventually was handcuffed while officers sorted things out.

According to the police report, Keith "kept hollering that he was a Colts player, he wasn't doing anything wrong, and he would leave when he was ready."

Keith was arrested and charged with disorderly conduct, resisting law enforcement, public intoxication and contributing to the delinquency of a minor, as another man with him was 19.

The Colts organization doesn't take too kindly to this sort of behavior. Did you catch that part in the middle?

Keith "kept hollering that he was a Colts player, he wasn't doing anything wrong, and he would leave when he was ready."

Perhaps not for long, KK. The Colts don't like players who catch rap sheets better than passes from Manning.

(H/T: 18to88)

Earthquake

Filed in PersonalTags: Missouri, Saint Louis

So I'm not crazy. I woke up a little after 4:30 this morning, with the sensation that the house was rocking. I jumped out of bed to investigate, but found all well and normal.

Turns out it was a 5.2-magnitude earthquake.

USGS Shake Map of 5.2 Magnitiude Earthquake 04/18/2008

Post-Dispatch and Tribune-Star stories here.

The U.S. Geologic Survey Web site says the quake was centered near West Salem, Ill., or about 40 miles northwest of Evansville, Ind.

...

The quake occurred in the Illinois basin-Ozark dome region that covers parts of Indiana, Kentucky, Illinois, Missouri, and Arkansas and stretches from Indianapolis and St. Louis to Memphis, according to the U.S. Geological Survey.

Also, apparently, the quake was felt in Grand Rapids, MI,, Cincinnati, OH - and even 450 miles away in Des Moines, IA.)

Of course, I couldn't get back to sleep - so I'm going to be a bit tired today!

Scalia KOs Stevens

Filed in Politics, Social IssuesTags: Judiciary

The Supreme Court, in a 7-2 decision in Baze v. Rees, confirmed that lethal injection does not violate the 8th Amendment as cruel and unusual punishment.

As relieved as I am to note that SCOTUS has not lost all common sense (it does not take a Constitutional Law degree to come to the conclusion that a) the Constitution explicitly permits the death penalty, and b) lethal injection is neither cruel nor unusual, therefore c) lethal injection does not violate the 8th Amendment), I was particularly impressed by Justice Scalia's takedown of Justice Stevens' concurring opinion, in which he argues that in his experience the death penalty has not benefited society and that the death penalty is unconstitutional. Here's an excerpt of Scalia pointing out Stevens' judicial activism and illogic:

But actually none of this really matters. As JUSTICE STEVENS explains, “ ‘objective evidence, though of great importance, [does] not wholly determine the controversy, for the Constitution contemplates that in the end our own judgment will be brought to bear on the question of the acceptability of the death penalty under the Eighth Amendment.’ . . . I have relied on my own experience in reaching the conclusion that the imposition of the death penalty” is unconstitutional."

Purer expression cannot be found of the principle of rule by judicial fiat. In the face of JUSTICE STEVENS’ experience, the experience of all others is, it appears, of little consequence. The experience of the state legislatures and the Congress—who retain the death penalty as a form of punishment—is dismissed as “the product of habit and inattention rather than an acceptable deliberative process.” The experience of social scientists whose studies indicate that the death penalty deters crime is relegated to a footnote. The experience of fellow citizens who support the death penalty is described, with only the most thinly veiled condemnation, as stemming from a “thirst for vengeance.” It is JUSTICE STEVENS’ experience that reigns over all.

I take no position on the desirability of the death penalty, except to say that its value is eminently debatable and the subject of deeply, indeed passionately, held views—which means, to me, that it is preeminently not a matter to be resolved here. And especially not when it is explicitly permitted by the Constitution

God bless Justice Scalia!

(H/T: RedState, which you should read for the full, color commentary.)

Review: Good Calories, Bad Calories

Filed in ReviewsTags: Books, Health/Nutrition, Low Carb, Weight Loss

I finally had a chance to finish Gary Taubes' book Good Calories, Bad Calories, and all I can really say is, "Wow!"

Taubes' 600-page book is the culmination of five years of work researching a century worth of epidemiological and clinical research into the carbohydrate and fat hypotheses regarding physiology, metabolism, obesity, and the "diseases of civilization" - coronary heart disease, diabetes, cancer, dementia, etc. The volume, which includes some 70 pages of bibliographical references, is divided into three sections: a history of the fat-heart disease hypothesis, a history of the carbohydrate-heart disease hypothesis, and a history of the fat-obseity and carbohydrate-obesity hypotheses.

Taubes reviews this century-worth of data, and comes to the following conclusions:

  1. Dietary fat, whether saturated or not, does not cause heart disease.
  2. Carbohydrates do, because of their effect on the hormone insulin. The more easily-digestible and refined the carbohydrates and the more fructose they contain, the greater the effect on our health, weight, and well-being.
  3. Sugars—sucrose (table sugar) and high fructose corn syrup specifically—are particularly harmful. The glucose in these sugars raises insulin levels; the fructose they contain overloads the liver.
  4. Refined carbohydrates, starches, and sugars are also the most likely dietary causes of cancer, Alzheimer’s Disease, and the other common chronic diseases of modern times.
  5. Obesity is a disorder of excess fat accumulation, not overeating and not sedentary behavior.
  6. Consuming excess calories does not cause us to grow fatter any more than it causes a child to grow taller.
  7. Exercise does not make us lose excess fat; it makes us hungry.
  8. We get fat because of an imbalance—a disequilibrium—in the hormonal regulation of fat tissue and fat metabolism. More fat is stored in the fat tissue than is mobilized and used for fuel. We become leaner when the hormonal regulation of the fat tissue reverses this imbalance.
  9. Insulin is the primary regulator of fat storage. When insulin levels are elevated, we stockpile calories as fat. When insulin levels fall, we release fat from our fat tissue and burn it for fuel.
  10. By stimulating insulin secretion, carbohydrates make us fat and ultimately cause obesity. By driving fat accumulation, carbohydrates also increase hunger and decrease the amount of energy we expend in metabolism and physical activity.
  11. The fewer carbohydrates we eat, the leaner we will be.

I found the book to be an enjoyable, if dense, read. While Taubes of necessity sometimes gets into the scientific and physiological details, in general he keeps the prose at an understandable level. With the exception of the forward, which I found to be a bit tedious in my first attempt to read, the book is a page-turner, and reads much like investigative journalism.

The preponderance of the evidence - and if you wish to refute it, start with that 70-page bibliography of references - clearly sides with Taubes' conclusions. Perhaps the most controversial aspect of this book is not Taubes' conclusions, but rather the implied indictment of the medical research community with respect to hypothesis regarding the connections between fat, carbhoydrates, heart disease, metabolism, and obesity. That indictment is perhaps best summarized in this line from the Epilogue:

The urge to simplify a complex scientific situation so that physicians can apply it and their patients and the public embrace it has taken precedence over the scientific obligation of presenting the evidence with relentless honesty. The result is an enormous enterprise dedicated in theory to determining the relationship between diet, obesity and disease, while dedicated in practice to convincing everyone involved, and the lay public, most of all, that the answers are already known and always have been - an enterprise, in other words, that purports to be a science and yet functions like a religion.

This book puts the imprimatur on what I have been saying for almost a decade: There is absolutely no rigorous, scientific evidence that dietary fat causes heart disease or obesity. To the contrary: plenty of bona fide evidence places the blame squarely upon the over-consumption of refined carbohydrates.

Simply put: if you care about your health and nutrition, read this book. Come to your own conclusions. But if you want to argue the dietary fat-heart disease or dietary fat-obesity hypotheses, then you'd better read this book first, or else you will only make a fool of yourself.

Others' reviews of Good Calories, Bad Calories: Weight of the Evidence, Beantown Bloggery, Jollyblogger. And of course, plenty of coverage at Livin' La Vida Low Carb.