Tommy’s Blog

Photography, technology, and a little bit more from Tommy Williams

Archive for December, 2007

Portrait of Maya

28th December 2007

Maya portrait

I was playing around with a homemade light diffuser I made out of tracing paper and a frame I cut out of one side of a cardboard box. There was a shaft of light coming in through the window onto Maya’s bed and I showed Dawn what the diffuser would do. Then I thought this would be a great chance to get a picture of her. So I got her onto the bed, Dawn got some treats and held a reflector, and we got this picture. I think it turned out pretty well.

Technorati tags: , , , ,

Posted in Family, Photos | 5 Comments »

Christmas Dinner Dessert: chocolate pudding pie

27th December 2007

From January 2008 issue of Bon Appetit. Dessert of the year. The chocolate pudding is rich, as expected, but the mix of creme fraiche, cream, sugar, and vanilla in the topping is remarkable. I will definitely use this on many desserts in the future. The pie and pudding can be made up to 2 days ahead (the pudding needs to be refrigerated in the shell at least overnight anyway) and the topping can be put on up to 6 hours ahead of serving time. Recipe after the pictures.

 

Melted butterCrust ready to bakeCrust baked, chocolate melted

Dry pudding ingredientsJust enough to make a pasteRest of milk and cream added

Pudding in the pieBittersweet chocolate pudding pie with creme fraiche topping

 

Ingredients

Crust
4 1/2 ounces chocolate wafer cookies, finely ground in food processor (about 23 cookies)
2 tablespoons sugar
5 tablespoons unsalted butter, melted
2 ounces bittersweet chocolate, finely chopped (60% cacao)

Filling
1/3 cup sugar
1/3 cup unsweetened cocoa powder
2 tablespoons cornstarch
1/8 teaspoon salt (fine texture, like table salt)
1 3/4 cups whole milk, divided
1/4 cup heavy whipping cream
4 ounces bittersweet chocolate, finely chopped (60% cacao)
1 tablespoon dark rum
1 teaspoon vanilla extract

Topping
1 cup chilled creme fraiche
1 cup chilled heavy whipping cream
1/4 cup sugar
1 teaspoon vanilla extract
bittersweet chocolate shavings (optional)

Process

Crust

  1. Place rack in center of oven; preheat to 350°F.
  2. Blend cookie crumbs and sugar in food processor. Add melted butter; process until crumbs are evenly moistened.
  3. Press crumb mixture onto bottom and up sides (not rim) of 9-inch-diameter glass pie dish.
  4. Bake until crust begins to set and no longer looks moist, about 12 minutes. Press gently with back of fork if crust puffs.
  5. Remove crust from oven, then sprinkle chopped chocolate over bottom of crust. Let stand until chocolate softens, 1 to 2 minutes. Using offset spatula or small rubber spatula, spread chocolate over bottom and up sides of crust to cover.
  6. Chill crust until chocolate sets, about 30 minutes.

Filling

  1. Whisk sugar, cocoa, cornstarch, and salt to blend in heavy medium saucepan.
  2. Gradually add 1/3 cup milk, whisking until smooth paste forms.
  3. Whisk in remaining milk, then 1/4 cup cream.
  4. Using flat-bottomed wooden spoon or heatproof spatula, stir mixture constantly over medium heat, scraping bottom and sides of pan until pudding thickens and beings to bubble at edges, about 5 minutes.
  5. Add chocolate; stir until mixture is smooth.
  6. Remove from heat; stir in rum and vanilla.
  7. Pour hot pudding into crust and spread evenly. Cool 1 hour at room temperature.
  8. Cover with plastic wrap and chill overnight.
  9. DO AHEAD: can be made 2 days ahead. Keep refrigerated.

Topping

  1. Using electric mixer, beat creme fraiche, whipping cream, sugar, and vanilla in medium bowl until just before stiff peaks form. Mixture should be thick enough to spread (do not overbeat or mixture may curdle).
  2. Spread topping decoratively over top of pie.
  3. DO AHEAD: Pie can be made 6 hours ahead. Cover with cake dome and refrigerate.
  4. Sprinkle chocolate shavings decoratively atop pie, if desired.
Technorati tags: , , ,

Posted in Food | No Comments »

Dawn polyptych

27th December 2007

Dawn Polyptych
Crossroads Park, Bellevue, WA. Thursday, 27-Dec-2007.

Posted in Family, Photos | No Comments »

Merry Christmas

24th December 2007

Downstairs tree on Christmas Eve

Technorati tags: , ,

Posted in Life, Photos | No Comments »

A walk through Crossroads park

20th December 2007

Heading to the crossroads

Maya loves to go to Crossroads Park. It doesn’t matter to her that it’s cold, rainy, or windy–her coat keeps her warm and dry and there is so much to smell that she doesn’t pay attention to anything else anyway. This is my favorite picture of the day. I stylized it a bit in Lightroom by turning down the saturation and bumping up the vibrance. I put the photos from the park in a set. I took a few others today. I particularly like one of Maya waiting on us to finish getting ready to go.

Technorati tags: , , ,

Posted in Family, Photos | 3 Comments »

I pushed the button on the ADO.NET Entity Framework today

6th December 2007

I’m late to the party with this post–it’s kind of funny that I’m late, or maybe just sad, as you’ll see–and anyone who cares has already seen the information in a dozen other places, but today we released the Entity Framework Beta 3 and the Entity Framework Tools CTP 2. You might expect to hear about the new features, but Danny Simmons has already done a far better job than I could. Maybe I could tell you about breaking changes since Beta 2. But Jeff Derstadt gets the honors there. Maybe there’s a big picture I could paint, but the press release takes care of that.

Since I’m not breaking any news, and I have nothing obvious to add, you might wonder why I bother. I should have something better for those dedicated handful of you who are still here after all this time. So I’ll tell you a story about how we take a finished software product and get it up on the Web for people to download.

I said that we released the Entity Framework Beta 3–and I’m going to talk about just the runtime since I am in the Data Programmability Runtime team and it makes the story easier to tell–but, to take a very narrow view of what it means to “release the software,” we didn’t do anything: I did. I pushed the button that made the Entity Framework live on the Microsoft.com Download Center.

This release process started a few weeks ago before all the bugs were closed and all the tests were finished. Everything that we release to the public has to meet a bunch of criteria that have nothing to do with the functionality of the product. Some of the requirements are driven by Microsoft’s legal division, LCA. They require things like geopolitical approval (this focuses on the text and graphics in the product–it’s tougher than you think since something that’s innocuous in one country is sometimes illegal in another), an appropriate EULA, and proper diligence around any third-party code, among a lot of other things. There are a set of tools that must be run against the source code and the compiled binaries. Some of these are part of a final security check and others validate compliance with Microsoft policies.

There are a lot of tools to run, a lot of boxes to check, and a lot of people to round up to sign off on things. And, remember, none of this has anything to do with the testing and bug fixing that goes into the product itself.

There is an internal tool called the Download Management Tool that allows you to build the “download details page”: the page you see when I point to the Entity Framework Runtime Beta 3 that has the overview, the requirements, the instructions, and the actual link to the setup programs themselves. The DMT is a pretty slick tool, but there are a lot of boxes to check and fields to fill out. And, of course, someone has to write the text that goes into that overview, the requirements, and the installation instructions, and verifies the links in the text and a number of other things that I’m forgetting right now.

When you first set up a release in the DMT, it reserves a destination URL on the live site for that release. This helps people who need to prepare documentation, press releases, blog posts, email announcement messages, and even magazine articles. But those Download Center URLs are long and we might need to do something that would change the URL, so there’s another tool called the Forward Link tool, or FWLink. If you have spent much time with the Microsoft Web sites, I’m sure you have seen them, They look like http://go.microsoft.com/fwlink/?LinkId=104981. They exist to redirect requests. So you can reserve these FWLinks early in the process before their destinations even exist, then use them in all the documentation and only point them to the correct location once that page or that file is online. We have them not just for the download, but for the readme, the documentation, the samples, and even the ADO.NET forum. Among others. When there are so many, it’s tough to keep track of all of them, so that’s one more checklist I have to maintain.

