I Bought an iPhone

18 07 2007

My wife tells me this is because I have no ability to resist buying gadgets. Looking at the smartphones I’ve owned in the past two years, there might be something to it.

Parade of Smartphones

And if I still had my non-phone PDAs, the collection of personal gadgets would be even longer. (Palm III in 1998, HP Jornada 540, Compaq iPaq 3630, HP Jornada 567, iPaq 2200 series.)

So in spite of changing my PDA on average once a year, there are a few things about this purchase that did make me a little queasy. First, it’s the first time since my Palm III that I’ve used a device that doesn’t run a Microsoft operating system. Second, I had the device that immediately preceeded my iPhone (the Treo 750 in the picture) for less than two months. I had the device before it (the Cingular 3125 flip phone) for about eight months. Why have I been compelled to fly through devices so fast recently? Finally, I’ve had to put down more money for the iPhone than I have for any PDA. (I can’t recall the details, but the HP Jornada 540 might have been close in price.)

So what made me do it? Why did I go from flip phone to keyboard phone to iPhone in less than a year? Why have I abandoned Microsoft in my pocket?

There are two main reasons. The first is the simply stunning form factor of the iPhone. It’s half the thickness of the Treo, and the screen is amazing. I haven’t seen another portable screen like it. Browsing through photos on the iPhone is a great experience. I can show off baby pictures on this phone, and it will be as good or better as carrying a stack of 4×6 prints.

Second, the iPhone gives a great experience browsing the web. Much better than I’ve been able to do with any other portable device.

This last point highlights the interesting tradeoff I’ve made as a Microsoft employee. The Treo is the pinnacle of the business phone. It’s just as pleasant to hold as the iPhone (actually, I think the Treo feels better in my hand, while the thinner iPhone feels better in my pocket). The Treo plugged in seamlessly and effortlessly into our corporate Exchange servers. With it and its keyboard, I was mind-melded with the corporate information grid. But the Treo’s connection to the rest of the web is weak.

The iPhone is the opposite. With the iPhone, my connection to the Corporate Grid is tenuous (email on the iPhone is unpleasant, and my calendar is no longer always-up-to-date). But my connection to the rest of the Internet — to Google, to Facebook, to Flickr, to YouTube, to Amazon, etc., etc.  — is incredible.

That’s the about-face I decided to make. After nine years of buying devices that brought me increasingly in touch with the corporate world, I decided I’d rather have something in my pocket that would better connect me to the rest of the world.

Now that I have this fancy phone, though, I guess I better use it to call people!

PC and Mac

OneNote PowerShell Provider

18 07 2007

Worlds collide — up until now, I’ve been writing about my personal life. But I also have some things to share about work and technology. I thought about creating a separate website to publish that information, but finally decided that because I’m a combination of geekiness, and proud fatherhood, and other odd interests stuck together, then it’s OK to have this site be a combination of odd things stuck together. So, if you’re here for the baby pictures, then you should just skip the technology posts. And if you’re here for technology, then you should skip the baby pictures.

This is a technology post.

There are two pieces of Microsoft technology that I’ve been using recently and I love. The first is OneNote, which is the first program that I think can replace my cherished paper notebooks. Not only is OneNote a great place to write down all of those thoughts I don’t want to forget, it’s also turning into a wonderful tool for collaboration. Starting in OneNote 2007, OneNote has incredible “shared notebook” functionality. With OneNote 2007, you can have a team of people all contributing information to a single notebook. It’s a great way to build a common repository of knowledge.

The second piece of Microsoft technology I love is PowerShell. This is the ultimate geek-chic tool. It’s a powerful command line / scripting environment.

I now use these programs all the time. And like a Reese’s Peanut Butter Cup, I wondered if these two great technologies would be even better if brought together? So I’ve tried to bring them together in the form of a OneNote PowerShell provider. This is a PowerShell extension that lets you create and manipulate OneNote notebooks, sections, and pages from PowerShell. You can use provider to do some interesting automation using OneNote.

