Early Afternoon Coffee 105

  • My two sessions on Rome went very well. Sort of like what I did @ TechEd last month, but with a bit more kimono opening since it was an internal audience. Best things about doing these types of talks is the questions and post-session conversation. I’ve missed that since moving over to MSIT.
  • Late last week, I got my phone switched over to the new Office Communications Server 2007 beta. In my old office, I used the Office Communicator PBX phone integration features extensively. However, when we moved we got new IP phones that didn’t integrate with Communicator. So when a chance to get on the beta came along, I jumped. I’ll let you know my impressions after a few weeks, in the meantime you can read about Mark Deakin’s experience.
  • Matevz Gacnik figures out how to build a transactional web service that interacts with the new transactional file system in Vista and Server 08. Interesting, but personally I don’t believe in using transactional web services. The whole point of service orientation is to reduce the coupling between services. Trying two services (technically, a service consumer and provider) together in an atomic transaction seems like going in the wrong direction. Still, good on Matevz for digging into the transactional file system.
  • Udi Dahan gives us 6 simple steps to being a “top” IT consultant. I notice that getting well known, speaking and publishing are at the top of the list but actually being good at what you’re well known for comes in at #5 on the list. I’m sure Udi thinks that’s implicit in becoming a “top” consultant, but I’m not so sure.
  • Pat Helland thinks Normalization is for Sissies. Slide #6 has the key take away: “For God’s Sake, Don’t Normalize Immutable Data”.
  • Larry O’Brien bashes the new binary efficient XML working group and working draft. I agree 100% w/ Larry. These aren’t the droids we’re looking for.
  • John Evdemon points to a new e-book from my old team called SOA in the Real World. I flipped thru it (figuratively) and it appears to drill into the Foundations of Solution Architecture as well as provide real-world case studdies for each of the pillars recurring logical capabilities. Need to give it a deeper read.

Morning Coffee 104

  • I’m presenting at a an internal training conference today and tomorrow, so my Morning Coffee roundup posts will be lighter than usual. On the other hand, I’m taking a bus downtown to the convention center, so I might write something more substantial on the way there and back. Or maybe I’ll just read.
  • My wife’s blogging will also be light, because she’s got her nose buried in a book. If I do read something to or from the conference, it’s not that book because she won’t let me near it until she’s done! 😄
  • Speaking of “that book”, Werner Vogel drops a few details about how well Amazon handled 1.3 million pre-orders that were delivered on Saturday (including our copy).
  • First drop of IronRuby is available. For now, you can get it from John Lam’s blog. Unlike IronPython, IronRuby will be hosted at RubyForge, not CodePlex, but the site isn’t set up yet. Other big news is that the IronRuby team will be accepting external contributions. Are these encouraging signs to the Ruby community?
  • More MS Research goodness: a new drop of Spec# is available. I’ve written about Spec# before, but haven’t had the time to dig into it. (via Larkware)
  • Scott Hanselman takes the red pill. Congrats!
  • Speaking of Scott, he forwards on advice to remove a programmatic crutch. Good advice. Not to go all Petzold on Visual Studio, but I would guess the IDE is the biggest crutch out there. As for giving up compulsively checking email, if that’s a goal Scott, I think you might have joined the wrong company…

Morning Coffee 103

Morning Coffee 102