Once all the policies have been met, all the FWlinks are set up, the download details pages written, and the readme compiled, written, edited, and reviewed, it’s time to start the final packaging of the product. Of course, that’s after all the tests are passing and the team has signed off on the product.

The final packaging starts with digital signing. Digital signatures are a security measure so that customers can be sure the code they’re running actually came from Microsoft and hasn’t been changed somewhere along the way. We have a two-pass process: we first sign the binaries that make up the product itself, then we insert those signed binaries into the setup program and we sign that. Microsoft takes its digital certificates seriously and any signing requires at least three people with the appropriate permissions: one person to submit the “job” and two people to approve it. We can do it all over the network now using our smart cards. A few years ago we had to take our product code to another building on CDs or floppies where release services would sign the bits and write them back to removable media. It’s definitely better now.

Once things are signed, the team does a final verification to be sure that there were no mistakes in the act of reassembling and signing the setup. I then take the signed, verified package and post it to the Download Center. This is done in “undiscoverable” mode: there is no details page, just the executable available at a hidden URL. The test team does one more verification from this URL and, once they sign off, the release is ready to go live.

There is a whole host of other activity that happens in parallel and involves marketing and public relations who put together material for press releases, coordinate with partners, with the media, and a whole host of other activities. The UE team has to post the documentation. The MSDN Web site team has to update the developer centers. We all agree on a day and time when we will make everything available to the public and that’s when I press the button and release the product.

P.S. I forgot to tell you about gathering the samples and posting them on CodePlex. Maybe some other time.

Technorati tags: , ,

Posted in Microsoft | 1 Comment »

Use the calendar for more than just meetings

4th December 2007

Do you use a todo list? Are you happy with it? I use the task list in Outlook and flag items with due dates. But for a while now I have found myself at the end of the day moving dates on a bunch of unfinished tasks. Some of them move day after day until I finally get to them or they age so much that they are no longer relevant.

A couple of weeks ago, I tried something that, in retrospect, seems obvious but that has made a big difference. Instead of just assigning tasks to a specific day, I actually schedule time on my calendar for them. 8:30-9:45 to the reminder messages to all the people from whom I need information that day. 10:00-10:05 to update the team Web site with pointers to the latest builds. Maybe fifteen minutes at 15:00 to propose the new branch plan and RI schedule.

It’s had a huge effect on my productivity but I am not necessarily getting more done. Why not? And why is that useful? When I block out time to do the work, I find that there is not nearly as much time in the day as I used to imagine. So I have to make conscious decisions each day about what I will do–and, perhaps even more importantly, about what I will not do.

I have always had a problem delegating work, either because I think I can do it better or quicker, or because I feel guilty asking other people to do things that I am able to do. But now that I am explicitly scheduling time for everything that I need to do during the day, it has been much easier for me to share work.

Technorati tags: , , ,

Posted in Productivity | 1 Comment »

Snow today

1st December 2007

Snow-covered maple under street light

We woke up to about an inch of snow this morning. That didn’t stop us from running errands, though, especially since the streets were merely wet. Our outdoor lights are a few years old now and the bulbs have started to burn out so we made a trip to the hardware store to get some replacements. We stopped at the grocery store on the way back and by the time we were home, the snow was gone. Midway through the first half of the SEC Championship game, it started snowing again and didn’t stop until the game was nearly over.

Maya did get out in the snow eventually and, as always, she enjoyed it, rolling around and getting good and wet. Too bad it was dark and I couldn’t take any pictures of her.

Technorati tags: , , , ,

Posted in Photos | No Comments »