Here’s an example: One thing I wanted was a tool that sends email when pages in a shared OneNote notebook change. This turned out to be pretty easy to do in PowerShell. With the OneNote PowerShell provider, the following lines of script get all of the pages that have changed after a particular time — I use this line in the script to find all pages that have changed since the last time I ran the script.

$changedPages = dir $Notebook -recurse | 
    where-object { ([datetime]$_.lastModifiedTime -gt $targetDate) -and (!$_.PSIsContainer) }

The dir -recurse command gets me a listing of all of the pages, sections, and section groups in the notebook. The where-object clause is then used to whittle the list down to only pages (that’s the !$_.PSIsContainer bit) and only pages that have changed after $targetDate.

Then, I can use the following pipeline to export the changed OneNote pages to MHT format and remember the resulting filenames.

$exportedFileNames = $changedPages | 
    export-onenote -output $outputDirectory -format mht | get-propertyvalue ExportedFile

Finally, I use the Send-SMTPMail cmdlet from the PowerShell Community Extensions to send the email containing all of the changed pages.

While the core of the script is just those three pipelines, there’s a lot more to the script (217 lines more, to be exact) to do things like parameter validation, formatting, etc. But still, writing and maintaining 220 lines of script was a lot easier than maintaining the couple of thousands of lines of code it would otherwise take to accomplish the same task.

If you want to play with the OneNote PowerShell extension, I’m making it publicly available under the Microsoft Community License. You can find the binary files here: OneNotePowershell.msi. The source files are here: OnPsProvider-1158.zip.

If you install the provider, it will install several sample scripts as well, including the script I’ve been discussing here (Get-OneNoteDigest.ps1).

If you just want to read the documentation that comes with the provider and the scripts, it exists in OneNote format: OneNote PowerShell Documentation.

If you want to use PowerShell with OneNote to build useful tools, let me know. I’ll be curious to see how you use it.

Final Five pictures from our vacation

16 07 2007

I went through the remaining pictures from our vacation, and there were only five that really stood out. I’ve uploaded them to Flickr. To save you the effort of going to another site, here they are:

Alex and Molly

Alex, Elsa, and Adrian

Giant Family


Alex Before Bedtime

More Midwest Pictures on Flickr

15 07 2007

We’re now up to 78 pictures from our Midwest trip up on Flickr. Here’s the link again: Midwest Vacation 2007. I still have one more batch of photos to process, so stay tuned. And as usual, as I have time, I’ll elaborate on the stories behind some of the shots.

There’s one pair of pictures I want to point out. We took this picture in St. Louis last year:


And here’s Alex on the same couch, 14 months later:


Back from the Midwest

15 07 2007

We’re back from our trip to the Midwest. All in all, Alex did quite well on this trip — he handled both the airplane and the road trip like a champ. We did discover that he’ll sit quietly and watch Teletubbies! That wound up being a lifesaver on the car ride from Minnesota to Missouri.

I’m still going through all of the pictures from the trip, but the first batch is now available. You can find them on Flickr.

Sick Alex, Happy Alex

3 07 2007

Alex has an ear infection. And this time, he’s letting us know about it. Most times, we only know he has an ear infection because the doctor tells us. This time, Alex is running a high fever (104 has been the peak), and he cries inconsolably when the Tylenol wears off. We’ve kept him out of day care the past two days.

When the Tylenol kicks in, though, the normal “happy Alex” returns. So this afternoon, when it was my shift to watch Alex, I decided to take Happy Alex to the zoo to help wear him out. There are six new pictures of Alex over on Flickr:


This two are my favorites:

I want to be a drummer!


Meredith and Paulie’s Engagement Party

2 07 2007

On Saturday, Meredith’s aunt threw a party to celebrate her engagement. We took Alex. He had a great time! There were lots of other kids to play with:

Children at Play

Meredith’s nephew Phoenix was at the party, too. Phoenix is just six months older than Alex, which means they’re still in the “playing near each other” phase. Here’s Phoenix:


While Alex liked the toys, he enjoyed the food and drink the best.

Juice Squeeze

Strawberry Season

If you want to see all of the Alex photos I’ve put up on Flickr, go here: