Friday, November 21, 2008

Moving Back to the 'Couve!

We have big news! I'm quitting my job, and we're moving back to our condo in Vancouver. Time to leave the working world and join the ranks of the stay at home moms. I'm really looking forward to being able to focus 100% on my family now. I never want to feel guilty spending time with Desmond or get frustrated at him when he needs me. To keep working would mean doing neither my job nor my mothering very well. I've always dreamed of being a stay at home mom, and my last day of work will be January 2nd. This is a huge change for us! We're loosing a third of our income, we'll need to pay for my health insurance, Davin has a longer commute, we're changing states, loosing half of our current square footage, and we're back to common walls and no guest parking. However, I am looking forward to being back in new construction, having plush carpet, drastically smaller utility bills, and an automatic garage door opener! Needless to say, we have lots of packing to do between now and Christmas, and we need to downsize our stuff. This is our 3rd move in 4 years so we're pros, but Desmond definitely changes our normal packing routine! Gotta get a move on!

Wednesday, November 19, 2008

The Vaccine Decision

I just finished reading a very good book by Dr. Sears called The Vaccine Book.  I have heard some scary things about vaccines and growing up my family had the philosophy of going natural as much as possible before seeking medical intervention.  I don't want to overreact and not protect Desmond from diseases, but I also don't want to blindly accept everything the doctor wants to inject into his body.  I want to know the actual risks so I can make an informed decision.  This is such an emotional topic for most people that it's hard to find objective information.  Dr. Sears did a great job of researching and presenting the facts on both sides.  It's worth the $12 to get this book.

The main question I want to know is, "Does the risk of getting the disease and then having a serious complication outweigh the risk of a serious vaccine side effect?"  The answer is that no one knows for sure, and it varies depending on which disease we're talking about.  I have a lot of thinking to do, and I'm going to give Davin a good book to read on his commute to work.

 

Some of the things I learned:

  • All vaccines contain something strange and/or toxic like cow, monkey, or chicken tissue, formaldehyde, and aluminum.
  • Mercury still remains in a few vaccines, and certain brands have a better ingredient list that others.
  • Based on FDA guidelines, 30 micrograms of aluminum is the minimum amount a healthy 12 lb baby could safely process in one day.  They haven't reported a maximum amount, but even so, on the recommended vaccine schedule a baby could get as much as 1225 micrograms of aluminum in one day.
  • There is a reporting system for vaccine side effects, and serious side effects include seizures, Guillain-Barre syndrome, brain damage, nerve dysfunction, diabetes, encephalitis, paralysis, and the list goes on.
  • There hasn't been a case of wild polio in the US since 1979, so the chance of getting polio is pretty much zero.  You immunize in this case for the good of society and public health rather than to prevent yourself from getting polio.

Tuesday, November 18, 2008

Lovin' Life with Des

Great Grandma Munger-Johnson came to see Desmond the other day. It was also her first time meeting Davin. I'm not going to go into the whole long story, but it is amazing how an innocent baby can unknowingly bring families back together.


We love our new Ergo! Well, new to us. A friend helped me get this on Craigslist. I was never fast enough on my own, since these things get snatched up the hour they're posted. I usually carry Desmond on the front, but here he is piggy-back riding it with Daddy. When he's fussy and nothing else seems to be working, we suit up and go for a walk. Des actually fell asleep on this walk, but woke up when I got out the camera.


On Sunday we had a dedication service for Desmond. My parents, brother, and grandparents were able to make it to celebrate with us. I was thinking about what it meant to dedicate my son to the Lord. Even though He's God and I'm just a mommy, it's hard for me to really hand over control of Demsond's life. I know I'm really not in control anyway, but I so desperately want to protect him from anything that would hurt him.

Desmond's been working on sitting. He can do it for a few seconds on his own... without the Boppy. Usually he ends up folded in half fussing because his tummy is getting squished. But this has also led to the discovery of his feet. Yesterday he rolled over for the first time (from his tummy to his back). Mobility has begun!

