Wednesday, July 13, 2011

Peace and Courage

A little over a year ago, when my wife was pregnant with our youngest daughter, Tamara's doctor noticed a vascular abnormality on an ultrasound. A couple days later we took "Baby Daisy" to see the neonatal specialists for our region of the country. The doctors informed us that the vein in the baby's liver that brings blood from the umbilical cord had not formed properly. A baby with that condition should not have survived to that point in the pregnancy, but Daisy was unexplainably growing. The doctors also advised us that based on her condition and several other factors, Daisy was at increased risk for genetic disease. We were encouraged to have in utero genetic testing; the doctor's opinion, which she expressed to us as truth, was that it would be unethical to bring a baby to term if the baby had some sort of severe genetic disease.

Tamara and I left the hospital distraught. We prayed for the health of our baby, for her miraculous healing and for wisdom for ourselves. After a couple days of prayer, the peace came. It came on strong. I knew God was in control and that he would use the circumstances for his glory. With the peace came something I didn't expect: courage. I had courage like I've never had courage before -- courage to make the right choice, regardless of the doctors' or anyone else's opinions about which lives should be given the chance to live.

Thanks to the prayers of so many friends, family and strangers who heard our story, Baby Daisy was miraculously healed. When we went back to the specialists, the vein that we were told hadn't formed was found taking an alternate route through the liver. One of the doctors we met with with so unconcerned with Diasy's condition that we spent more time talking about iPhones than Daisy.

One year ago today, Alexandra Daisy Sue Dunkin was born a perfectly healthy little girl. We are delighted and blessed to have her as part of our family and to be able to share our story of God's faithfulness.

Friday, April 22, 2011

A Free Gift That Wasn't Free

Not too long ago I read Free: The Future of a Radical Price by Chris Anderson. One of the ideas presented was that when things are offered to you for free, they usually cost someone else. Something to think about this Good Friday.

Wednesday, August 25, 2010

Worthless Comments

/// <summary>Gets the foo</summary>
/// <param name="bar">the bar</param>
/// <returns>the foo</returns>
Foo GetFoo(Bar bar) {
...
}


I'm not saying I've never done it, but I usually end up deleting them later.

Thursday, August 19, 2010

Misleading WCF MSMQ Binding Error

I was getting the following error message when activating a WCF service with a net.msmq binding.
Binding validation failed because the endpoint listen URI does not represent an MSMQ direct format name. The service host cannot be opened. Make sure you use a direct format name for the endpoint's listen URI.

You'd think this had something to the endpoint URI, but you'd be wrong. A little sleuthing revealed WCF trying to validate that it could move the message to the retry subqueue in the event of an error. The queue is hosted on a Windows Server 2003 system, which doesn't support the retry subqueue. I'm testing my WCF service is on Vista. Solution: run the queue and WCF service on the same level OS and curse Microsoft for misleading error messages.

Monday, August 16, 2010

Smartphone Install Base

There's been a lot of buzz about Android's amazing growth in the last quarter. Assuming the vast majority of customers don't buy a new phone more often than every two years, the install base would reflect the sum of sales over the last 8 quarters.

Worldwide Smartphone Sales to End Users by OS 3Q08-2Q10 (Thousands of Units)

Symbian166,463.346%
RIM69,370.619%
iOS50,791.914%
Windows Mobile30,596.98%
Android22,619.26%
Linux17,440.45%
Other5,699.62%


Note this doesn't include business sales, which would likely boost RIM a lot and iOS a little. Nor does this include devices other than phones, e.g. iPod touch and iPad.

Tuesday, July 20, 2010

How a $2 iPhone app restored my love for photography

In 2004 I bought a digital SLR camera for a trip to Hawaii and my journey into photography began. I took photos of mountains, fields, barns, flowers and occasionally people. I read books on exposure, composition and posing. Eventually I took some family portraits, engagement portraits and even a couple small weddings. My collection of lenses, lights, filters and other accessories evolved until I had just about everything to take whatever kind of photo I could imagine myself taking. I honed my technique and looked with a critical eye at every photo I or anyone else took.

In 2006 my wife and I went on safari in Kenya. I took thousands of photos, mostly of animals. I did a pretty good job, too. They're not going to appear in National Geographic, but I was pretty happy with them and I'm pretty picky. When I got home from Africa, I hit a photographic wall. Nothing seemed interesting anymore because I felt I couldn't top what I had done before. I'd peaked two years into my life as an amateur photographer. So I stopped taking photos.

Then about two weeks ago, my wife asked me about buying an iPhone app called Hipstamatic, which she had seen a few of her friends use. She got it and took a few photos. Then I installed it on my phone. I got hooked.

Hipstamatic is cool for a few reasons. It looks and feels kinda like a camera, which is fun. It makes you choose how your photo will look before you take the photo, like with a film camera. Different lenses, flashes and films produce different effects. The alternative -- endlessly tweaking a photo in Photoshop, applying filter after filter -- sucks the joy out of the photo. I love the simplicity that Hipstamatic provides in this regard.

All the photos it produces have imperfections that are modeled after imperfections from real film photographic equipment. The imperfections keep me from focusing on making a technically perfect photo and instead focus on making an emotive photo. To that extent, Hipstamatic is really good at creating photos that evoke emotion, specifically nostalgia. The photos look like the ones in my parents shoe box or on my grandma's end table. The blurred edges and yellow tint of the photo of my daughter makes me remember her smile a little sweeter. I can hear my son's laugh through the blue cast and faux film frame.

This $2 app is also cool because it makes me want to buy the other lenses and flashes, just like I did on my real photography journey. Except this time, the lenses are $.99 instead of $499. Hipstamatic is the fist app that has compelled me, a total cheapskate, to make an in-app purchase.

I do hope I can transfer my renewed enthusiasm for photography from my iPhone to my DSLR. I do have quite a bit of money invested in all that equipment and it's not doing me any good sitting on a shelf when I should be using it to record memories.

Thursday, July 8, 2010

WCF .NET MSMQ Binding URLs

I spent some time struggling with a WCF service with a .NET MSMQ binding. The public queue resided on a test Windows Server 2003 machine. Everything worked fine on my machine, but when I installed the WCF service on the test server, I got the following error message:

An error occurred while opening the queue: The queue does not exist or you do not have sufficient permissions to perform the operation. (-1072824317, 0xc00e0003). The message cannot be sent or received from the queue. Ensure that MSMQ is installed and running. Also ensure that the queue is available to open with the required access mode and authorization.

The error code (0xc00e0003) corresponds to MQ_ERROR_QUEUE_NOT_FOUND.

Turns out, I needed to reference the queue with net.msmq://server/queue instead of net.msmq://server/public/queue. It's unfortunate the latter URL works in some cases but not others.