Morning Coffee 138

  • In writers strike news, the WGA has made side deals with Worldwide Pants (aka Dave Letterman’s company), United Artists (aka Tom Cruise’s company) and The Weinstein Company (previously known as Miramax). The WGA strategy of divide and conquer seems to me making slow progress. Update: The Weinstein Company was founded by Miramax’s founders Harvey and Bob Weinstein after they left Miramax. But Miramax is still around. Thanks to GrantC for the correction.
  • They’re still two games under .500, but the Caps completed a season sweep of the Eastern Conference leading Ottawa Senators last night. They’re only 3 games out of the top spot in the (admittedly very weak) Southeast division
  • Big tech news today isn’t coming from MSFT-land. Sun is buying MySQL and Oracle is (finally) buying BEA. Both deals seem like pretty significant culture clashes, though Sun/MySQL seems like the better fit of the two.
  • There’s a new draft of Service Modeling Language 1.1 available. If you’ll recall, this used to be called the System Definition Model, part of the Dynamic Systems Initiative. Hadn’t heard anything from those folks in a while, good to see they’re making progress.
  • Stephan Tolksdorf dropped me a line to tell me he was able to “vastly simplify” FParsec, and as a result it now runs on the current version of F#. Awesome!
  • Speaking of F#, Scott Hanselman has a new F# podcast, this time interviewing Dustin Campbell. Check out all of Dustin’s F# posts.
  • I didn’t know about the “Copy as Path” feature in Vista. Why is it hidden?
  • I was a big fan of the WDS deskbar shortcut feature – a feature that is missing in Vista. Enter Start++ by Brandon Paddock, which adds shortcuts to Vista’s search box. It also supports “iPhone apps” and scripting. But JScript? Where’s the PowerShell love, Brandon?
  • EA released the source code to the original SimCity under the GPL. Bil Simser is digging into the code and it looks like he’s going to port it to XNA. (via Ozymandias)
  • Wes Haggard has published the source code to CodeHTMLer on CodePlex. He took two updates from me: the F# language definition as well as the ability to choose the font when not using PRE tags.

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.

Morning Coffee 135

  • Bill Gates does his last CES Keynote, and we announce a PC that looks like a purse?
  • News that Warner Brothers is going exclusively Blu-Ray is disappointing. However, I’m convinced that neither side will win this format war but that online downloads will trump both. Obviously, XBLM is a significant player in this space, but the market is crowding up quickly. Netflix apparently will unveil a new set-top box @ CES to let you watch HD movies via the Internet.
  • Don Syme has a roundup of posts by John Liao about F#. Mostly, WPF + F# with a couple of ASP.NET 2.0 posts and one on XML .
  • Speaking of F#, Stephan Tolksdorf has been working on an F# port of MS Research’s Parsec library called FParsec. Parsec is a “monadic parser combinator library”, something I have little experience with, so I’ve gone back to some source research on the topic, which I hope to blog at length about soon.
  • Steve Vinoski talks about serendipitous reuse in his latest Internet Computing article. I’m not a believer in reuse in the enterprise, serendipitous or otherwise, but I liked the conclusion to Steve’s article when he wrote “It’s highly ironic that many enterprise architects seek to impose centralized control over their distributed organizations. In many cases, such centralization is a sure recipe for failure.” Also, his point that “control without controlling” works sounds vaguely familiar.
  • Update: This is really Morning Coffee 136, but I don’t want to change the title since it’s part of the URL

Morning Coffee 135

  • Congrats to Barack Obama for walking away with the Iowa Democratic Caucus, which set turnout records. Frankly, I’m pretty cool with any of the democratic front runners but I think Obama has the best chance of winning in November. I’m not sure Edwards second time around will be any more successful than the last and I believe Clinton would drive the GOP GOTV campaign better than any of the actual GOP candidates would.
  • Obviously, I like to play M-rated games like Bioshock and Mass Effect. But I also like games I can play with my kids like Lego Star Wars. There are two new Lego games coming out this year: Lego Indiana Jones and Lego Batman. I can’t wait.
  • Speaking of gaming, Xbox LIVE had some issues over the holiday break, due to record setting sign-ups and concurrent users. Record setting numbers is a nice problem to have if you’re on the business side, but a not-so-nice if you’re a customer or work in operations. The XBL GM announced they’re offering a “token of appreciation” for everyone’s patience – a free XBLA game. Assuming it’s not a crappy game, it’s a classy move.
  • I watched Transformers on HD-DVD last night. Fun movie with lots of action, but man is it dumb. John Turturro is the only real stand-out.
  • Dustin Campbell implements cons, cdr and car from Scheme in C# and VB. While of limited production value (Dustin specifically warns readers not to use any of his code), it really demonstrates how different the functional world is from the object/imperative one, right down to the concept of type. Cons doesn’t return a tuple, it returns function with two bound variables. (via DNK)

Morning Coffee 134

  • Bill de Hora responds to a few of my Durable and RESTful ideas. He points out that relying on a client-generated ID can be troublesome, and recommends using multiple identifiers – one created by the sender, one by the receiver and one representing the message exchange itself. However, the sender ID is vulnerable to client bugs & tampering as Bill points out, and neither the receiver ID nor the exchange ID can be used to determine if a given message is a duplicate. If you don’t trust the sender, is it even possible to determine if a given message is a duplicate?
  • Pablo Castro confirms that there are “practical limits” to what ADO.NET Data Services can do with respect to idempotence. Nothing in his post was surprising, though I hope it will be more explicitly called out in the final docs. Developers used to the comforting protection of a transaction may be in for a rude awakening.
  • Dare Obasanjo has a great post comparing the new features in C# 3.0 to dynamic languages like IronPython. I believe many of the productivity aspects of dynamic languages have little to do with being dynamic.
  • Pat Helland noodles on durability and messaging, two topics near and dear to my heart (probably from working with him for a couple of years). I’m not sure where he’s going with this – his conclusion that “Basically, big, complex, and distributed system are big, complex, and distributed” isn’t exactly ground-breaking. But his point that “durable” isn’t a binary concept is worth more consideration. Also, his description of IMS only looking at the effects of a committed transaction is very similar to how web sites work, though obviously HTTP isn’t durable so you can’t make event horizon optimizations like IMS did.
  • Tangentially related, Werner Vogels discusses the idea of eventually consistent distributed databases. Today, that’s a problem mostly only Internet-scale sites like Amazon deal with. In the near future of continued data explosion + manycore, we’ll all have to deal with it.
  • Nick Malik argues that categorizing enterprise applications by lifecycle is much less useful than categorization based on organizational impact. He might also need a new chair.
  • Jesus Rodriguez digs into one of SSB’s new features in SQL 2008: conversation priorities.
  • Arnon Rotem-Gal-Oz and Sam Gentile are mixing it up over the definition of SOA. Sam thinks SOA has to include business drivers and Arnon doesn’t. I’m with Sam on this, defining “SOA” independently from “Applying SOA” seems pointless. Then again, rigorously defining SOA – much less arguing about said definition – seems like a waste of time in the first place IMHO.
  • Wow, this guy Zed is mad at the Ruby community.
  • Andrew Baron has 8 Reasons Why The TV Studios Will Die. Personally, I think reason #2 – Expendable Middle-Person – is the most important. If content producers can reach consumers directly, what value-add will the networks provide? (via United Hollywood)