Thursday, November 13, 2008

A Day in the Life of a New Mom

3:00 am - Moan as Desmond squaks over the monitor. Go pat his back. Crawl back in bed. 6:00 am - Desmond's asking for breakfast. Feed and bring him to bed with me. 7:15 am - Say good-bye to Daddy and go back to sleep with Desmond. 8:30 am - Desmond's wanting second breakfast. Diaper and feed him. Get "presentable" in as much time as he allows. 9:00 am - Work out at Baby Boot Camp or run some errands. Desmond falls asleep in the car on the way home and hopefully sleeps long enough for Mommy to get a quick shower. 11:30 am - Feed Desmond lunch. Put him down to play until he's fussing for a nap. 1:00 pm - Eat a quick lunch and work like mad while Desmond's sleeping. 2:30 pm - Feed Desmond and let him play awhile. 4:00 pm - Continue working while Desmond's napping again. 5:30 pm - Daddy's home! One of us feeds Desmond while the other fixes dinner. 6:30 pm - Play with Desmond or put him down for a nap if he's sleepy. 8:00 pm - Change Desmond into his pajamas, swaddle, feed him, and put him down for the night. 9:00 pm - Relish the quietness! Tidy up the house, watch some TV, and try to go to bed before 11! 11:30 pm - Drifting off to sleep thankful for my wonderful family and hoping Desmond doesn't move a muscle until 6:30.

3 Months

I'm gonna get ya!

I think I like this jumpy thing... at least for a couple minutes.

Ah! My favorite way to nap!


Mommy's little bug-a-boo.

Sunday, November 09, 2008

Google Calendar

So, I've been working on creating a php script that pulls Google Calendar data. I couldn't find many examples of how to do it on the web. So, after much trial and error here is what I've come up with. Use as you wish.
<?php
/**********************************************************/
/* The username/password used to login to Google Calendar */
/*                                                        */
/* This is the only part you should have to edit in this  */
/* script.                                                */
/**********************************************************/
$google_username = '???';
$google_password = '???';

/**************************************************************************/
/* Include Zend framework and load libraries, used to interact with Gdata */
/* Get the Zend framework at http://framework.zend.com/download           */
/**************************************************************************/
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_AuthSub');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_Calendar');

/******************/
/* Login to Gdata */
/******************/
$authService = Zend_Gdata_Calendar::AUTH_SERVICE_NAME;
$httpClient = Zend_Gdata_ClientLogin::getHttpClient($google_username, $google_password, $authService);

/***********************************************************************/
/* Replaces [link:url]Text[/link] with a properly formatted anchor tag */
/* The url must have the http:// or https:// at the front              */
/*                                                                     */
/* Params:                                                             */
/*  $text - String of text                                             */
/***********************************************************************/
function createLink($text) {
    $pattern1 = '/\[\/link\]/';
    $pattern2 = '/(\[link:)([^\]]*)(\])/';

    $replacement1 = '</a>';
    $replacement2 = '<a href="$2" target="_blank">';

    $text = preg_replace($pattern1 , $replacement1, $text);
    $text = preg_replace($pattern2 , $replacement2, $text);

    return $text;
}

/*****************************************************************************************/
/* Replaces [email:email address]Text[/email] with a properly formatted email anchor tag */
/*                                                                                       */
/* Params:                                                                               */
/*  $text - String of text                                                               */
/*****************************************************************************************/
function createEmail($text) {
    $pattern1 = '/\[\/email\]/';
    $pattern2 = '/(\[email:)([^\]]*)(\])/';

    $replacement1 = '</a>';
    $replacement2 = '<a href="mailto:$2">';

    $text = preg_replace($pattern1 , $replacement1, $text);
    $text = preg_replace($pattern2 , $replacement2, $text);

    return $text;
}

/*****************************************************/
/* Replaces line breaks in the text with <br /> tags */
/*                                                   */
/* Params:                                           */
/*  $text - String of text                           */
/*****************************************************/
function createLineBreaks($text) {
    $text = str_replace("\n", "<br />", $text);

    return $text;
}

/*****************************************************************/
/* This function applies the formatting functions defined above. */
/*                                                               */
/* Params:                                                       */
/*  $text - String of text                                       */
/*****************************************************************/
function formatText($text) {
    $text = createLink($text);
    $text = createEmail($text);
    $text = createLineBreaks($text);

    return $text;
}

/*****************************************************************/
/* This function formats the date/time shown to the user.        */
/*                                                               */
/* Params:                                                       */
/*  $start - Starting date/time                                  */
/*  $end - Ending date/time                                      */
/*****************************************************************/
function formatDate($start, $end) {
    if (date("H:i:s", $start) == "00:00:00" && date("H:i:s", $end) == "00:00:00") //All day event
    {
        $end = $end - 1; //For all day events the end day is one greater than it really is

        if(date("M j, Y", $start) == date("M j, Y", $end)) //Single day all day event
        {
            $date = date("M j, Y", $start);
        }
        else //All day event spanning multiple days
        {
            if (date("Y", $start) == date("Y", $end))
            {
                if (date("M", $start) == date("M", $end)) //All day event spanning multiple days in same month
                {
                    $date = date("M j", $start) . " - " . date("j, Y", $end);
                }
                else //All day event spanning multiple months
                {
                    $date = date("M j", $start) . " - " . date("M j, Y", $end);
                }
            }
            else // All day event spanning multiple years
            {
                $date = date("M j, Y", $start) . " - " . date("M j, Y", $end);
            }
        }
    }
    else //Time range event
    {
        if(date("M j, Y", $start) == date("M j, Y", $end)) //Single day range event
        {
            $date = date("M j, Y (g:i a", $start) . " - " . date("g:i a)", $end);
        }
        else //Range event spanning multiple days
        {
            if (date("Y", $start) == date("Y", $end))
            {
                if (date("M", $start) == date("M", $end)) //Range event spanning multiple days in same month
                {
                    $date = date("M j (g:i a)", $start) . " - " . date("M j (g:i a), Y", $end);
                }
                else //Range  event spanning multiple months
                {
                    $date = date("M j (g:i a)", $start) . " - " . date("M j (g:i a), Y", $end);
                }
            }
            else //Range event spanning multiple years
            {
                $date = date("M j, Y (g:i a)", $start) . " - " . date("M j, Y (g:i a)", $end);
            }
        }
    }

    return $date;
}

/******************************************************************/
/* Create a definition list of the events in human-readable form. */
/* You can use CSS to style the list.                             */
/*                                                                */
/* Params:                                                        */
/* $client - GData $httpClient created above                      */
/*  $feed - The GData feed to read                                */
/******************************************************************/
function listEvents($client, $feed)
{
    $gdataCal = new Zend_Gdata_Calendar($client);
    $eventFeed = $gdataCal->getCalendarEventFeed($feed);

    $html = $html . "<dl>\n";

    foreach ($eventFeed as $event)
    {
        foreach ($event->when as $when)
        {
            $start = strtotime($when->startTime);
            $end = strtotime($when->endTime);
        }
        $date = formatDate($start, $end);

        foreach ($event->where as $where)
        {
            $location = $where->valueString;
        }

        $title = $event->title->text;
        if ($location != "")
        {
            $title = "<a href=\"" . $location . "\" target=\"_blank\">" . $title . "</a>";
        }
        $content = formatText($event->content->text);

        $html = $html . " <dt><span class=\"eventdate\">" . $date . "</span><span class=\"eventtitle\"> - " . $title . "</span></dd>\n";
        $html = $html . " <dd><span class=\"eventcontent\">" . $content . quot;</span></dd>\n";
    }

    $html = $html . "</dl>\n";

    return $html;
}
?>
<html>
    <body>
<?php
Echo listEvents($httpClient, "http://www.google.com/calendar/feeds/yourfeedhere");
?>
    </body>
</html>