Morning Coffee 137

  • Note, I somehow duplicated Morning Coffee 135. So I’ve skipped 136 to make up for it.
  • Congrats to Hillary Clinton for her unexpected win in the New Hampshire primary. As I said last week, I think Obama has a better chance of winning in November, but I’ve got nothing against Clinton or her politics.
  • Speaking of winning, congrats to LSU on winning the BCS. Are they the best team in college football? Personally, I don’t think so – there are at least three other teams (Georgia, West VA and of course USC) who can make a persuasive argument that they should be #1. But losing to teams like Penn Pitt and Stanford, neither WVA and USC have an argument they should have been in the championship game. But that’s what makes the BCS such BS. If nothing else, at least the “we need a playoff” meme is picking up steam.
  • This is sort of cool: Eye-fi is a wireless enabled SD card so you can wirelessly upload pictures from your camera to your PC or favorite photo service. However, I think the price needs to come down a bit. I recently bought a 2GB SD card for my wife’s new camera for $20. A 2GB Eye-fi card is $99. Not sure wireless upload is worth 5x per card.
  • With all the focus on LINQ providing type-safe queries, it’s easy to forget that some apps do need to build their queries at run time. Scott Guthrie points at a Dynamic LINQ C# sample (also available for VB) that builds LINQ expression trees from strings. It kinda takes you back to the bad-old-days of embedding SQL strings in your code, but there are scenarios – especially BI scenarios – where you need this capability.
  • Soma announces the VC++ 2008 Feature Pack Beta. This is the long-awaited (by who?) MFC update as well as support for the C++ TR1. TR1 provides some FP-esque support like function objects and tuples, so maybe this is worth a look. On the other hand, given that much (all?) of TR1 is lifted from Boost, maybe we should just use that.
  • Speaking of cool libraries, check out C5 (aka the Copenhagen Comprehensive Collection Classes for C#). It’s basically a complete redesign of System.Collections.Generic (or SCG as they call it). I’ve read thru their online book and I’m very impressed. Of course, with me focused on F# of late, I’m primarily using immutable collections, so I’m not sure how much use I have for C5 right now.
  • There was a free CoDe magazine in my DevTeach bag back in November with a fascinating article on where LINQ goes from here – LINQ 2.0 if you will. One of things the article discusses is tier-splitting, which has seen the light of day in Volta. Will Volta also deliver External Relationships, Reshaping Combinators and Join Patterns or will those come from different projects?
  • I had to pave my workstation yesterday. I was running an interim build of Vista x64 SP1 and I couldn’t make Virtual Server work with it. As part of the repave, I discovered I needed to update the firmware of my SCSI controller, but the update had to run under DOS. Freaking DOS? My workstation doesn’t even have a floppy drive to boot DOS from! However, I was able to boot from a USB thumb disk instead. That’s damn useful.

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?

Good Week for Hobbyists and Students

Both XNA Game Studio Express and Microsoft Robotics Studio shipped their 1.0 releases this week. So once you’re done hacking a robot to mow your lawn, you can relax by debugging your latest game on your Xbox 360. W00t!

Santa, please bring me a few extra hours per day so I can play with this stuff!

QOTD : Michael Lehman

I was talking about modeling with Michael Lehman today when he mentioned the “cult of the arcane” – people who specialize in typically older technologies that are not widely understood who use this general lack of knowledge for job security. I thought it was funny.

Three Seperate IM Stacks

It’s interesting to see how consumer and corporate IM have finally started to evolve in different directions. I have a personal IM account (harrypierson at hotmail dot com) on MSN running the newly released MSN 7. I really like the integration with Spaces, the contact cards and the new Personal Message feature that also integrates w/ WMP and iTunes to show “what I’m listening to” (in case you’re curious, baby lullabies – I’m sitting in Patrick’s room as he goes to sleep). I hadn’t realized how many of my coworkers (primarily ex-teammates) have started blogs on MSN Spaces.

I also just installed Office Communicator 2005, the new corporate client for Live Communications Server 2005. While we’ve had LCS installed internally for a while, I rarely used it. I mean, the only real value I saw in corporate IM in general was security – if your employees are chatting on IM, better to keep it off the public Internet. But w/ LCS 2005 & new new client, there are several cool new features. First off, LCS 2005 connects with both AOL and MSN public IM services. So if you want to, add me as an IM contact via my corporate email address (hpierson at microsoft dot com). Next, LCS 2005 & the new client integrate with your Exchange calendar. So if you’re in a meeting, you’re status changes to Busy. I can also hover on a contact and see what they’re up to now (in a meeting until noon, free until 3:30, etc). Finally, the new Office Communicator client integrates with PBX systems. So I can select a conact, hit call, and my desktop phone automatically calls the person. For incoming calls, I get notification even if I’m not in my office. So if I’m in a meeting, my wife calls, I can click on the notification to forward the call to my mobile phone.

Finally, I’m running Skype (callto harrypierson). I was in Barcelona most of last week and I used the SkypeOut service all the time, except when I was making connections in the Amsterdam airport. I racked up the big 2 Euros in calls over the course of a week. I seem to remember MSN IM having support a similar service via Net2Phone, but they stopped some time ago. I’d probably can Skype if they brought it back. I don’t want or need three contact points like this. Two is good – one for work and one for personal – but three is one too many.

If you want to reach me, you have zero excuse!