Seems like a slow week.

  • Jules and I went to see the latest Harry Potter movie this past weekend. It’s easily the weakest of the six HP stories so far. The first two stories were about discovering this magical world, the next two about discovering Harry’s past, and the last two about confronting said past. That leaves OotP as the odd-story-out, mostly bridging from the end of the fourth story to the start of the sixth.
  • Speaking of movies, the new movie feature of Mobile Search v2 rocks, though I have two quick suggestions. First, it would be nice to have a time-sorted view of when a given movie is playing. So if it’s playing at 4pm at one theater and 4:30pm at another, you’d see them in a list ordered that way. Second, how about an option to buy tickets directly from the phone?
  • If you’re interested in WPF and 3D, Eric Sink has a series for you.
  • Old news, but Windows Home Server RTMed on Monday. I’m really looking forward to this product.
  • I was looking for some information on how WCF pumps messages in the service host and I found this post from Maheshwar Jayaraman. Between that post and Reflector, I think I’ve got a good handle on how ChannelDispatcher works.
  • Larry O’Brein callsoutthree MS Research Projects. Microsoft Research Accelerator is a high-level data-parallel library that targets GPUs. Graph Layout Execution Engine (aka GLEE) is a library for graph layout and viewing. VirtualEarth MapCruncher converts existing maps (PDF and bitmaps) to work with Virtual Earth.
  • Ted Neward weighs in on the David Chappell’s Korean War REST vs. WS-* analogy. Skim the history lesson, but make sure you read his points about security and reliability interop. WS-* has addressed these areas, so if you need those capabilities, why wouldn’t you use WS-* to get them rather than re-invent the wheel? As for the history lesson, Ted does say he thinks software development is more analogous to making war than building a house. He expands on that idea and recommends Robert Greene’s The 33 Strategies of War. I want to read the book and mull it over a bit, but I certainly see where Ted’s coming from.

Wired for Sound

One of the cool things about my house is that it has built in speakers in four rooms and the back deck. Shortly after we first moved in two years ago, we had a combination house warming and Rileyanne’s christening party. As you might expect, one of the top priorities for said party was music, so I hooked up both my main surround sound receiver plus an old receiver I’ve had forever and we had tunes pumping everywhere except the dining room (which no one was in anyway).

Then, sometime this past winter, I got tired of NOT having surround sound for my HDTV so I redid the sound system. You might be surprised that it took me over a year to get to that, but remember the part about above about “Rileyanne’s christening”? I had other priorities. Anyway, I hooked up the surround sound, including the set of built-in rear speakers in the TV room, and banished the old receiver back to the garage.

Now, it’s summer again. We spend lots of time outside and on the back deck, but now sans tunes. So I’m re-configuring the sound system again, this time so I can get both surround sound and music in the house. Given that it’s a fairly custom speaker setup, I don’t think there’s an affordable off-the-shelf solution that works for this house.

In the long run, I’m thinking of building a custom amplifier that can drive four sets of speakers (one of the sets in the house is the back surround sound speakers, so they’re already taken care of) plus some type of UPnP AV client device. Gainclone chip amplifiers look fairly simple to build – three resistors, two capacitors and the chip itself times eight + a power supply. As for the AV client, I haven’t really investigated yet, but whatever solution I go with has to have high WAF (aka Wife Acceptance Factor).

Of course, building a custom amplifier takes time, so I figured in the short run I’d dust off the old banished receiver and use it to drive two sets of speakers. I also have an old laptop with a bad battery circuit. It can’t roam, but it can sit there by the TV and pull music off my loft computer and play feed it into said old receiver just fine. It’s not a high WAF solution, but it’s something I could put together with parts I had at home + one 1/8″ to RCA cable from Radio Shack. I figured I could get this up and running over the weekend. Almost, but not quite.

I hit one snag with WMP 11 for XP. My office machine and my laptop are both running Vista. All my music is on my office machine, but I use WMP 11′s media sharing capabilities (previously known as Windows Media Connect) to make that media available on my Xbox. I figured I could do the same with the old laptop, using WMP 11 as the AV client. Being an old laptop it can’t run Vista so I installed a fresh copy of XP instead. However, while WMP 11 XP can share media, it can’t consume shared media the way WMP 11 Vista can. Best laid plans and all that.

The workaround is to expose the media via file sharing. Simple enough, except now you have to make sure the security is correctly configured between the two machines. Since it’s a single function device, I hadn’t bothered to set up a password for the default user. Now, in order to access files off the network, I guess I’ll have to.

Once I fix this little file sharing and security problem, I think I’m going to start by looking for a better AV client solution. I know I need a custom amplifier if I want to drive all my speakers, but with my old amp I get music in the kitchen and on the back deck which is where we want it most. On the other hand, the AV Client is the main user experience, so perhaps I should pay it more attention. I’d love to have a solution that is drivable on the TV via the remote while also isn’t built on a seven year old slightly busted laptop.

Any suggestions?