Morning Coffee 87

FYI, I’m at TechEd all next week. Given that WiFi access at conferences usually blows, I’m not planning on regular morning coffee posts. I’ve asked Dale again to keep the lights on around here and he’s graciously said yes. Since I’m not on vacation, I’ll be lurking around as well, but I’ll be in an out. See you in Orlando!

  • Jeff Atwood proclaims that developers are their own worst enemy, because they write too much code. Add in a pinch of “not invented here” syndrome and I think you’ve got it. This is one of the reasons why people think Ruby is the tits.
  • Scott Hanselman has already taken advantage of the new WLWriter provider customization API.
  • Erik Johnson writes about the thunderous REST bandwagon. He doesn’t explicitly say it, but my take is that he thinks this all ends up in some middle ground between REST and WS-*. I hear that, at least, if that’s what he’s saying. I’m not sold on “HTTP is all you need” – I need durability and async messaging, but I don’t see how to get there from here with just HTTP.

Morning Coffee 86

  • Google announces Gears, a browser plugin for taking your web application offline. Developer docs are also available. TechMeme has lots more, but obviously this is yet another significant bow shot in the upcoming unified client platform war. By my count, there are four horses in this race: Microsoft with .NET and Silverlight, Adobe with Flash and Apollo, Google with AJAX and Gears and Sun with Java and JavaFX. Did I miss anyone? (via Dare Obasanjo and Scott Hanselman)
  • Alex James writes that REST is about intent and shows a pseudo-code sample posting multiple changes to a single endpoint as a way of demonstrating your intent that they be applied atomically. Andres Aguiar left a comment saying that Astoria does something similar. Personally, I like that model for transactions better than the transaction factory approach Jon Udell describes. But either way, you’ve moved beyond simple CRUD style services and into the world of protocol. Surfacing intent via protocol aligns with what Tim described as making the protocol explicit
  • Windows Live posted new beta versions of Writer, Mail and Messenger. I’ve been on an internal build of the new Writer for a while and I’ve really been impressed. There’s also a new Provider Customization API, so I can’t wait to see what the DasBlog folks do with that.
  • Scott Guthrie’s LINQ series continues, this time covering how to build the LINQ to SQL data model. Looks like they used the DSL toolkit to build the LINQ to SQL data model designer, cool!
  • Martin Fowler digs intoracc, a yacc-esque compiler compiler for Ruby. Looks interesting as a internal DSL example (better than the now-canonical rake example). But why is the sexy new language on the block using old school CFG’s instead of new hotness PEG’s?
  • Speaking of Martin, he writes about the opportunity Ruby presents to Microsoft, building on Scott Hanselman’s concerns that Microsoft is losing the Alpha Geeks. Sam Gentile also weighs in, suggesting that Microsoft is at the crossroads. Frankly, I don’t work in evangelism anymore so I’m going pass these links along without comment except to say that Scott, Martin and Sam are all folks I have much much respect for.

Morning Coffee 82

  • Dare reached a similar conclusion about Silverlight and Apollo that I did. But newly minted Adobe RIA evangelist Ryan Stewart writes that calling Silverlight vs. Apollo the next platform competition is overblown. However, he then reiterates my point that MSFT is moving in on Adobe’s traditional stronghold (aka the web) while Adobe is moving in on MSFT’s traditional stronghold (aka the desktop). The upshot is that both companies are trying to deliver a unified “client” platform that spans desktop, devices and browser. That sounds like “platform competition” to me.
  • Apparently I’m missing the this years compiler dev lab. 😦 John Lam is there, with slides from his talk on the DLR. Miguel de Icaza is there, with fairly extensive notes. Hopefully they will post talks like they did last year.
  • Speaking of languages, Scott Hanselman explains why he thinks Ruby is “the tits”. Personally, on the scale between “I can’t see where Ruby is such hot shit” and “Ruby is the tits”, I’m somewhere near the middle, leaning towards tits. I love the expressiveness of Ruby’s syntax, but I miss the static typing. Call me over the hill, but I like the compiler catching mistakes at compile time. I realize it’s not for everyone, but I like what I like.
  • This talk about Ruby’s expressiveness reminds me of something Larry O’Brien said in the wake of the IronRuby announcement: “I am surprised by the IronRuby announcement. I really thought we were going to see some form of Ruby#:Ruby::C#:Java. Although I’m happy, I was actually hoping to see a new language.” The expressiveness of Ruby that Scott describes (which is to say, not all of Ruby’s expressiveness) would be completely achievable in a statically typed language. Personally, I’d like to see that language…
  • My birthday is past, but I want a Lego Ice Cube Tray. (via Geekdad)

Morning Coffee 75

  • 3D Printing is going to be huge. According to the NYT, we’ll be looking at around $1,000 for one within four years. For the impatient, check out Fab@Home and build one right now.
  • It’s been a while since I experimented with the P2P stack in Windows, but it looks like it’s getting the managed treatment in VS “Orcas”.
  • The managed Ruby hits keep on coming. Last week was DLR and IronRuby. This week it’s a new drop of Ruby.NET which includes VS integration.
  • Looks like Sun is trying to get back into the Ajax/Flash/Silverlight fray with JavaFX Script. I wrote over a year ago that “In platform portability, Flash has succeeded where Java failed.” I can’t help but believe JavaFX is too little too late. Also, it’s yet another Java technology name that sounds like it’s been blatantly copied from MSFT. JDBC, JSP, JDO … What’s next? JINQ? (via TechMeme)
  • Steve Maine has a great series of posts on the new Web Programming Model that’s coming in .NET 3.5 and is currently being previewed as part of the BizTalk Services SDK. But it was his Balancing reach and rich post that I found most illuminating. The first version of WCF feels hopelessly bound to the WS-* view of the world, which makes it difficult to incorporate alternative messaging models into the same programming model. I’ve run into this trying to use SSB with WCF. In the next version, that WCF / WS-* marriage looks like it’s getting a little more open. In my current role, I’m not so interested in the web programming model, but I am very interested in how they are integrating these alternative models.

Morning Coffee 73

  • The MSDN folks have a utility for creating custom help files from the online MSDN library. I didn’t realize MSDN even had a content service. This is tres useful.
  • Jeff Atwood explains how error-filled the web is and how error-tolerant modern web browsers are. I’ve often argued that one of the keys to the rise of Visual Basic was because it was tolerant of sloppiness. It’s hard to argue with Jeff’s conclusion that “forgiveness by default is what works”.
  • BizTalk Labs shipped an update to the Connectivity Service. It “now supports simple publish and subscribe eventing. This allows multiple clients to subscribe to a service and receive notifications.” Steve Maine has some details and a link to the MIX session he did with Don.
  • Larry O’Brein is happy about IronRuby, but was hoping to see a new Ruby/C# hybrid language. Even though it’s his “#1 administrative programming language”, he specifically hopes for a new language so would “have the flexibility to evolve the language.” But Larry, MSFT already had an dynamic administrative language that it can evolve! It’s called PowerShell…
  • The XNA folks have shipped a bunch of new content, including the Racing Game Starter Kit.
  • Machinima is growing up fast. I just discovered iClone, a real-time 3D animation filmmaking tool. You know, my birthday is coming up later this month…