Passion * Technology * Ruthless Competence

Friday, September 12, 2008

Afternoon Coffee 174

You know, this gets pretty long when I go a week between morning coffee posts.

Dynamic Language Stuff

Other Stuff

  • Don Syme blogs about an update to the F# CTP, a mere week after the original release. One week? That's more often than even IPy releases. I can't wait to see what they ship in next week's release! :) Seriously, I hope they can keep the release sprints short, but every week would be a bit crazy!
  • Speaking of F#, Matt Podwysocki updates FsTest for the F# CTP and posts about Extension Everything in F#. Unlike C#, which only supports extension methods, F# also supports extensions properties, static methods and events, though like Matt I can't think of a good use for extension events.
  • Still speaking about F#, Andrew Kennedy has a three part series on the new units of measure feature of F#. If you were going to use F# to build the physics engine of a game, I would suspect UoM would be extremely useful. (via Don Syme)
  • Oh look, Chris Smith built an F# version of artillery game that uses Units of Measure for the physics code. I'll bet UoM was extremely useful. :)
  • Talking about Live Mesh at TechEd Australia - where much to my surprise frankly they were demoing Live Mesh Apps - I pointed out to Scott Hanselman that Mesh is running an embedded CoreCLR (aka the same CLR from Silverlight 2). Scott went poking around and posted what he discovered. Looking forward to finding out what he digs up on using CoreCLR outside the browser.
  • Speaking of Scott, I need to set up a family video conference solution like Scott's before my next trip.
  • Congrats to Glenn Block and the MEF team for their initial CodePlex source drop! I've been hearing about this possibility since Glenn joined the team, so I'm really excited to see it happen. I need to take a look at it in detail (in my copious spare time) because I want to find out how to make it work with IPy.
  • Bart de Smet has a whole series (starting here) on Dynamic Expression Trees. However, given that he specifically writes "This blog series is not about DLR itself" makes it seem pretty conceptual to me. Why not talk about DLR expression trees instead Bart?
  • I'm sure you noticed ASP.NET MVC preview 5 dropped last week. I really liked Brad Wilson's discussion of the new view engine design.
  • Tomas Restrepo has started publishing his source code on GitHub. Personally, I haven't published any source code lately but I am using Git for all of my non IPy core work (which is stored in TFS). Like Tomas, I'm still getting the hang of Git but I'm really digging it's speed, it's branching and the fact that there's zero infrastructure requirements. SVN provides the lightweight svnserve, but Git is even lighter weight than that.
  • I liked Steve Yegge's post on typing. I am a touch typer, but I doubt I type 70 words a minutes. I do know where the number keys are without looking though, so I guess that's pretty good. I remember seeing Chris Anderson demo Avalon WPF long before it was public and being impressed at how fast he could type.
Posted By Harry Pierson at 1:20 PM Pacific Daylight Time

Friday, August 29, 2008

Morning Coffee 173

I'm on my way out the door for New Zealand and Australia, but I wanted to push out a few things.

  • F# August September CTP is out! Don Syme has the announcement, Jomo Fisher has the link roundup and details are on the brand-spanking-new MSDN F# Dev Center. Major congrats to the F# team. I've been running a pre-release version of these bits, and they are a huge step forward if you're an F# developer.
  • I've got an article on IronPython in the latest issue of CoDe magazine. Also check out Brad Wilson's IronRuby article, Ted Neward's F# article and Neil Ford's Polygot Programming article.
  • Via Michael Foord I discovered that IronPython tester Dave Fugate is back on the blog. He starts with a couple of posts about measuring IronPython performance.
  • Speaking of blogging teammates, I think the dynamic languages team has the highest percentage of bloggers in any group at MSFT. All four Program Managers (Dave (lead), John, Jimmy and me), four of five developers (Shri (lead), Dino, Curt and Oleg) and all three Testers (Jim, Dave and Srivatsn). The only non blogger right now is Tomas - who at least has a home page - and  the lead tester which is an open position right now. 11 bloggers out of 12 team members equals 91.67% team blogger coverage.
  • I was really impressed with Newspeak when I saw it at Lang.NET so I'm very excited to see they have a new website. No public bits yet, but I like the part where they point out Newspeak "can be implemented independently of Squeak, Smalltalk or any particular VM or IDE". How about implementing a version on DLR guys?
  • Maurice de Beijer shows off embedding IronPython inside a WF application. Kinda cool, but he's primarily showing off implementing a CLR interface in IPy. How about a WF activity that execute arbitrary IPy code. That would be cool. (via IronPython URLs)
  • Ironclad has reached their 0.5 milestone, being able to import numpy from IronPython. BTW, guys - I'm not sure commenting out one line that appears to be unreferenced qualifies as a "monstrous caveat". Congrats guys! (via IronPython URLs)
Posted By Harry Pierson at 1:29 PM Pacific Daylight Time

Monday, July 21, 2008

Five Minutes Past Noon Coffee 170

  • Ben Hall announces IronEditor, a simple dev tool for IronPython and IronRuby. Pretty nice, though fairly simplistic (as Ben readily admits). For example, it doesn't have an interactive mode, only the ability to execute scripts and direct the output to IronEditor's output window. However, it is a good start and I'm sure it'll just get better. One thing he's apparently considering is a Silverlight version. (via Michael Foord)
  • Speaking of "Iron" tools, Sapphire Steel have had an IronRuby version (in alpha) of their Ruby in Steel product for several months now. I wonder if John's had a chance to play with it.
  • Speaking of John, the ASP.NET MVC / IronRuby prototype he talked about @ TechEd is now available on ASP.NET MVC Preview 4 via Phil Haack.
  • Ted Neward has an article exploring the IronPython VS Integration sample that ships in the VS SDK. As I mentioned the other day, we're starting working on a production quality implementation of VS Integration for IPy.
  • Ophir Kra-Oz (aka Evil Fish) blogs Python for Executives. I like his "Risk, Recruiting, Performance and Maturity" model - four boxes, perfect for keeping an executive's attention! :) Plus Ophir has some nice things to say about IronPython. (via Michael Foord)
  • Ronnie Maor blogs an extension method for PythonEngine to make Eval simpler. I especially like how he uses string format syntax so you can dynamically generate the code to eval. I wonder what this would look like in IPy 2.0 with DLR Hosting API. (via IronPython URLs)
  • Speaking of DLR Hosting, Seshadri has another great DLR hosting post, this time hosting IPy inside of VS08 so you can script VS08 events (document saved, window created, etc) with Python.
  • Justin Etheredge has a bunch of IronRuby posts - Getting IronRuby Up and Running, Running Applications in IronRuby, Learning Ruby via IronRuby and C# Part 1. (via Sam Gentile)
  • Don Syme links to several F# related posts by Ray Vernagus, though he's apparently also experimenting with IronRuby. I'm really interested in his Purely Functional Data Structures port to F#.
  • Speaking of F#, Brian has a teaser screenshot of F# upcoming CTP. However, he chooses the New Item dialog to tease, which looks pretty much like the current new item dialog (the new one does have fewer F# templates). However, if you look in the Solution Explorer, you'll notice a real "References" node. No more #I/#R! Yeah!
  • The interactive graphic in Kevin Kelly's One Machine article is fascinating. It really highlights that the vast vast vast majority of power, storage, CPU cycles and RAM come from personal computers on the edge. Even in bandwidth, where PC's still have the highest share but it looks to be around 1/3rd, the aggregate of all edge devices (PCs, mobile phones, PDAs, etc.) still dominates the data centers.
Posted By Harry Pierson at 12:05 PM Pacific Daylight Time

Thursday, July 17, 2008

Morning Coffee 169

  • Check out the crowd for a the Washington Capitals developmental camp scrimmage last week (My parents are in their somewhere). Standing room only in the practice facility to watch a bunch of kids, most of whom won't ever make it to the NHL, in July. If you think Washington can't be a hockey town, you are sorely mistaken.
  • Speaking of the Caps, they are establishing a "spirit squad"? Is that really necessary? (short answer: no). Peerless' take is hilarious.
  • Seshadri Vijayaraghavan is a tester on the DLR team and he's been writing quite a bit about the DLR hosting API. He's got a series of posts about hosting, invoking and redirecting output from IronPython in a C# application.
  • I haven't seen an official announcement, but mobile access to Live Mesh is available by pointing your phone browser to http://m.mesh.com. It's mostly a web view of the Live Desktop, though there is a feature to upload photos from your phone. However, for some reason that feature doesn't work for me right now. I don't get the "browse" button.
  • ASP.NET MVC Preview 4 is available for download. Phil Haack has a few details that ScottGu didn't cover. Scott Hanselman shows off some AJAX stuff.
  • Speaking of Scott Hanselman, he highlights the return of Terrarium from Bil Simser. Scott mentions that most Terrarium animal implementations were big collections of nested if statements. I wonder if F# pattern matching would be a cleaner approach?
  • Ted Neward obviously never "even tangentially" touched politics, as I think they have far worse flame wars far more often than we have in the software industry. However, certainly the Scala flame war he's commenting on seems fairly counterproductive.
  • Brad Wilson runs into a wall trying to convert a string to an arbitrary Nullable<T>.He doesn't find an answer, but I found reading thru the steps he took to try and find an answer strangely compelling.
  • Jeff Atwood argues that Maybe Normalization isn't Normal. It's mostly a collection of information from other places, including a compilation of high-scale database case studies. But it's a useful collection of info and links, with a little common-sense thrown in for good measure.
  • I have a hard time imagining Pat Helland camping.
Posted By Harry Pierson at 10:52 AM Pacific Daylight Time

Monday, July 14, 2008

Morning Coffee 167

  • If you're a gamer, you're probably already well aware that E3 is this week. The Too Human demo has already been released. I have a friend who's been working on "something" that will be announced today (I think).
  • Live Mesh folks pushed out an update Friday. Among the new features is the ability to sync folders among peers but NOT up to the cloud. This is cool because it means I can sync my many many GB of pictures and music on my home machine backed up with Carbonite. This means I can sync them without blowing thru my 5GB Mesh storage limit.
  • It looks like there's a new F# drop - 1.9.4.19 - but as usual there is no announcement or details as to what's new. Release notes guys, look into it.  UPDATE - Don Syme blogged the release, and it's pretty minor. a .NET FX 3.5 SP1 bug fix, a fix for Mono, and they removed WebRequest.GetResponseAsync to make F# work on Silverlight. And the release notes are in the readme. My bad.
  • Speaking of F#, it was "partially inspired" by OCaml, so when I see papers related to OCaml, I immediately wonder if I an apply the described techniques to F#. "Catch me if you can, Towards type-safe, hierarchical, lightweight, polymorphic and efficient error management in OCaml" is one such paper. (via LtU)
  • Speaking of functional programming, Matthew Podwysocki posted a bunch of FP links as well as a Code Gallery Sample on FP in C#. Good stuff.
  • As per Scott Guthrie, it looks like there's a new ASP.NET MVC drop coming this week.
  • Based on posts by Ted Neward, Dare Obasanjo and Steve Vinoski, Google Protocol Buffers sounds like it's going to be a dud. Note, I haven't looked at it depth personally, I'm just passing on opinions of some folks I read and trust.
  • Speaking of Dare, both he and James Hamilton take a look at Cassandra and come away impressed. I wonder how easy it is to code against from Python and/or .NET?
  • Bart de Smet has a cool sample of calling out to PowerShell from IronRuby via the backtick command. Pretty cool, but it would even cooler to show how to call out to PS and return .NET objects to Ruby (though that would probably not be spec compliant for the backtick command).
  • Here's a MS code name I had never heard before - Zermatt. It's "a framework for implementing claims-based identity in your applications." (via Steve Gilham)
Posted By Harry Pierson at 9:30 AM Pacific Daylight Time

Monday, July 07, 2008

Morning Coffee 166

Yes, I realize it’s been a while. I tried in vain to catch up with my blog reading after my Hawaii vacation and finally just gave up and hit “mark all as read”.

Dynamic Languages

  • There's a new version of the DLR hosting spec available (doc, pdf). The DLR implementation is still in motion, so there are some inconsistencies between the spec and the code, but the spec should give you the high level overview you need if you want to host DLR languages inside your app.
  • Oleg Tkachenko recently joined the dynamic languages team. He's the creator of the Interactive IronRuby Web Shell, an IronRuby version of Try Ruby. Of course, it’s not as cool as using SL2to execute the code directly in the browser. Michael Foord has his Python in the Browser and my teammates John and Jimmy demoed a Silverlight version of Try Ruby @ TechEd.
  • Jim Deville, also of the dynamic languages team, recently started blogging.
  • I have a new boss, Dave Remy. He doesn't have a blog - yet - but you can follow him on Twitter as daveremy. When Twitter is actually working that is.
  • There's a new homepage/wiki for IronRuby though I’m not sure why there's a picture of Matz wearing a Python shirt on the home page.
  • My teammate Jimmy Schementi provides some "continued hope" for a better (heck, I'll take current) ASP.NET and ASP.NET MVC story for DLR languages.
  • Via Michael Foord, sounds like IronClad is making good progress. V0.4 can run the bz2 module "in its entirity" (maybe run a spellcheck on your site, guys?) and now apparently, it's now able to load numpy.core. Very exciting!

Other Stuff

  • Pat Helland, who has blogged even less than me for the past few months, has a post up about controller and doers in the IT department. After 18 months in MSIT, put me in the doer camp, please.
  • The F# team has pushed out a spec for v1.9.4 of the language. Don Syme says it's not official, but it's a huge improvement over the old informal spec
  • Speaking of F#, my friend Matthew Podwysocki recently published FsTest, a testing DSL for F#. I wrote about F# unit testing as part of my PEG parsing series, and I really like the direction Matthew has taken this project. You can pull it down from CodePlex.
  • When I did my PEG talk @ Lang.NET, Gilad Bracha mentioned I should check out oMeta. It looks really cool, though with the job change I haven’t had the time to play with it. Now I discover that Jeff Moser is working on a version for CLR called oMeta# that I’ve got to spend some time with. And in the comments to that post, I discovered pyMeta from Allen Short, though it apparently doesn’t work on IronPython (must investigate why).
  • James Kovacs introduces psake, a PowerShell based build automation tool which uses a rake-inspired internal DSL syntax similar to one I blogged last year. I'd love to see this take off, but given MSBuild's tool integration, I wonder if that's feasible.
  • I upgraded my home wireless network almost exactly a year ago. I've been happy with the range and coverage, but not so happy with the Buffalo Tech firmware. The built-in DHCP server is pretty flaky. So I upgraded to the open-source Tomato firmware. Upgrade was smooth, though I did need to reset my cable modem. But even that was smooth - Comcast has an automated service for that now,
Posted By Harry Pierson at 9:30 AM Pacific Daylight Time

Monday, June 16, 2008

Morning Coffee - Post Vacation Edition

It's been exactly a month since my last post. A crazy month, hence the lack of blog posting around here. Sorry about that. My wife has been much more regular in her blogging than I have of late - she's posted a dozen times since my last entry.

Since I'm so far behind on blog reading, and email, and work, and pretty much everything, this is going to be a slightly different Morning Coffee - more forward looking than backwards. Back to normal Morning Coffee posts in a day or so.

  • Hawaii was awesome. I was going to post a trip summary, but my wife beat me to the punch. My personal favorite part was the air tour, but frankly it was all good.
  • I hear the weather in Seattle was awful while I was gone. My wife's best friend called it "Juneuary". However, the weather since we got back has been pretty awesome. I take full credit for bringing the good weather to Seattle from Hawaii. :)
  • I was in Amsterdam for work and I didn't have my family with me, but it was pretty good all the same. My good friend Matt lives in Amsterdam full time, so I got to spend a lot of time with him. I also discovered that I have a new favorite beer - Kwak.
  • I'm sure you're aware of these, but I should post the links anyway: IronRuby on Rails, IronPython Beta 3, Silverlight 2 Beta 2, Silverlight Dynamic Languages SDK Beta 2, ASP.NET MVC Preview 3.
  • I have 419 mails in my inbox - and I've been fairly diligent about deleting stuff that I didn't need to keep even on vacation. That's about 400 more than I'd like to have in there. Most of today will be spent digging out my inbox. Small miracle: I have nothing currently on my calendar for today.
  • I'm one of the content owners for PDC08. After getting my inbox cleaned up, my #1 priority is to see where we are on PDC planning. I have a feeling that's going to take up the majority of my time for the next couple of weeks.
  • I mentioned above that we shipped the latest beta of IronPython while I was away. As you can imagine, there's a bunch of PM work to be done as we get down to the release of IPy 2.0 (sometime this fall) as well as early work on the next version of IPy.
  • Outside of work, I've got a lot of writing to do. I'm finishing up an article on IPy and starting to really hunker down on a book that I'm writing.
Posted By Harry Pierson at 10:13 AM Pacific Daylight Time

Thursday, April 24, 2008

Morning Coffee 164

  • Big news since my last Morning Coffee post was the announcement of Live Mesh. I've been running it for about a month, and I'm really digging it. Make sure you check out the team blog and watch the developer tour video (be on the lookout for IPy about half way thru the video)

ALT.NET

  • I had a great time @ the ALT.NET open space conference last weekend. I was somewhat distracted on Saturday as due to a family communication mixup, I had to bring my son Patrick with me. Jeffrey Palermo shot a cute video of him (3 minutes in) where he explains that he's at the conference "to be with my dad". Having a five year old is a little distracting, but everyone was amazingly cool with having him around. When he gets a little older I have no doubt he'll be attending conferences and leading open sessions.
  • I did a session on F#, but it felt kinda all over the place. I hadn't touched F# in a few months and it showed IMO. Matt Podwysocki was there to help keep the session from devolving into mass chaos. Thanks Matt.
  • My favorite session of the conference was Scott Hanselman's "Are We Innovating?" talk, which I think originated from a question I asked him: There are many examples of large OSS projects in other dev communities that get ported to .NET (NHibernate, NAnt, MonoRail, etc). Can you name one that's gone the other way? I can't.
  • I took Matt's advice and joined the local ALT.NET Seattle group.

DyLang Stuff

  • Martin Maly posts about how dynamic method dispatches are cached in three different layers by the DLR. You shouldn't care about this stuff if you're a DLR language user, but you will certainly care about it if you're a DLR language builder.
  • I'm really excited to see Phil Haack (whom I met F2F @ ALT.NET) is experimenting with IronRuby & ASP.NET MVC. True, I'd rather it was IPy, but his Routes.LoadFromRuby would work with Python with very little code change.
  • Note to self, take a deeper look at Twining, the IPy database DSL by David Seruyange.
  • Daily Michael Foord - Ironclad 0.2 Released. Ironclad is a project to implement Python's C extension API in C# so that IronPython could load standard Python C modules like SciPy and NumPy. So far, they're able to load the bz2 module

Other Stuff

  • Congrats to Brad and Jim for shipping xUnit.net 1.0.
  • Everyone seems to be jumping on the functional C# coding bandwagon. Bart De Smet's series on pattern matching in C# is currently at eight posts. Now Luca Bolognese is in on the action, with three posts so far on functional code in C#. I like how Luca keeps writing that the C# syntax is "not terrible" for functional programming. Again, why suffer thru the "not terrible" syntax when you could be using F# instead? (via Charlie Calvert)
  • I need to take a look at VLinq. Charlie and Scott Hanselman both mentioned it recently.
  • I would like to have been in the conversation with Ted Neward, Neal Ford, Venkat Subramaniam, Don Box and Amanda Silver.
  • I haven't had any time to play with XNA of late, which means the great list of GDC videos Dave Weller posted on the XNA team blog will remain beyond my ability to invest time for now.
  • There's a new drop of Spec# from MS Research. IronRuby is using Spec# heavily as I recall.
Posted By Harry Pierson at 10:53 AM Pacific Daylight Time

Tuesday, April 22, 2008

Morning Coffee 163

Between MVP summit last week, ALT.NET this past weekend and an internal brown-bag presentation yesterday, my unread email and blog posts have piled up. Most of the following is old news, but I wanted to get something out. Especially since I feel a case of Caps Fever coming on that will force - force you understand - me to head home early today.

DyLang Stuff

  • My teammate Srivatsn demonstrates how to make your static C# types act more dynamic in order to interop better with DLR languages. For example, by implementing GetBoundMember and SetMemberAfter, you can support setting arbitrary attributes on a C# class from Python. Cool.
  • Today's Michael Foord link: On Testing: Some Programmers Refuse to Get it. He's responding to a comment by Allen Holub suggesting that having 110k of test code for 30k of production code is "a real indictment of the language" (IronPython). I'm with Michael on this, Holub's suggestion is laughable and worse radically uninformed. I like the way Larry O'Brien (who passed on Holub's comment in the first place) describes the views of tests from inside and outside the agile community. I also like his description of tests as "quality diodes".

Other Stuff

  • Werner Vogels posts about a new Amazon EC2 feature: Persistent local storage. Basically, you can create an empty volume up to a terabyte in size and then mount it to your images as a drive. The objective seems to be able to run relational databases in the images, rather than being limited to S3 and SimpleDB. Kinda interesting, but given Google's announcement last week, I think the shine is off EC2 a bit.
  • This past weekend's Twitter outage has Dave Winer re-thinking the idea of building networks on a single point of failure. While obviously I agree with the concept, I don't agree with his solution that "We need some big infrastructure companies to get into this game". While there are some big blog infrastructures out there, most of that network was built on a massive number of small infrastructures. Why wouldn't the same thing work for microblogging?
Posted By Harry Pierson at 11:27 AM Pacific Daylight Time

Wednesday, April 09, 2008

Morning Coffee 162

  • Another nice thing about the new job: I'm working in the vicinity of some good friends. I was over in building 42 yesterday and made it a point to stop by Pat Helland's office yesterday and spend an hour or so chatting about the new gig. Pat is down the hall from David Hill, whom I worked with on Architecture Strategy. Back in my building, we're down the hall from the VSX folks including my friends Ken Levy and Gareth Jones. I'm sure there are more folks I know around, but hey it's only my second week!
  • I'm a big fan of Carbonite, which I use to back up all the digital media on my home computer. With two little kids, we have lots of digital photos as you might imagine . However, one thing that bugs me about Carbonite is that it doesn't back up video files by default, you have to go in on a folder by folder basis and select "'Back up Video files in this folder" from the context menu. Given how much trouble this "feature" has given me, I imagine less techie folks don't even realize their video files aren't getting backed up. However, I will say the latest version of the Carbonite Software at least makes it easy to find files that aren't backed up. A quick sweep revealed around a dozen folders that had un-backed-up video files in them, which I promptly fixed.
  • The big news yesterday was the new Google App Engine, which looks to give you access to virtualized infrastructure that sounds similar to what GOOG is rumored to use internally. I like Dave Winer's comment that this enables "shrinkwrap net apps that scale that can be deployed by civillians." Given Google's history w/ Python - Python's BDFL Guido van Rossum works there - it's no surprise that Google App Engine (GAE?) runs on Python, though apparently they "look forward to supporting more languages in the future". I'm guessing "more languages" == Ruby, maybe Erlang too.
  • I wonder if/how Google App Engine will affect Ruby on Rails momentum? If there's a significant lag before App Engine supports Ruby, will that drive developers to Python web stacks like Django? (Django is included in "the box" with App Engine)?@ PyCon, I was surprised at the intra-language animosity I observed. I wonder how many Python developers are secretly hoping Google never ships Ruby support. I highly doubt Google would do that - they want to tap the exploding RoR market like everyone else - but I'd bet it would really take the wind out of Rails' sails if they did.
  • Today's Michael Foord Link: Embedding IronPython 2, Examples of the DLR Hosting API. You can read the DLR Hosting spec, but it's pretty out of date so Michael's article helps fill in some of the gaps.
  • Looks like PowerShell has gotten the open source community treatment in a project called Pash. While I'm sure others are excited about PS on Linux or Mac, I'm excited to see PS running on Compact Framework. I wonder if it would work with XNA?
  • Speaking of XNA, XNA Console is a new CodePlex project that provides an IPy console to manipulate your XNA based game on the fly. Python is no stranger to game development - Civ IV for example provided mod capabilities via python. Alas, the compact framework can't run IPy today, so neither can XNA on Xbox. But wouldn't it be cool to hack your game in IPy running on a 360 using the messenger kit? (via IPy URLs)
  • Bart De Smet gets functional, writing type switch and pattern matching in C# 3.0. I guess it works, but it sure is ugly. Why not just use F# and be done with it?
  • Soma announces that the VC++ Feature Pack has shipped. Somewhere, I assume, there is much (some?) rejoicing.
Posted By Harry Pierson at 10:20 AM Pacific Daylight Time

Monday, April 07, 2008

Morning Coffee 161

  • Huge perk of the new job: new hardware. I had to give up my Dell workstation but I got a Lenovo T61p dual core widescreen laptop, an HP dc7800 dual monitor quad core desktop and a Polycom CX700 IP phone. I'm really digging the Lenovo's integrated fingerprint reader - no more password login - but I'm most impressed with their integrated driver management software. Sure beats the heck out of hunting for dozens of updated drivers all over the place like most vendors for you to.
  • Minor downside to all my new toys: I spent most of my first week on the job installing and configuring said new toys.
  • Caps will face the Flyers in the first round of the playoffs which starts Friday. I have a feeling that I'll be feeling poorly Friday around 3pm and have to head home early. :)

DyLang Stuff

  • Apparently, Michael Foord isn't getting enough exposure on this blog. :) He left a comment to remind me to mention the IronPython URLs link blog he writes along with Mark Rees and Seo Sanghyeon.
  • Speaking of Michael, his employer Resolver Systems just launched a new product: Resolver One Quant.
  • Still speaking of Michael, he's quoted in the InternetNews article Python Fans Take Aim at the Enterprise.
  • My teammate Jimmy Schementi posts a preview of his spare time project "Silverlight on Rails". This RoR plugin lets you declaratively specify if you want your RoR controller code to be accessed remotely via AJAX and run on the server or if you want that code to be downloaded to the client and run in SilverLight. Very cool stuff.

Other Stuff

  • Don Syme provides some insight into the F# producization process. There's going to be an update to the "Research release" later this month and a CTP of the "Product release" later this summer (Brian McNamara has the CTP details). I am looking forward to these releases, though I'll probably be too busy w/ IPy to experiment much with them.
  • Speaking of F#, Matt Podwysocki continues his adventures with F# with a look at tuples, records and discriminated unions. Of the three, I find discriminated unions the most interesting since there isn't anything like it in other languages I've used.
  • Gregori and Chris both announce the release of Unity 1.0. Congrats guys! But if I don't have time to hack around with the latest F# release, you can imagine I won't be getting to Unity any time soon...
  • Jeff Atwood recommends you build your application UI first. Furthermore, he does a good job selling the value of paper prototyping as well as introducing the concept of PowerPoint prototyping. Money quote: "You don't want something too powerful."
  • Via LiveSide I discovered James Hamilton's blog. Normally, hardware infrastructure isn't really my bag, but I find his ideas around using ISO standard shipping containers as modular data center building blocks fascinating. For example, check out this post that suggests sticking modular data centers in condos would be cheaper than building data centers!Subscribed.
  • Speaking of ISO, you may have heard Open Office XML was ratified as an ISO standard. Obviously, there was a lot of controversy around this, but Miguel de Icaza lists of what he considers major community wins from the standardization process. Anything that "pushed Microsoft into more open directions" is a good thing IMO.
Posted By Harry Pierson at 9:39 AM Pacific Daylight Time

Wednesday, April 02, 2008

Morning Coffee 160

I took most of last week between jobs and have spent much of this week getting machines setup, access to builds, etc. Furthermore, RSS Bandit ate my feedlist and I am still soldiering on sans mobile phone so I was pretty much unconnected for about a week and a half.

IPy Stuff

  • Laurence Moroney demonstrates how to configure a web site project in VS08 to use Dynamic Silverlight’s development web server Chiron. I looked at turned it into an exported template, but I think the Start Options are stored in the suo file and I’m not sure how to include that in the template. Maybe it could be set w/ a macro or at worst a GAX recipe?
  • If you’re a regular reader, you might as well get used to the name “Michael Foord”. He’s a developer @ Resolver Systems, makers of the IPy based Resolver One app/spreadsheet hybrid I’ve written about before. He’s also the author of the upcoming IronPython in Action book and the maintainer of Planet IronPython and the IronPython Cookbook. I’m going to try very hard to only link to Michael at most once per day. Frankly, that’ll be tough.
  • Today’s Michael Foord Link: Michael turned his PyCon talk on IPy + SL2 into a series of articles entitled IronPython & Silverlight 2 Tutorial with Demos and Downloads.
  • Ken Levy (who now sits just down the hall from me) clued me into the 1.0 release of IronPython Studio, which is a free IDE based on the VS08 Shell for IronPython (based on code from the VS SDK). Big new feature in this release is support for the integrated VS08 Shell, which means it’ll snap into your existing VS08 installation (well, not express) rather than forcing you to install the 300 MB isolated shell.

Other Stuff

  • Caps had a BIG win last night when they needed it most. Now they’re tied with Carolina for the SE division lead, but they lose the tiebreaker so unfortunately, they can’t make the playoffs without help. ‘Canes have to head back home last night to play Tampa Bay, they have to win tonight and Friday to clinch. Loss in either gives the Caps control of their own destiny. Caps are only one game back of Ottawa, Boston and Philly, none of whom have played well down the stretch. It does mean I have to root for the frakking Penguins to beat Philly, twice.
  • Now that I'm in a job where I'll be traveling occasionally, I really appreciated Scott Hanselman's travel tips, though I'm not sure "Don't look like a schlub" is in the cards for me.
  • Unless you’ve been living under a rock, you’re probably aware that Scott Guthrie blogged that the ASP.NET MVC Source Code is available on CodePlex. The project name is “aspnet” not “aspnetmvc” which makes me wonder if they might release the source to more ASP.NET stuff over time.
  • Speaking of Scott Guthrie, today he blogged about unit testing in SilverLight. Jeff Wilcox appears to have the definitive post on the subject, including links to the SilverLight testing framework (it’s included in the SL Controls source code release). He also provides a prebuilt “SilverLight Test” project template for easy download. Personally, I really like the in-browser test runner. I wonder how hard it would be to hook that up to DySL so you could write your tests in IPy? (given that IPy doesn’t have attributes, I’m guessing there’d be at least a bit of work involved in making this happen)
  • Speaking of SilverLight, apparently the next version of Windows Mobile (i.e. 6.1) will support it. Since I'm in the market for a new phone anyway, I'm thinking of getting one of these. Also, it's nice to see a marketing site for WM 6.1 using Silverlight instead of Flash like WM 6.0 marketing site does.(via LiveSide)
  • Ted Neward turns the news that MSFT is releasing XAML under the OSP into a long and fascinating history lesson that is well worth the read. I’m going to skip commenting on it, beyond advising you dear reader to read this if you haven’t already, except to wonder: how many sides does a “Redmondagon” have?

Thursday, March 20, 2008

Morning Coffee 159

As you might expect, these morning coffee posts are going to get more dev focused as well as more IPy focused.

  • One of the cool things we showed @ PyCon was Django running on the latest drop of IronPython. IPy lead developer Dino Viehand posted a blog entry (for the first time in 28 months!) showing the basic Python DB provider for SQL Server he put together. Hopefully, we won't have to wait another two and a half years for Dino's next post.
  • Speaking of IronPython, some of my new teammates pointed me to Michael Foord's Planet IronPython aggregate news site. Michael is IPy developer for Resolver Systems (the cool spreadsheet app hybrid I wrote about @ Lang.NET) and he's working on an IPy book.
  • Still speaking of IPy, Jeff Hardy dropped his first release of NWSGI, an port of Python's Web Service Gateway Interface spec to ASP.NET and IPy. I can't wait to see NWSGI combined Django running on IPy like Dino demoed @ PyCon. Congrats Jeff!
  • Scott Hanselman's post on Twitter reminds me that I recently started twittering myself. I haven't worked it into my daily routine, so it gets updated only occasionally, but after reading Scott's post, I'm thinking it's cooler than it appears on the surface. 
  • In surprising news, Microsoft is going to start collaborating with IBM's Eclipse Foundation, to make it easier to it easier to write apps for Windows in Java. I would think this is a very cool thing, but apparently Ted Neward - who's knowledge of JavaWorld far eclipses (ha ha) my own - thinks "the skin here is just too sensitive" and that this move might cause more controversy between MS and Java. However, he seems to imply the controversy would be between MS & Sun (Eclipse is obviously named as a jab @ Sun) rather than between MS & the Java community.
Posted By Harry Pierson at 10:08 AM Pacific Standard Time

Tuesday, March 18, 2008

Lunchtime Coffee 158

  • My friend (and hopefully my next representative) Darcy Burner is leading a group of congressional challengers in publishing A Responsible Plan To End The War In Iraq. I haven't read the plan itself in detail, but I sure like what I'm hearing about it.
  • Speaking of politics, Obama's speech today "A More Perfect Union" was fantastic.
  • Bioshock is getting a sequel. 'nuff said.
  • There's a new version of FolderShare out and I've got mixed feelings about it. On the one hand, I've been a regular user of FolderShare for a while so it's nice to see it get a face lift. On the other hand, it's been over two years since Microsoft bought FolderShare and we're only just now getting a new version, which is literally nothing more that a face lift - this version introduces no new functionality at all.
  • I was hoping to geek out vicariously via someone else's hacking around with Singularity. Luckily, Matthew Podwysocki provides just such an opportunity.
  • Looks like "Prism" is the new CAB. Glenn Block has two extensive posts covering a project overview and their first drop. I think it's interesting that the Prism team is focused on building a reference implementation, and letting the framework eventually fall out. Reading thru the description, it sounds awesome. However, based on the massive increase of inbox throughput I'm experiencing since I accepted the new job, I can't imagine I'll have time to play with it. Maybe Matthew will start playing with Prism too! (via Sam Gentile - btw, thanks for the kind words on the new job Sam!)
  • Speaking of Sam, he points to a series by Bob Beauchemin entitled LINQ to SQL and Entity Framework: Panacea or evil incarnate? With a title like that, who can resist reading the whole series? Err, I can because LINQ 2 SQL & EF performance just fell off my radar entirely. However I gotta agree with Sam's point that he "can't think of anyone more qualified than Bob" to tackle these questions.
  • Tomas Restrepo blogs his dev environment PS script as well as a PS fortune script. Personally, I use Chris Tavares' vsvars wrapper for PS, though I'll gladly take an "official" PS based dev environment.
  • I wonder if Ted Neward will get jumped for admiring Mort the way Nick Malik did. Given that Ted called himself Mort while Nick compared Mort to agile developers, I'm guess Ted will have to go back to his Vietnam analogy if he wants to create controversy.
  • Speaking of Ted, I agree with his point that conferences are about people. As a python pre-newbie (I figure I'll reach full newbie status by the time I actually start my new job), I spent most of my PyCon time connecting with people rather than trying to learn technical stuff. Also, I love Ted's WHISCEY acronym.
  • Speaking of PyCon, my soon-to-be new teammate Srivatsn Narayanan blogs his thoughts on PyCon. I'll try and get to my PyCon thoughts soon.
Posted By Harry Pierson at 11:49 AM Pacific Standard Time

Monday, March 10, 2008

Morning Coffee 157

  • My Xbox 360 started flashing the dreaded Red Ring of Death on Friday. <sigh> I'm not going to have much time to play in the next week, so it's not the end of the universe, but I did have to dig an old DVD player out of the garage for interim duty.
  • My Caps really stepped in it over the weekend dropping two games they had to have and by most reports (aka according to my dad) that they dominated most of the way. Caps Playoff Math isn't as dire as say Clinton's Nomination Math, but they are three games back of the Hurricanes with twelve to play.
  • Ted Neward has a pretty good F# overview article in the most recent MSDN Magazine. I say pretty good because I wonder if someone with no functional programming experience will "get it". As much as I like F# and functional programming, I think some of the basic concepts don't pass Don Box's two beer test.
  • Speaking of Ted, somehow his feed fell off my radar (bad DevHawk!) and I missed several great posts like Modular Toolchains (note to Ted, check out A Research C# Compiler), Why we need both static and dynamic in the same language (note to self, check out Cobra) and The Fallacies Remain.... (recently, I'm the guy shouting about risks).
  • Speaking of MSDN Magazine, have you seen their new site redesign? I can't find any announcement of it, but man the site looks great.
  • If you missed MIX, the sessions are all online already. That was fast.
  • John Lam blogs about the availability of the Dynamic Silverlight bits. Apparently, Dynamic Silverlight includes more recent bits than the Silverlight 2 SDK, which does includes binaries and tools for IronPython, IronRuby and Managed JScript (quickstart). So you can get started with dynamic languages on Silverlight using the SL SDK alone, but I expect that the Dynamic Silverlight bits will be updated more regularly than the SDK.
Posted By Harry Pierson at 8:59 AM Pacific Standard Time

Friday, March 07, 2008

Morning Coffee 156

  • My hockey team won last night 4-2. No points for me, but I was even on the night. I did spend some time in the penalty box, but I was serving a two many men on the ice bench minor. We only had nine skaters, not enough for two full lines, so I'm pretty tired today. However, I'm not as tired as I was two weeks ago - that's a good sign.
  • Politics 2.0 watch: The Obama campain announced yesterday that they raised $55 million in donations in the month of February. That's significantly more than Clinton ($35 million) and McCain ($12 million) combined. Even more impressive is that $45 million of that was raised online, of which $40 million were from donations of $100 or less and $22.5 million were from donations of $25 or less. I guess in Politics 2.0, individuals contribute more than online punditry and video parodies of political commercials.
  • TextGlow is a Sivlerlight 2 based Word docx file viewer, created by James Newton-King. Nice, but what I really want is "SlideGlow", a SL2 based PPTX file viewer. (via DNK)
  • Speaking of Silverlight, Windows Live launched an experimental site called PhotoZoom which will let you create DeepZoom photo albums. (via LiveSide)
  • Charlie Calvert has created a home for Language Futures discussion on MSDN Code Gallery. If you'll recall, back in January he asked for input on Dynamic Lookup. Now he's looking for feedback on Call Hierarchy, a proposed VS IDE feature to help you visualize how your code flows. Great idea, but the Call Hierarchy dialog mockup isn't very intuitive. Couldn't we put these visualizations into the code editor window directly, like CodeRush does?
  • John Lam continues his Dynamic Silverlight series, first building a Flickr image browser in Managed JScript then showing how to integrate an IronRuby version of the Flickr image browser with an ASP.NET MVC app.
  • EdJez is inspiring. Subscribed. (via Brad Wilson)
Posted By Harry Pierson at 10:34 AM Pacific Standard Time

Thursday, March 06, 2008

Morning Coffee 155 - Dueling Conference Edition

  • If you don't want to watch the video of yesterday's MIX keynote but still want a sense of what happened, check out Tim Sneath's keynote liveblog. (via Sam Gentile)
  • Other announcements from Mix day one keynote that I missed (all via Tim Sneath)
  • Quick side note - Installing Silverlight 2 in order to check out the DeepZoom Hard Rock demo was smooth, fast and easy. It's hard to believe there's a whole CLR in there.
  • Now on to public stuff I saw @ TechFest:
    • One of the problems with touch screens is that your fingers obscure what you're trying to touch. Lucid Touch solves this by having you touch the back of the device, while rendering a virtual shadow of your hand - a technique they call "pseudo transparency". You really need to watch the video to "get" this. It's not currently feasible - the prototype uses a webcam on a foot long boom to track hand and finger position. However, they expect a future version will have some type of imaging sensors embedded in the body of the device.
    • The Berkeley Emulation Engine version 3 (aka BEE3) (video) is a high powered hardware simulator. Apparently several orders of magnitudes faster than conventional simulation. Frankly, most of this demo was over my head and I'm not really a HW guy. But it sounds really fast.
    • BLEWS or "what the blogosphere tells you about news". Given my interest in political blogging, it's not a surprise I was interested in this project. This tool categorizes news stories according to their reception in the political blogosphere. It provides a visualization showing not only how many links from a given ideological sphere there are, but how strong the emotions are running. Kinda like Memorandum on major steroids.
    • Music Steering (video) is an "interactive music-playlist generation through music-content analysis, music recommendation, and music filtering". Sort of like LastFM + Pandora on your Zune.
    • In-Depth Image Editing (team site) showed some cool photo editing software that reminding me of Microsoft Max.
    • MashupOS (paper) is a set of abstractions to improve the browser security model, allowing for isolation between blocks of code from different sources while still allowing safe forms of communication.
    • MySong (paper, video) "automatically chooses chords to accompany a vocal melody, allowing a user with no musical training to rapidly create accompanied music". Karaoke singers rejoice! Actually, it's pretty cool. You can adjust sliders to adjust characteristics of the generated music like "Jazz factor" and "Happy factor". Actually, I just want a happy factor slider in all my software.
    • I saw some cool projects from the Socio-Digital Systems group and MS Research. My wife is a sociologist and always says there's no way she could ever get a job in the big house. Maybe after she checks out this team, she'll stop thinking that.
    • The Worldwide Telescope booth was so crowded that I couldn't get anywhere near it. From what I could see from standing in the back, it looked fantastic. It's not live yet, but you can check out the video from the TED conference to get a sense of it.
Posted By Harry Pierson at 9:51 AM Pacific Standard Time

Wednesday, March 05, 2008

Morning Coffee 154

  • Did you see yesterday's Dilbert cartoon? Classic.
  • MIX isn't the only Microsoft conference this week. It's also time for the annual MS Research TechFest conference. It actually started yesterday, with a keynote from Rick Rashid and Craig Mundy (available on demand). I'll be heading up there later today and will blog everything I saw that is public, like I did last year. In the meantime, you can check out some cool MS Research projects on the TechFest video page.
  • Speaking of MS Research, they've published the Singularity source code (for academic and non-commercial purposes) on CodePlex. Singularity is research OS "focused on the construction of dependable systems". I've wanted to play with this, but I've never had the time. Frankly, that hasn't changed, but now that it's available to the community, I'm hoping I can live vicariously thru other people hacking around with it.
  • Some announcements coming out of MIX won't be a surprise to anyone:
  • Here some primarily "new" news from MIX:.
    • I'm not sure which team owns it, but I'd say the biggest previously-unannounced news was SQL Server Data Services (aka SSDS), a "highly scalable, on-demand data storage and query processing utility services." In other words, SQL in the sky. There's a free beta sometime this month you can sign up for. Very cool, though no word on what it's going to cost. If you're interested in this, I'd keep an I on the Data Platform Insider blog.
    • John Lam announces the Dynamic Silverlight extension that lets you run DLR languages on Silverlight. Given that they talked about this last year, I'm not sure it's really "news", but John provides lots of gory details so it made the cute. But are they really using "DSL" as the acronym for this? Guys, that acronym's already taken.
    • Mary Jo Foley has a scoop on Silverlight for Nokia Symbian mobile phones.
    • There's a new beta of Expression Studio 2 as well as a separate Expression Blend 2.5 preview for Silverlight 2. Soma has the details. This isn't really a surprise, but I hadn't seen any news on new versions of all the Expression Studio products.
Posted By Harry Pierson at 11:27 AM Pacific Standard Time

Tuesday, March 04, 2008

Lunchtime Coffee 153

Posted By Harry Pierson at 12:28 PM Pacific Standard Time

Monday, March 03, 2008

Morning Coffee 152

  • I was slammed Friday, so I didn't get a chance to post the results of last Thursday night's hockey game. I'm sure you've all been eager to hear. We lost, bad, 8-2. Personally, I was -3 and had no points, but I played much better than last week. We had three full lines of forwards, which was a big help, but I have started to find my ice-legs so to speak.
  • Charlie Calvert has the now-definitive list of LINQ to Everything. Of all of them, I found LINQ over C# fascinating, especially given my recent efforts in parsing.
  • Chris Tavares blogs about a distributed source control system called Bazaar. Unlike most version control systems, Bazaar is distributed which means you can use it without a server. According to Chris, you can share branches as easily as mailing a file. I wonder if you could make Bazaar work over a P2P network.
  • While looking up the MSDN link for the previous coffee item, I noticed an entire new section in the MSDN Library for Open Protocol Specifications. Not much to add, just wanted to highlight their existence.
  • Admitted non-designer Scott Guthrie shows off using the new version Expression Blend to build a Silverlight 2.0 app. Personally, I was most interested in seeing some of the new of built-in controls.
Posted By Harry Pierson at 10:58 AM Pacific Standard Time

Thursday, February 28, 2008

Morning Coffee 151

  • Unity's first CTP was just over two weeks ago, but according to Grigori Melnik, it's shipping just over two weeks from now. That seems pretty speedy to me. By the time I get a change to take a closer look at Unity, it'll probably have shipped.
  • I discovered Matthew Podwysocki blog via DNK. I don't typically subscribe to blogs that I discover via DNK, but Matthew has written about IoC/Unity, F# and DLR lately so I'm thinking I should be a regular reader.
  • Corporate VP David Treadwell has an extensive post on updates to the Windows Live Platform Services that are being unveiled at MIX next week. The updates include the new WL Messenger Library, a new SDK for WL ID Delegated Authentication, a new WL Photo API, a new CTP of WL Tools, standardized support for AtomPub, updates to WL Contacts API and Sivlerlight Streaming and a new "experimental" service called Application Based Storage that "allows application developers to store a small amount of state/configuration data in the WL data centers on behalf of a user". I'm sure there'll be more WL news at the MIX conference proper, but that's quite a good chunk of features to start digging into. Personally, I'm particularly interested in WL Delegated Auth, esp. how it deals with phishing, something I don't think OAuth handles very well.
  • Windows Live isn't the only group making announcements in advance of MIX. Adobe announced a research project that allows "cross-compiling existing code from C, C++, Java, Python, and Ruby to ActionScript." This seems pretty obviously a response to Silverlight 2.0's embedded CLR, announced last year @ MIX. Support for C++ is very interesting - Adobe evangelist Ted Patrick claims they were even able to cross-compile Quake 1 to Flash. Interesting, but this is an internal research project @ Adobe with no projected release date while Silverlight 2.0 goes into beta next week.
Posted By Harry Pierson at 11:38 AM Pacific Standard Time

Wednesday, February 27, 2008

Morning Coffee 150

  • Yesterday was the NHL trading deadline, and the Capitals were very busy. They obtained Huet from Montreal, Federov from Columbus and Cooke from Vancouver. Given they are fighting just to make the playoffs, going for three soon-to-be unrestricted free agents seems like an odd choice. However, the consensus (among my parents anyway) was that it's critical to get this very young Caps team some playoff experience. Even if all three walk at season's end, it'll be worth if the Caps make a playoff run. Besides it's not like we gave up much: an extra second round pick in '09, a 19 year old defensive prospect (who was apparently 14th on the depth chart) and an underachieving winger.
  • Speaking of the Caps playoff chances, they are currently one and a half games back of the division leading Hurricanes and two games behind the current eighth seed Flyers. Yes, I rank hockey teams using baseball's standings system. Otherwise, you have to talk about games in hand (i.e. the Caps are five points behind Carolina with two games in hand).
  • The writer's guild ratified the new contract, so Hollywood labor strife is now officially behind us. At least until July when the the actors may go on strike.
  • It seems like a slow week for Microsoft geek news, which is odd since WS08, VS08 and SQL08 all launch today. I'm guessing it's the calm before the Mix storm next week.
  • After going dark for six months, Linq to XSD has been re-released to work with the RTM version of VS08. Scott Hanselman demonstrates Linq to XSD by applying it to OFX, an XML Schema he calls "goofy" but apparently helped develop. OFX uses derivation by restriction, which has no direct corollary in C#, but Linq to XSD's  is able to translate between XML and objects without loosing any of that type fidelity. Nice to know Linq to XSD can tolerate OFX's level of goofiness, though I'm guessing most people use much more straightforward schemas.
  • Speaking of Linq, I discovered LINQPad via a comment on Rob Conery's blog (which I found via DNK). It's basically a code snippet IDE for C# 3.0 and VB9, with it also has built in database connection support, so it can fulfil much the same role as SQL Management Studio. I only played with it for a few minutes, but I was really impressed.  This is definitely going in my utilities folder. I wonder if they're interested in supporting F#?
  • Not sure how I missed this, but you can get MSDN Magazine via same Syndicated Client Experience as Architecture Journal. Unlike AJ which is divided into issues, the MSDN magazine client is divided into topics which is harder to square with the physical magazine. On the other hand, since MSDN Mag has been around longer, perhaps topics + search is a better discovery mechanism.
  • Soma announces the Visual Studio Gallery, a repository of VS Extensions. It's kinda cool, but the whole discovery mechanism is clunky. I might like to experiment with some free or even free trial products, but there's no way to filter on cost so finding them is a hassle. Also, there's no way for community members to vote, rate or comment on the products in any way.
  • Nick Malik can't answer the question "how does Enterprise Architecture demonstrate value?" I could be snarky and say "it doesn't", but that's only half the answer. It doesn't, but it should. My opinion, since you asked Nick, is that EA fails to deliver value because it tries to control the uncontrollable. Trying to gain efficiency thru establishing standards and eliminating overlap via reuse are pipe dreams, though literally millions of $$$ have been poured into those sink-holes. There are a few areas where centrally funded infrastructure projects can solve big problems that individual projects can't effectively tackle on their own. EA should focus their time there, they can actually make a difference. Otherwise, they should stay out of project's way.
Posted By Harry Pierson at 10:17 AM Pacific Standard Time

Friday, February 22, 2008

Morning Coffee 149

Posted By Harry Pierson at 10:34 AM Pacific Standard Time

Wednesday, February 20, 2008

Morning Coffee 148

  • As I predicted yesterday, Microsoft announced that "For the first time, community games will be distributed through Xbox Live." I haven't seen a press release yet, but it looks like this will allow any XNA developer to publish on XBL. Joystiq has a few details. According to Major Nelson, six community games will be available on XBL later today. Also, it looks like you'll be able to make XNA games for your Zune as well. Details to follow.
  • Speaking of yesterday, I referred to President Bush as "President 30% Approval". This was incorrect. From now on, I'll refer to him as "President 19% Approval".
  • Speaking of politics, two more big wins for Obama yesterday. The Clinton camp, looking more desperate every day, unveiled a new website purporting to provide the "facts and myths about the race for delegates". Memo to HRC: "Florida and Michigan should count" isn't a fact, it's an opinion. I can't see how this site helps her cause.
  • Joel on Software, who used to work on the Excel team, provides a facinating look into why the Office File Formats are so complicated. Nothing more to add, I just thought it was an interesting discussion of "real-world" complications to something that seems like it should be simpler.
  • Scott Guthrie provides a client product post .NET 3.5 roadmap, much like he did for web products a few months ago. Unlike the web roadmap, which includes exciting stuff like Silverlight 2.0, IIS 7.0 and ASP.NET Extensions (including MVC), the client roadmap includes: better setup, better perf for WPF, better memory utilization and startup time, WPF designer improvements, and some new WPF control. Color me under whelmed.
  • My old team recently launched the Software + Services Architecture Center. S+S guru Gianpaolo Carraro recently wrote about the different perspectives this new site is trying cater to. S+S hasn't been on my personal radar, but it's something I really would like to dig more into.
  • In a recent charity hockey game, Team Cure beat Team Hope 2,250 to 2,223. No, that's not a typo. The two teams of twenty faced off for 240 straight hours of hockey in sub-zero weather to raise $300,000 for cancer research. That's frakking dedication to a cause.
Posted By Harry Pierson at 11:30 AM Pacific Standard Time

Tuesday, February 19, 2008

Morning Coffee 147

  • My son Patrick turns five today. The big treat was his cousin Jack coming up for a visit. Here's a picture of the two of them at Patrick's party on Saturday. My wife has all the details on her blog. Update: My wife just posted a whole slew of Early Patrick Pictures.
  • If my son is five, it means this blog is also five - I started this blog about a month before Patrick was born. I never remember to mark the occasion until Paddy boy's big day comes around.
  • Major props to the House of Representatives for growing a backbone and not caving to President 30% Approval on telecom immunity...yet. Personally, I'd like to see the House bury the measure completely, though I'm not holding my breath. But given that even the right-wing Washington Times reports "Analysts say FISA will suffice", maybe the House Dems will do the right thing.
  • After tearing it up since Thanksgiving, the Caps have gone a little cold. 5-4-1 in their last ten and 2-2-1 in their last five. In the month of February, they're 1-3-1 against SE division opponents. Good news is that they're still even with Carolina (two points behind with two games in hand), half a game up on Atlanta, a game and a half up on Florida and two and a half games up on Tampa Bay.
  • Bill Gates announced a new program called DreamSpark to provide college students access to all of Microsoft's developer and designer tools, including Visual Studio, Expression, SQL Server, Windows Server and XNA Creators Club membership. This looks like an outgrowth of the MSDN Academic Alliance program. I think it's a great idea. Update: Looks like high-school students will be able to access the DreamSpark program too. However, since they're minors, they have to get the software via their teachers. (via LiveSide)
  • The winners of the XNA Silicon Minds contest have been announced. Of the five winners, Specimen looks the coolest to me. I wish I had more time to get into game development. (Via LetsKillDave)
  • Speaking of game development, this week is the Game Development Conference, so be on the lookout for lots of game-related news. Xbox Live VP John Schappert is giving a keynote on "Unleashing the Creative Community". XNA GM Chris Satchell said last year they would "announce full details on, and ... vision for, opening XNA creations to the community" sometime this year. I'm guessing this is said announcement.
  • Speaking of Xbox, there's a rumor that Microsoft and Netflix will announce this week that Netflix is bringing their Watch Instantly service to Xbox 360. If true, sign me up!
  • Grigori Melnik announces the GAX/GAT February 2008 final release. Key feature is VS08 support. Is it just me, or does calling it the "final release" make it sound like they won't be upgrading GAX/GAT further?
  • Speaking of p&p, Grigori also announces the Feb 2008 CTP of Unity, p&p's new IoC container. I've seem lots of folks echoing the announcement, but not much in the way of specifics on Unity itself. For example, Chris Brandsma describes IoC and mentions Unity, but he doesn't cover any Unity specifics. :(
  • MSIT EA Nilesh Bhide has started blogging. His first post is on Customer perception of Service Quality in S+S/SaaS. I've worked closely with Nilesh in the past two years, so I'm excited to see him take to the blogosphere. (via Nick Malik)
  • I don't know how I missed it, but the MSDN Code Gallery launched last month. As Charlie Calvert explained, this is logical successor to GotDotNet's user samples area. Between Code Gallery and CodePlex, GotDotNet has finally been shuttered for good.
  • Telligent, makers of the very popular Community Server, have released Graffiti CMS, which looks like a more flexible content platform than Community Server. (via DNK)
  • In somewhat unexpected news (at least, unexpected by me) Microsoft has released specs for the Office binary file formats. I'm not sure why this is happening now, rather than say when we released the specs for the Open Office XML file formats. (via DNK)
Posted By Harry Pierson at 11:29 AM Pacific Standard Time

Wednesday, February 13, 2008

Morning Coffee 146

  • The writers strike is officially over. Everyone goes back to work today. Thomas Cleaver has what I thought was the best post summarizing how the writers won. TV Guide has a rundown of how and when various shows will resume. I can't wait to see Daily Show and Colbert Report tonight. Lost - aka the best show on TV - looks like it will be getting five more episodes (in addition to the eight shot before the strike).
  • Speaking of TV, Battlestar Galactica Fans: circle April 4th on your calendar.
  • Obama won all three "Potomac Primaries" yesterday, and is now the Democratic front-runner, though there's a long way to go before the convention. Scott Adams of Dilbert fame has a great take on presidential experience - I'm guessing he's an Obama fan.
  • In minor acquisition news, Microsoft is acquiring Caligari, makers of 3D modeling tool trueSpace. The Caligari folks are joining the Virtual Earth team, though I wonder what the XNA folks think of the acquisition. This isn't the first 3D modeling product Microsoft ever acquired - we owned Softimage for four years in the '90s.
  • Scott Hanselman and Tomas Resprepo both write about PowerShellPlus, which I saw week before last @ Lang.NET. Scott really likes it, for both PS novices and gurus, but Tomas thinks the UI is busy, based on the screenshots. Personally, I'm not doing much PS work lately - occasional one off stuff, but that's it - so it doesn't seem worth the effort.
  • Speaking of Scott & Tomas, Scott also has a nice gallery of VS themes. I'm partial to Tomas' Ragnarok Grey. Is there a VSThemesGallery.com site somewhere?
  • Still speaking of Scott, he points to the new ASP.NET Developer Wiki (beta). I poked around, but didn't find anything shiny. I was very surprised that searching for "MVC" returned no results.
  • Speaking of MVC, Scott Guthrie has a rundown on what's coming in the MIX preview release of ASP.NET MVC. Biggest news IMO is that it's /bin deployable - i.e. you don't need your hoster to do anything special to support MVC (assuming they already support ASP.NET 3.5). Also big news, they're releasing the source so you can build and patch (and enhance?) it yourself.
  • Chris Taveres continues is ObjectBuilder series and Tomas continues is DLR Notes series. BTW, my F# based DLR experimentation continues, albeit slowly (frakking day job). Hope to be able to post on this soon.
  • One of the things driving my interest in F# is manycore. An interesting tangent to manycore is general purpose programming on graphics processing units (aka GPGPU). MS Research just released a new version of Accelerator, just such a GPGPU system. I personally haven't played with it - I've been focused on writing parsers, not parallel code.
  • Is XQuery really "a promising technology of the future" as Don Box suggests? I see exactly zero demand or use for it in my day-to-day work. Of course, Don's paid to build future platform goo, so maybe it is promising and Don's afore-mentioned goo will leverage it, though I remain skeptical. As for XML being "Done like a well-cooked steak", I'd say XML is like a great steak cooked perfectly, except it's done exactly how you don't like it. You can appreciate its quality, but you don't really enjoy it as much as you could have.
Posted By Harry Pierson at 10:04 AM Pacific Standard Time

Monday, February 11, 2008

Morning Coffee 145

  • Saturday, I participated in the Washington Democratic caucus, which was handily won by Obama. Much has been made of the record Democratic turnout in this race for the nomination, my local caucus location was no exception. It appeared that attendance outstripped expectation about 2-to-1. My precinct alone had 56 attendees, which went overwhelmingly for Obama.
  • I had never participated in a presidential caucus or primary before - the race has always been decided by the time it got to my state. I really enjoyed being a part of the process. So I'm going to play amateur pundit today, and we'll be back to our regularly scheduled geek blogging tomorrow. If I insult your favorite party or candidate, please feel free to leave a scathing comment explaining that I'm an idiot and how you're never going to read my blog again.
  • Obama not only won the WA caucus, he also won Louisiana, Nebraska and Maine over the weekend. And he didn't just win, he won big. He won by 37% in WA, 36% in Nebraska, 21% in Louisiana and is leading by 15% in Maine with 70% of the vote counted. Momentum hasn't meant much in this campaign, but five double-digit Obama wins in a row (with three more likely Obama wins tomorrow) can't be good for the Clinton campain. Polling that shows Obama matches up against McCain better than Clinton doesn't help. 
  • Speaking of McCain, he sure had a shitty day Saturday. He lost Kansas by a whopping 36%. Louisiana was close, but McCain still lost. And in Washington, it looks like the state Republican Party simply stopped counting with 1500 votes still left to be counted. I'm guessing the local GOP party leads were trying to keep McCain from going 0-3 on the day. Had they simply counted the votes and McCain lost, everyone would have forgotten by the time he got the nomination. However, this little helping hand makes McCain look weak and keeps Saturday's butt-kicking in the news for several more days.
  • Of course, McCain is the presumed Republican nominee because Romney dropped out suspended his presidential campaign last week. The Daily Show's coverage Thursday night was hilarious. Jason Jones is right, Romney's a real douche bag.
  • Apparently, McCain is "eager" for President 30% Approval Rating to "embrace" him. Furthermore, the President apparently thinks McCain would be the best to carry forth his agenda. I gotta agree with Steve Benen on this - "Could Dems really be this lucky?"
  • In the wake of McCain's Super Tuesday victory, Rush Limbaugh said he and other right-wing talk show hosts are "trying to stop the wanton destruction of the [GOP] party". Limbaugh and his cohorts aren't going away, but certainly they've been reduced to irrelevant status, standing on the sidelines and stamping their feet while the Republican rank-and-file hand the nomination to McCain. Sure is hilarious to watch. Has anyone considered that Republicans are rooting for the wonton destruction of what their party has become?
Posted By Harry Pierson at 10:41 AM Pacific Standard Time

Thursday, February 07, 2008

Morning Coffee 144

  • I finished Mass Effect last night. I definitely need to play thru that one again, though I'll probably wait until the new Bring Down the Sky DLC ships next month.
  • Caps won again last night, improving to 20-10-4 since changing coaches at Thanksgiving. They're now at 57 points, taking the lead in the SE division with a full game on Carolina, Atlanta and Florida. Still a ways to go - 27 games left in the regular season - and things are far from "sewn up" but we're a damn sight better off than we were in November.
  • Speaking of a horserace, looks like Clinton and Obama are in one after Super Tuesday. Their estimated delegate counts are basically tied. On the other side of the aisle, McCain opened up what is probably insurmountable lead - even though he has the right-wing media stars and Christian leaders against him. Money quote of the day:

“The real story of the night, when you look at their rallies and their turn-out numbers, is that the Dems have two strong candidates either of whom could lead a united party to victory. Forget the gaseous platitudes: in Dem terms, their choice on Super Duper Tuesday was deciding which candidate was Super Duper and which was merely Super. Over on the GOP side, it was a choice between Weak & Divisive or Weaker & Unacceptable. Doesn’t bode well for November.”
- Mark Steyn, National Review 
(via Carpetbagger Report, lest you think I regularly read National Review)

  • Charlie Calvert is starting a new series on the future of C#. First up: Dynamic Lookup. Probably most interesting is the news that the DLR "will be the infrastructure on which the C# team implements dynamic lookup". Does this mean C# will target the DLR? Sure sounds like it. I think it's a good addition, but I'm not a fan of the proposed syntax. (via Bitter Coder)
  • Brian McNamara saw me present @ LangNET and sent me a link to his blog. He's building up a monadic parser combinator library in C# 3.0. This is basically the same concept that FParsec implements, though C#'s syntax is much less attractive than F#'s for this kind of code. However, Brian does a very good job explaining why monadic parser combinators are useful and making the idea accessible to the C# programmer (i.e. you don't have to learn F# or Haskell to understand what he's talking about). He also points to Luke Hoban's C# 3.0 monadic parser implementation.
Posted By Harry Pierson at 10:05 AM Pacific Standard Time

Friday, February 01, 2008

Morning Coffee 142 - Wishful Catchup Edition

  • After spending most of the last four days away from my desk, I was planning on a quiet day to catch up on a variety of things. Then I heard the oh-so-minor news that Microsoft is offering to buy Yahoo for almost $45 billion. Hasn't been much reaction on the dev, architecture, politics and hockey-oriented blogs I read, but you can get a ton of reactions on TechMeme.
  • Lost is back. Finally. I stayed up late last night reading Lostpedia, catching up on Lost Missing Pieces and the Find 815 ARG.
  • Alex The Great had four goals and an assist in last night's victory. Coughing up three goal lead and letting the Canadiens tie the game in the last 30 seconds isn't encouraging, but a win is a win. The Caps are currently one game behind the SE leading Hurricanes and two games behind the current eight seed Rangers. Alex was named first star for January.
  • Ted Neward has a nice summary of Lang.NET by day: one, two and three. I wonder if my talk qualifies for the exception to Ted's rule that "A blog is not a part of your presentation, and your presentation is not part of your blog". I had 15 minutes to discuss something I've written about over ten posts  (so far).
  • John Lam points to the latest DLR hosting spec. I'm much more interested in the DLR code generator, but at least the hosting interface is documented.
  • Scott Hanselman has a nice post on fluent interfaces. Note to self, find out if Beautiful Soup works with IronPython.
  • I wonder if the VS Source Code Outliner PowerToy works with F#? (via Sam Gentile)
  • Chris Tavares has an extensive post Deconstructing ObjectBuilder? I've poked around inside OB before, but I'm really looking forward to Unity (also via Sam Gentile)
  • NVIDIA finally updated the drivers for the video card in my Tecra M4. That only took a year.
Posted By Harry Pierson at 10:05 AM Pacific Standard Time

Thursday, January 31, 2008

Morning Coffee 141 - Lang.NET '08 Edition

header I was hoping to blog my thoughts on Lang.NET as the event went along. Obviously, that didn't happen, though I was pretty good about dumping links into my del.icio.us feed. The talks were all recorded, and should be up on the website in a week or two. Rather than provide a detailed summary of everything that happened, here are my highlights:

  • The coolest thing about conferences like this is what John Rose called "N3" aka "Nerd-to-Nerd Networking". It was great to meet in person, drink with and geek out with folks who's blogs I read like Tomas Petricek, Wesner Moise and Larry O'Brien. Plus, I got to meet a bunch of other cool folks like Gilad Bracha, Stefan Wenig and Wez Furlong. That's worth the price of admission (which was admittedly nothing) right there.
  • Coolest MSFT talk: Martin Maly "Targeting DLR". I was wholly unaware that the DLR includes an entire compiler back end. Martin summarized the idea of DLR trees on his blog, but the short version is "you parse the language, DLR generates the code". That's pretty cool, and should dramatically lower the bar for language development. Of course, I want to write my parser in F#, so I'm going to port the DLR ToyScript sample to F#.
  • Runner-up, Coolest MSFT talk: Erik Meijer "Democratizing the Cloud with Volta". Erik is a great speaker and he really set the tone of his session with the comment "Division by zero is the goal, not an error". He was referring to an idea from The Change Function that user's measure of success is a function of perceived crisis divided by perceived pain of adoption. Erik wants to drive that adoption pain to zero. It's a laudable goal, but I remain unconvinced on Volta.
  • Coolest Non-MSFT talk: Gilad Bracha "Newspeak". Newspeak is a new language from one of the co-authors of Java. It's heavily smalltalk influenced, and runs on Squeak. He showed developing PEGs in Newspeak, and they were very compact and easy to read, easier even than F#. He calls them Executable grammar, and you can read his research paper or review his slides on the topic. Unfortunately, Newspeak isn't generally available at this time.
  • Runner-up, Coolest Non-MSFT talk: Miguel de Icaza "Moonlight and Mono". The talk was kinda all-over-the-place, but It's great to see how far Mono has come. Second Life just started beta testing a Mono-based script runner for their LSL language (apparently, Mono breaks many LSL scripts because it runs them so fast). He also showed off Unity, a 3D game development tool, also running on Mono.
  • Resolver One is a product that bridges the gap between spreadsheets and applications, entirely written in IronPython (around 30,000 lines of app code and 110,000 lines of test code, all in IPy). Creating a spread-sheet based app development environment is one of those ideas that seems obvious in retrospect, at least to me. If you do any kind of complicated spreadsheet based analysis, you should check out their product.
  • If you're a PowerShell user, you should check out PowerShell+. It's a free console environment designed for PowerShell and a damn sight better than CMD.exe. If you're not a PowerShell user, what the heck is wrong with you?
  • Other projects to take a deeper look at: C# Mixins and Cobra Language.
  • I thought my talk went pretty well. It's was a 15 minute version of my Practical Parsing in F# series. Several folks were surprised I've been coding F# for less than a year.
Posted By Harry Pierson at 10:25 AM Pacific Standard Time

Monday, January 28, 2008

Morning Coffee 140

  • I only posted one Morning Coffee post last week. It wasn't a lack of content, it was a lack of drive on my part. I had 20-30 items flagged in my news reader, but for some reason I couldn't work up the interest in posting them. So some of these are a bit old.
  • I'm at the Language.NET Symposium this week, so look for lots of language blogging. I've already chatted with Tomáš Petříček and John Lam. If someone kicks Ted Neward's ass because he hates Perl, I'll try and liveblog it.
  • Speaking of Ted Neward, he discusses the question "Can Dynamic Languages Scale?" without devolving into a flame-fest. I agree 100% with his point about the difference between performance scaling and complexity scaling. Personally, I tend to err on the side of better complexity scaling, since buying hardware is easier than hiring developers.
  • Nick Malik responds to me calling his shared global integration vision flawed. He points to NGOSS/eTOM as an example of a shared iterative model that works. I know squat about that shared model, so I'll refrain from commenting until I do a little homework on the telco industry.
  • Speaking of shared interop models, Microsoft is joining DataPortability.org. Dare Obasanjo and Marc Canter are skeptical that so far this effort is all hype and no substance. Reminds me a bit of AttentionTrust.org. But if DataPortability.org can get off the ground, maybe there's hope for Nick's vision (or vis-versa).
  • Don Syme lists what's new in the latest F# release. As I said, this release is pretty light on features. Hopefully, I'll get some details
  • Tomas Restrepo shows how to change your home folder in PowerShell. I need to do this.
Posted By Harry Pierson at 9:10 AM Pacific Standard Time

Monday, January 21, 2008

Morning Coffee 139

  • Big news on the WGA strike front: the AMPTP reached a deal with the Directors Guild last weeks. Initial reaction from United Hollywood is mixed, but I'm hopeful this will at least get the AMPTP / WGA talks started again.
  • Speaking of new media, Xbox 360 Fanboy has a rundown of 45 short films from Sundance that are getting released on Xbox Live Marketplace. That's pretty a-typical content for XBLM. Typically, new content on XBLM has been from "Hollywood Heavyweights". I'm pretty excited to see them branch out content wise.
  • Speaking of Xbox 360, seems they had a good year. Congrats!
  • Still speaking of Xbox 360, everyone gets a free copy of Undertow this week.
  • Scott Guthrie announces the availability of the .NET Framework Source Code. Shawn Burke has instructions for how to use it with VS08. So far, they've made the core base class libraries, ASP.NET, Windows Forms, WPF, ADO.NET and XML available. LINQ, WCF and WF are expected to become available "in the weeks and months ahead".
  • Ted Neward wonders if Java is "Done" like the Patriots, or "Done" like the Dolphins? If you want my opinion (I'm guessing yes, since you're reading my blog), definitely done like the Dolphins. OpenJDK was a desperation move to make Java "cool" again, but it won't work. People who want an open source stack are using LAMP and language wonks who saw Java as mainstream SmallTalk have moved on to Ruby. The question will be if Sun buying MySQL will make Sun cool or MySQL uncool by association. I'm guessing the latter.
  • Speaking of Ted, he's got a great post about the relevance of game programming to the mainstream or enterprise developer.
  • Speaking of game development, David Weller points to all the new XNA GS 2.0 content up on Creators Club Online.
  • There's a new version (1.9.3.14) of F# out, but no announcement from Don regarding what's new. I reviewed the release notes, seems like this is primarily a bug-fix release with only very minor feature additions.
  • Speaking of F#, Don points to Greg Neverov's implementation of Software Transactional Memory in F#. This immediately reminded me of Tim Sweeney's Next Mainstream Programming Language talk. Tim suggested said language would need to support a combination of side-effect free functional code and software transactional memory. F# is looking to be closer to that language all the time.
  • Still speaking of F#, Don Syme's Expert F# book is out. I read the draft version - it rocks - but I'm still going to get my own real copy. You should too.
  • With their win Saturday, the Caps are back to .500 for the first time since late October. Since Thanksgiving, the Caps are 15-7-4. Only four teams in the league have a better record over that time span. We play one of them tonight - the Penguins - and it's on Versus, so I'll even get to see it. In HD no less.
Posted By Harry Pierson at 9:34 AM Pacific Standard Time

Wednesday, January 16, 2008

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.
Posted By Harry Pierson at 11:14 AM Pacific Standard Time

Wednesday, January 09, 2008

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.

Monday, January 07, 2008

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
Posted By Harry Pierson at 10:29 AM Pacific Standard Time

Friday, January 04, 2008

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)
Posted By Harry Pierson at 10:00 AM Pacific Standard Time

Thursday, January 03, 2008

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)
Posted By Harry Pierson at 10:00 AM Pacific Standard Time

Wednesday, January 02, 2008

Morning Coffee 133

  • I've been off for two weeks, so getting back into "the swing" of things will probably take a day or two - both at work and on my blog. Hope everyone had a happy holiday season.
  • I ended the year with 245 blog posts, which wasn't quite as many as either of my first two years blogging, but was much more than I had been writing for the last two years.
  • It was a Zune Xmas in the Pierson house. I got a pink Zune for my wife, and my mother and father got Zunes for each other. I got to load them all up with content for Xmas morning. Maybe I'm just used to WMP, but I'm not a huge fan of the Zune software. Yes, it's very pretty but it's missing some fairly basic features like automatic down-sampling lossless music. On the other hand, the on-device experience rocks and my wife is using her Zune regularly. I've got a trip to England coming up in April, and I'm thinking about getting one of the new 80GB ones for the trip.
  • They lost any chance of playing for the national championship, but USC sure looked like a champion yesterday. Seems appropriate for this crazy college football season that if Ohio State doesn't win big, pretty much all the other BCS bowl winners with a legitimate argument to be #1.
  • The Caps beat the eastern-conference leading Senators yesterday for the third time this season and the second time in four days. They have 13 points in the last ten games and 10-5-4 since Boudreau took over as coach. If they keep that pace up, they would likely make the playoffs - that would be quite a feat given their horrific start.
  • Speaking of hockey, I watched most of the Winter Classic yesterday, including the game-winning shootout goal by the Anointed One. It was really strange but cool to watch a hockey game between snowflakes. I agree with Scott Burnside's take that these outdoor games are good for the league, but shouldn't be a regular part of the season.
  • I finished Portal yesterday - that's a fantastic game. I also got Mass Effect, so now I need to decide which to take on first: that or Half-Life 2.
  • A few months ago, I was thinking about using HomePlug for home networking but decided to upgrade my wireless network instead. But recently I've started streaming movies from my loft computer to my Xbox, and the wireless network isn't always up to the task. I could run CAT5, but there's already an unused coax cable running up to the loft and I wondered if I could just use that? I discovered the Multimedia over Coax Alliance, but none of their certified products appear to be available. Those products have to share the home coax network with the cable company, but I can dedicate my coax cable. Anyone know a way to use coax to bridge CAT5 networks? Even something DIY?
Posted By Harry Pierson at 10:21 AM Pacific Standard Time

Thursday, December 20, 2007

Morning Eggnog 132

  • My parents are coming into town tomorrow so I'm off for the remaining week or so of the year. Blogging will likely be non-existent, unless I blog something I come up with while geeking out with my dad.
  • Juergen van Gael demonstrates how to use TPL from F#. He wrote this once before using F#'s async workflows feature. I like the TPL version, though the "new Action<int>(RowTask)" is a little wordy. I'm guessing the eventual F# syntax will probably become something compact like "action RowTask". (via Don Syme)
  • Andrew Peter ported RoR's Haml view engine to ASP.NET MVC, calling the result NHaml. I haven't played around with the new MVC stuff much, but I'm guessing ASP.NET's control-based approach doesn't work well when you separate out the controller code. If I'm manually authoring view templates, I'd much rather type NHaml's syntax than the standard ASP.NET <% ...%> syntax. On the other hand, there aren't any design tools out there today handle the NHaml syntax. Also, I wonder if Andrew is working on a Sass port. (via DNK)
Posted By Harry Pierson at 12:18 PM Pacific Standard Time

Monday, December 17, 2007

Morning Coffee 131

  • On a recommendation from my mother-in-law, I've been watching Torchwood. Sort of Men in Black, the series and set in Cardiff. Since it's made in England, it'll be one of the few shows still running in the new year due to the WGA strike.
  • A while back I pointed out that many DotNetKicks articles were submitted by their authors. I submitted a few of my own, just for kicks (har har), with mixed results. Today, I discovered that the parse buffer post from my Practical Parsing in F# series was submitted, picked up some kicks, and made it to the home page. That's pretty cool. I guess writing more dev-focused articles is the way to go to get attention on DNK.
  • Amazon has rolled out a limited beta of SimpleDB, which appears to be S3 + query support. Cost is based on usage: 14¢/hour for machine utilization, 10¢/GB upload, 13-18¢/GB download and $1.50/GB storage/month. I'd love to see SimpleDB software that I could download and install, rather than hosted only. Even if I was going to use the hosted service, I'd like to develop against a non-hosted instance.
  • Research for sale! I was checking out the MS Research download feed and discovered a link to the Automatic Graph Layout (MSAGL) library. This was previously called GLEE (Graph Layout Execution Engine) and was "free for non-commercial use". Now, you can buy it for $295 from Windows Marketplace (though the previous free version is still available). The idea of directly commercializing research like this strikes me as pretty unusual. It must be a really good library.
  • Scott Guthrie shows off the new Dynamic Data Support that will ship as part of the ASP.NET Extensions. I'm like, whatever. Scaffolding wasn't that that interesting to me in RoR, so it's no surprise that it's not that interesting in ASP.NET.
  • Jeff "Party With" Palermo blogs about the IoC support in the new MVC Contrib project. Also looks like they're porting RoR's simply_restful. (via Scott Guthrie
  • I need to try out some of Tomas Respro's VS color schemes (also via Scott Guthrie)
Posted By Harry Pierson at 11:13 AM Pacific Standard Time

Thursday, December 13, 2007

Morning Coffee 130

  • Michael Klucher announces the release of XNA Game Studio 2.0 and Major Nelson points to the press release announcing the release. You can get the bits from XNA Creators Club Online (the XNA dev center has yet to be updated).
  • Speaking of XNA, David Weller points out the warm-up challenge for Dream-Build-Play 2008. I assume networking will be a big part of this years' entries, but the warm-up challenge is to "Create a new and innovative use of Artificial Intelligence in a game".
  • Still speaking of XNA, Gamasutra has an interview with XNA GM Chris Satchell where he hints at a publishing channel for XNA games on the Xbox 360, with "full details" coming sometime in the new year.
  • The Capitals beat the Rangers in overtime last night. Since changing coaches on Thanksgiving, they're 6-3-1. That's great, but they're still five games under .500. The good news is that even though the Caps tied for last in the league, they're only six points out of a playoff spot with about fifty games left in the season.
  • My old team puts on an event every year called the Strategic Architects Forum. It's invite-only, but they've posted some of the videos, slides and transcripts from this year's event.
  • J.D. Meier discusses the new Guidance Explorer release. They're now up to 3,000 "nuggets" of guidance and they've moved the guidance store to MSDN. (via Sam Gentle)
  • Arnon Rotem-Gal-Oz explains further why arbitrary tier-splitting is bad. I'd also suggest reading Chapter 7 of PoEAA which provides another version of the same story: You can't take an object that's designed for fine-grained local access and make it remote without really screwing yourself up.
  • Eric Lippert thinks immutable data structures are "the way of the future in C#" so he's written a series on immutability. Posts include kinds of immutability, an immutable stack, an immutable covariant stack and an immutable queue. As I've discussed, immutable data structures are HUGE in functional programming. Eric's immutable stacks and queues are similar to F#'s native list type. (via Jomo Fisher)

Monday, December 10, 2007

Morning Coffee 129

  • Short coffee this morning, as I'm home with a tweaked ankle.
  • I started playing Indigo Prophecy over the weekend. It's an original Xbox game, released as part of the new Xbox Originals program. It has a good metacritic score (84), though apparently it wasn't much of a retail success. I'm enjoying it, though it's not very challenging. It's more an interactive movie than a game. Good story, though.
  • The ASP.NET MVC preview dropped today, Scott Guthrie has the details. Scott Hanselman has a 40 minute how-to video and Phil Haack has several articles up already.
  • Speaking of ASP.NET MVC and Scott Guthrie, he's got another post in his series on ASP.NET MVC. This time, he's covering how to handle form input / POST data.
  • Erik Meijer has posted some of his thoughts on Volta. He's one of the guys behind Volta, so it's worth a good look. (via Dare Obasanjo)
  • Late Addition - the ASP.NET Extensions is more than just the MVC stuff. It also includes AJAX improvements, Silverlight support, ADO.NET Data Services and ASP.NET Dynamic Data Support. Data Services (formerly Astoria) let's you easily expose your database via RESTful services. I think Dynamic Data Support used to be code named Jasper. It's a "rich scaffolding framework" for ASP.NET. I assume that's to compete w/ Ruby on Rails.
Posted By Harry Pierson at 9:56 AM Pacific Standard Time

Friday, December 07, 2007

Morning Coffee 128

  • After using Outlook 2007 as my RSS reader for a few months, I've gone back to RSS Bandit. I run two work machines (desktop + laptop) and I finally got tired duplicated blog entries because each copy of Outlook downloads the same post. Also, for some reason Outlook downloads the same Technorati posts over and over again.
  • ADO.NET Entity Framework Beta 3 was released. The latest CTP of the EF Tools is also available. And as per the press release, EF has gained support from "Core Lab, DataDirect Technologies, Firebird Foundation Inc., IBM Corp., MySQL AB, Npgsql , OpenLink Software Inc., Phoenix Software International, Sybase Inc. and VistaDB Software Inc". I'm not sure what that means, exactly, but I guess you'll be able to LINQ to Entities on a wide variety of DB platforms. Interesting Oracle isn't on that list. Not really surprising, but interesting.
  • Here's a new ASP.NET MVC article from Scott Guthrie, this one on views and how you pass data to one from a controller. Using generics to get strongly-typed ViewData is pretty sweet. But where's the MVC CTP that was supposed to be here this week?
  • In news about web app tool previews that did ship this week, Live Labs announces Volta. Haven't installed or played with it yet, but I did read the fundamentals page. It primarily looks like a tool to compile MSIL -> JavaScript, so you can write your code in C# but execute it in the browser. Sam and Jesus are excited, Arnon not so much. Arnon's argument that being able to postponing architectural decisions is to good to be true is fairly compelling, and not just because he quotes me to support his argument. But I'll download it and provide further comment after I experiment with it myself.
  • Simple Sharing Extensions is now FeedSync. Not sure what else is new about it, other than it's been blessed with "1.0" status. The Live FeedSync Dev Center has an introduction, a tutorial and the spec. (via LiveSide)
  • Dare likes tuples. Me too. I also like symbols.
Posted By Harry Pierson at 11:06 AM Pacific Standard Time

Monday, December 03, 2007

Morning Coffee 127

Posted By Harry Pierson at 10:12 AM Pacific Standard Time

Friday, November 23, 2007

Afternoon Coffee 126

  • In a surprise to exactly nobody, the Caps let coach Glen Hanlon go yesterday. I gotta say I feel for the guy. I mean, he had to go, but still. The Caps promoted the coach of their minor league team Bruce Boudreau. Makes sense - the farm team is where you develop players, why not coaches to? The team responded by beating the Flyers in overtime, though they did blow a 3 goal lead along the way.
  • It won't get them back in the national title hunt, but thrashing ASU may earn USC a ticket to a BCS bowl, or the Rose Bowl if the Ducks can't win without Dennis Dixon.
  • I finally finished Dead Rising today. A sequel has been rumored and hinted at, but not confirmed even though the ending left the door wide open. I really enjoyed it, so here's hoping. I'm going to hold off on starting anything new until I get back from Canada, but it'll probably be R6:Vegas. Don't really have time between now and Christmas to finish Blue Dragon and it's 3 DVDs.
  • In more "Screw Turkey Day, we're shipping anyway" news, p&p shipped a new version of the Web Service Software Factory. This one's called the "Modeling Edition". I saw some of this stuff back in August, and I like what those p&p folks are doing. It's worth a look, just to see how they've integrated DSL and GAT.
  • My old team shipped a new version of their S+S demo app LitwareHR. There's also some tools for testing multi-tenant databases.
  • Quick reminder: I'm @ DevTeach Vancouver next week, so blogging will be light. I've got a series of thoughts on F# ready to post, but we'll see when I get network access to post them. Given that I took a month off from blogging a short while back, I didn't bother asking Dale to cover for me.
Posted By Harry Pierson at 4:23 PM Pacific Standard Time

Tuesday, November 20, 2007

Morning Coffee 125

  • So I wasn't quite as close to the end of Dead Rising as I thought I was. Those who've played the game thru will understand.
  • After their promising start, the Capitals lost yet again. At the 20 game point, they're now 6-13-1 for a league-worst 13 points. I think we're at the point where they need to fire Glen Hanlon. Nothing personal Glen, but it's not getting done. The only problem is who you would replace him with? Bob Hartley? Uh, no thanks. I think most Caps fans want Dale Hunter, but I think he's too involved with the London Knights - he's co-owner, president and head coach. But if we could get Dale, I'm guessing Glen would be gone in a heartbeat.
  • The XNA team blog announced that XNA Game Studio 2.0's beta has released. The download is available from Creators Club Online. The big new feature in this release is network support, and they've shipped a new starter kit to get you started.
  • In addition to shipping VS08 & .NET FX 3.5, a new CTP of SQL 2008 shipped yesterday. I couldn't find a good overview of what's new, but the SQL Express team has a post on what's new in just their corner of this release. (via Jesus Rodriguez)
  • In more "I know it's Thanksgiving week, but we're shipping anyway" news, the Ruby.NET folks have shipped v0.9 - the first release since transferring control to the community. Does it run Rails? Not yet, but apparently they're "close to getting Ruby on Rails to run successfully". One thing that caught my eye is that it includes VS integration. Nice.
Posted By Harry Pierson at 8:53 AM Pacific Standard Time

Monday, November 19, 2007

Morning Coffee 124

  • While my blog was down last week, I finally finished Gears of War. I played thru on hardcore, but had to throttle back to casual to beat the last boss. I'd like to try and finish on hardcore, but I've moved on to Dead Rising - another game from last year I never had time to finish. I'm almost done the main play mode, though I understand there are other play modes that get unlocked when you finish it.
  • I'm forbidden from buying any new games before Christmas, so Mass Effect, Assassin's Creed and The Orange Box will have to wait. My next game will either be Blue Dragon, which a friend let me borrow, or R6:Vegas, yet another (but the last) game from last year I never got time to play.
  • I'll skip the "giving thanks" jokes and point out that Visual Studio 2008 and .NET FX 3.5 have shipped.  Soma has the announcement and both Scott Guthrie and Sam Gentile summarize what's new. The Express editions are available from the new Express Developer Center. The VS SDK doesn't appear to be released yet, but I'm sure it will be along in due course.
  • Speaking of VS SDK, CoDe Magazine did an entire issue on VS Extensibility which you can read online or download as PDF.
  • Nick Malik took a bunch of heat back in June for what some thought was a redefinition of Mort, one of the Developer Division personas. Now Paul Vick thinks it's time to retire the Mort persona, primarily because of the negative connotation the name carries. His suggestion for a replacement is Ben (as in Franklin). And did you notice how similar Paul's description of Mort is to what Nick described? I'd say some folks owe Nick an apology.
  • I said Friday I was going to take a closer look @ OpenID and OAuth. There's an intro to OpenID on their wiki and Sam Ruby's OpenID for non-SuperUsers seems to be the canonical source on implementing OpenID on your own blog. Frankly, reading the OpenID intro reminded me a lot of WS-Federation Passive Requestor Profile. Does OpenID have the equivalent of an "active" mode?
  • Likewise, the Beginner’s Guide to OAuth series of posts by Eran Hammer-Lahav is a good intro to OAuth. The phrase "Jane notices she is now at a Faji page by looking at the browser URL" from the protocol walkthru makes me worry that OAuth is vulnerable to phishing. Having one of the OAuth authors call phishing victims careless and wishing for Karl Rove to "scare people into being more careful and smarter about what they do online" makes me think my fears are well grounded. I'm thinking maybe OAuth and OpenID aren't quite ready to nail down WS-*'s coffin.
  • In researching OpenID, I came across this presentation hosted on SlideShare. I had never seen SlideShare before - it's kinda like YouTube for presentations. Sharing basic presentations is kinda lame - there doesn't appear to be any animation support, so the slides are basically pictures. However, they also support "slidecasting" where you sync slides to an audio file hosted elsewhere. That I like. I have a bunch of old decks + audio, maybe I'll stick them up there.
Posted By Harry Pierson at 11:12 AM Pacific Standard Time

Friday, November 16, 2007

Afternoon Coffee 123

  • Morning Coffee is late this morning because we went for our Christmas portrait this morning and it took forever. The pictures turned out great though.
  • Nick Malik finishes up his series on business operation models by covering the diversification model. Also, Nick's points about the synergy between a diversified model and the coordinated model are spot on. I happen to be a big fan of those models (aka the models with low standardization) which probably drives some of the  more my "unique" perspectives on SOA.
  • Scott Guthrie starts out a new series and future technology, this time it's ASP.NET MVC Framework that gets the series treatment. The first entry in the series is a general overview. I wonder why there's no cool code name for the MVC framework? Whatever it's named, I like the auto routing and action rules - it seems very Rails-inspired.
  • Over the weekend, Don Box points out that the REST authentication story "blows chunks". I've recently given up on the reliable part of the original "Secure, Reliable, Transacted Web Services" vision - and I never believed the transacted part. Security, on the other hand, is the one part of that original vision that has worked out IMO. My experience with the WS-* security stack has been pretty good, though Dare Obasanjo thinks that OpenID and OAuth are the final nail in the WS-* coffin.
  • Speaking of Dare, he goes on to say WS-* is to REST as Theory is to Practice. He makes the point that "The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already “invested” in WS-* and want to defend that investment." I gave up pimping evangelizing technology a while back and I don't want to be in the position of defending a bad investment, so I'm spending lots of time looking at REST.
  • Jesus Rodriguez takes a look at the Managed Services Engine and comes away excited. Jesus is a self-described "strong believer" in SOA governance. I'm a self-described strong disbeliever in SOA governance, so MSE sounds like more of the Worst of Both Worlds to me.
  • A little light reading: I pulled Applied Cryptography and A New Kind of Science out of my garage last weekend. Plus my copies of RESTful Web Services and Programming Erlang just arrived yesterday.
Posted By Harry Pierson at 12:27 PM Pacific Standard Time

Friday, November 09, 2007

Morning Coffee 122

  • Sorry for the posting lag. Had a few technical difficulties around here. In the process of moving hosts, so expect more glitches.
  • My talk at the p&p Summit on Monday went really well. At least, it felt good and the applause at the end felt genuine. I recorded the audio on my laptop, so I'll be posting a Silverlight version as soon as I figure out how to adjust the levels so their somewhat consistent. Paraesthesia and #2872 have reactions.
  • Speaking of the p&p Summit, Scott Hanselman posted his ASP.NET MVC demo from his talk. Said ASP.NET MVC bits aren't available yet, so you can't, you know, run the demo for yourself. But at least you can review what the ASP.NET MVC code will look like.
  • I stopped by the SOA/BPM conference last week and saw Jon, Sam and Jesus among others. Spent quite a bit of time talking to Sam and his Neudesic colleagues about this "physically distributed/logically centralized" approach that I think is hogwash. It sounds to me like Neudesic approach is really federated not centralized, though I'm not sure David Pallmann would agree. Federated makes much more sense to me than centralized.
  • Nick Malik continues his series on SOA Business Operations Model. I especially like his point that this isn't a series of choices, you need to "look at your company and try to understand which model the business has selected. "
  • The first CTP of PowerShell 2.0 is out! Check out what's new on the PowerShell team blog and Jeffrey Snover's TechEd Presentation. (via Sam Gentile)
  • Soma announced updates to VC++ coming next year, including TR1 support and a "major" MFC upgrade to support creating native apps that look like Office, IE or VS. I get supporting TR1, but the idea that people are clamoring for MFC updates is kinda surprising. Many years ago when I first came to MSFT, a friend asked "But don't you hate Microsoft?" to which I responded "No, I just hate MFC". Obviously, not everyone agrees with that sentiment.
  • Steve Vinoski thinks there's no hope for IT. Funny, I keep agreeing with Steve's overall point but disagreeing with his reasoning. I still don't buy the serendipity argument. I like compiled languages. And I think he's overstating the amount of "real, useful guidance" for REST floating around. Basically, there's "the book".
  • In widely reported news, Windows Live launched their next generation services. Don't bother with the press release, just go to the new WL home page.
  • Speaking of WL, Dare Obasanjo points to the Live Data Interactive SDK page where you can experiment with the WL Contacts REST API. It gives you a good sense of how the Web3S protocol works. Pretty well, IMO. However, how come WL Contacts Schema doesn't include some type of update timestamp for sync purposes? If you wanted to build say a Outlook <--> WL Contacts sync engine, you'd have to download the entire address book and grovel thru it for changes every sync.
  • Speaking of Web3S, I'd love to see some info on how one might implement a service using Web3S. Yaron Goland positions Web3S as an alternative to APP that WL developed because they "couldn't make APP work in any sane way for our scenarios". I'm sure other folks have similar scenarios.
Posted By Harry Pierson at 10:26 AM Pacific Standard Time

Tuesday, October 30, 2007

Morning Coffee 121

  • My daughter had her tonsils & adenoids out on yesterday. It was a routine procedure and it went by-the-numbers, but any parent will tell you it's hard to see your kid in a hospital bed.
  • Given the previous bullet, I'm not at the SOA/BPM conference for the big announcement. Don't worry, there's lots of other folks covering the news.
  • It was a crappy sports weekend in the Pierson house. Va Tech snatched defeat from the jaws of victory, Southern Cal never led at Oregon, the Capitals lost twice, and the Redskins got blown out by the Pats. At least the Caps won big yesterday in Toronto.
  • Speaking of the Capitals, Peter Bondra retired Monday. I still think it's a travesty that he didn't spend his whole career in DC, but I've made my peace with it.
  • Nick Malik has a great series on business operations models and how they apply to SOA. Regular readers should be unsurprised that I favor low standardization, though I can see the value of high integration. That makes the Coordinated Operating Model my fav, though I can see the benefit of the Diversified Model as well. I can't wait to read what Nick has to say on changing models.
  • Speaking of Nick, I'm doing a roundtable with him on "Making SOA Work in the Enterprise" @ the Strategic Architect Forum. Should be fun. Sorry for the lack of linkage on this, but it's an invite-only event.
  • Jezz Santos has a new series of white papers on building software factories. First up "Packaging with Visual Studio 2005"
  • Aaron Skonnard has a new whitepaper on using the WCF LOB Adapter SDK with BTS 2006 R2. I've been building one of these things recently, so I'm looking forward to checking that out. (via Sam Gentile)
  • Tim Ewald looks at Resource Oriented Architecture (when did ROA become a TLA?) and wonders "what if your problem domain is more focused on processes than data?" I wonder that all the time. (via Jesus Rodriguez)
  • It's not just durable messaging - Libor Soucek also disagrees with my opinions on centralized control. I agree 100% with Libor that centralized management would make operation's lives "much, MUCH easier" as he puts it. However, that doesn't make it feasible at any significant scale. Furthermore, I wouldn't describe an approach that requires that "all services adopt [the] same common management interface" as "pragmatic". Frankly, just the opposite.
Posted By Harry Pierson at 7:44 AM Pacific Standard Time

Thursday, October 25, 2007

Morning Coffee 120

  • Doing these morning coffee posts is a lot tougher since I cut back my blog reading. Where I used to have no trouble finding 4-5 coffee-worthy items every day, these days I seem to only get 1-2, if that.
  • After starting off 3-0 and 100% on the PK, the Caps dropped four in a row and have been miserable on special teams. The special teams woes continued last night against the Lightning, but they still won. Caps went 0-4 on the powerplay, and coughed up a short handed goal. But they also went 3-3 on the PK, so I guess it wasn't all bad. Maybe my mother will stop calling for Hanlon's job now. It's a long season and as Peerless Prognosticator points out, the rebuild isn't over.
  • Jomo Fisher, who helped Scott Hanselman auto-merge assemblies, has been digging around in F# of late. As it turns out, he's joining the F# team so I'm thinking it's not a huge stretch for him. If you're a C# developer trying interested in getting a handle on this new F# thing, his blog is a good place to start.
  • Speaking of F#, Don Syme posts about yet another new F# feature: Async Workflows. Workflow is a bad term here IMO since it can be easily confused with WF. Regardless of it's name, Async Workflows is about making .NET's Async Programming model a first class citizen in F#. Robert Pickering has a good post explaining how this new feature works.
  • Microsoft sure has a lot of multi-threading / async-programming tools coming out. In addition to F# Async Workflows, there's the Concurrency and Coordination Runtime, Parallel LINQ and the Task Parallel Library. I would hope all this work eventually coalesces as a coherent product offering.
  • Now that F# is being "producized", I wonder if the language evolution will slow down. Async workflows were introduced in F# 1.9.2.9. Other recent changes include Computation Expressions (v1.9.2), Use Bindings (v1.9.2) and Active Patterns (v1.9.1). F# seems to churn more in minor releases than C# does in major releases. Of course, that's because F# was a research project, not a "real" product. Now that it's going to be a product, will the rate of innovation slow?
Posted By Harry Pierson at 9:50 AM Pacific Daylight Time

Friday, October 19, 2007

Morning Coffee 119

  • The biggest news of the week IMHO is Soma announcing the formation of an F# product team. Specifically, they will "fully integrate the F# language into Visual Studio and continue innovating and evolving F#." Though Soma calls F# "another first-class programming language on the CLR", I get the feeling there won't be a "Visual F#" sku. Don Syme has more on the news.
  • In other Soma announcement news, Popfly is now in beta. More details on what's new on the Popfly Team Blog. I haven't played with Popfly in depth, but I think it's got huge potential.
  • Scott Guthrie details the upcoming ASP.NET MVC Framework. Personally, I'm not building web apps much these days, so I'm not really invested one way or the other. Given the interest in this approach, it's nice to see the ASP.NET team respond to the market, though I'm sure someone will complain that we're trying to kill off the various open-source MVC Web frameworks that have sprung up.
  • Over in Windows Live, they shipped a new version of Live Search Maps, upgraded WL Photo Gallery (which I've been digging) to support Flickr and shipped an update to WL Accounts which allows you to link accounts.
  • The Clarius folks keep churning out great tools for software factory developers. The latest is the T4 editor, which brings intellisense, color syntax highlighting and property inspector support for Text Templating Transformation Toolkit (aka T4) files. T4 files are used for code generation in both DSL Toolkit and GAT.
  • David Pallman (again via Sam Gentile) suggests there are only three choices for infrastructure architecture: None/Point-to-point, Centralized/Hub-and-Spoke and Thin/Bus. I get the first two, but his explanation of the third goes to far into the "magic framework" category for my taste. "Physically distributed but logically centralized"? That doesn't make any sense to me at all.
  • Fellowship of the Ring makes its way onto XBLM. Alas, not in HD so I'll stick w/ my extended four hour DVD version thankyouverymuch.
Posted By Harry Pierson at 10:27 AM Pacific Daylight Time

Thursday, October 18, 2007

Morning Coffee 118 - ITARC SoCal Edition

I'm not back on blog sabbatical, but between finishing my presentation and attending ITARC SoCal earlier this week - not to mention being sick - I didn't have time to write anything. Normal Morning Coffee resumes tomorrow, here's a summary of my notes from on my two days at ITARC.

  • Scott Ambler did the opening keynote on agile enterprise architecture strategy.
    • He claims that success is more prevalent in the industry that people think, because the industry has a narrow definition of success. If you change (aka widen) the definition, the success rate goes way up! That's not exactly useful, but he referred to an as-yet-unpublished survey on project success rate that should be up on DDJ "soon". I'd like to see that raw data.
    • While I agree with most of his points, Scott's presentation style is very abrasive. For example, he makes the point that there is no one-size-fits-all process, which I couldn't agree with more. But does he say it like that? No, he says "Repeatable processes? What an incredibly stupid idea!" even though the room is full of folks who probably think repeatable process is actually a good idea.
    • Scott suggested that unit tests are the best way to specify requirements. I've heard this before from agile practitioners, but something nags at me about it. Certainly, having executable requirements is a huge plus. But how can you be sure they're the right requirements if the stakeholders can't read them?
    • This keynote setup what turned out to be a major theme for the conference - traditional vs. non-traditional enterprise architecture. Or as I would characterize it: Industrial vs. Post Industrial architecture.
  • Simon Guest presented on user experience in architecture, which is his specialty these days. He lays out a UX model that was very compelling. I'm not sure if there's a whitepaper version of this model (there should be) but you can see the model as he lays it out in powerpoint. I've seen Simon's UX decks, but never actually seen him present it, so that was a treat.
  • I skipped Ted Neward's session in order to take in something new. So I went to see Daniel Brookshier of No Magic talk about DoDAF - the Dept. of Defense Architecture Framework. I had met Daniel the night before at dinner and while No Magic primarily sells UML modeling tools, we seemed to agree that UML is most useful (in my opinion "at all useful") when you imbue the vanilla models with custom semantics - aka you turn them into a DSL. So while I liked hanging out with Daniel, his DoDAF session did nothing except ensure I never work for the DoD. There's no amount of money that's worth dealing with the two dozen or so bureaucratic models that are all wholly isolated from anything that actually executes. Daniel kept saying how easy these models are to build. I'm sure they are, but that's not the problem. Since they're not an intrinsic part of a construction process, they won't stay up to date. This was a very industrial approach - Daniel even stated at one point that he was "anti-Ambler".
  • David Chappell did the second keynote on grid-enabled SOA.
    • When did David join Oracle? I guess I haven't been paying much attention to competitors since I moved to MSIT.
    • There's an article version of this presentation available, but I haven't read it yet.
    • For me, the best part of this presentation was him acknowledging that there's a need for non-stateless services, something he has blogged about recently. I'm not sure I agree with his framework for stateful interaction, but at least he's admitting that it's needed. Now if I could only convince the Connected Systems Division...
    • The rest of his talk was basically a sales pitch for the Coherence product Oracle recently bought. Basically, it's a huge, multi-node, redundant, in-memory database. While I'm sure there are a few high-end problems out there - my immediate thought was travel and David mentioned SABRE is one of their customers - this is not a good general purpose solution, though David was positioning it as such.
  • My talk on "Moving Beyond Industrial Software" was after the second keynote. It was good, if sparsely attended. I'm doing it again @ the p&p Summit so I'll post the slides and hopefully a recording after that.
  • I skipped the last session of the day to decompress, so the next session I went to was the day two opening keynote by Fred Waskiewicz, OMG's Director of Standards. His talk, unsurprisingly, was on the value of standards - in particular, OMG's standards. This was about as anti-Ambler, anti-agile, pro-industrial a presentation as you could make. I'd heard this spiel before, so I mostly tuned out. I did challenge Fred on his point that the UML models are at a higher level of abstraction than code. They're not - they're a visualization and they're very useful, but they're at the exact same level of abstraction as code. That's why you can automatically generate the visualization in tools like Visual Studio's class designer. Fred didn't have much of a response to my question, though he did point out that some models like Business Process Models are, in fact, higher levels of abstraction.
  • Next was what I thought was the best presentation of the entire show, IASA Founder Paul Preiss on what architects need to know. Note, I'm not brown-nosing Paul here - I'm the guy that first decided to commit Microsoft as an IASA sponsor, so he has to like me even if I thought his session was crap. Paul talked about architect as a career, comparing it to doctors. He worries that he's over-using that analogy, but software architect has much more in common career wise than it does with building architects IMO. I wonder where one might do their architecture residency? He also thinks of architects as "living governance", saying that project managers answer to the stakeholders while architects are beholden to the stockholders. I like that approach to governance.
  • Finally, I attended Vince Casarez's session on Web 2.0 in the enterprise. Vince is an Oracle VP and this turned into a sales pitch like David Chappell's keynote did. I'm not sure what product it was, but it reminded me of QEDWiki from IBM that I saw at ETech last year, which isn't a complement. If you're going to build an enterprise mashup designer, is it just me or is "lots of code spew" a poor model. Why not go for something like Popfly or Pipes?
  • I left early the second day in order to get home before my kids went to sleep (which I failed at due to lack of naptime). Overall, the conference was pretty good, though a bit sparsely attended in part I think because they held it in San Diego. The Orange Country IASA user group is very popular, so I don't understand why they didn't just hold it around there somewhere. Live and learn, I guess. They did have to postpone the DC event until next year sometime. Here's hoping I get invited to that as well as well as ITARC SoCal '08 (note, that *is* brown-nosing a bit)
Posted By Harry Pierson at 12:18 PM Pacific Daylight Time

Monday, October 08, 2007

Morning Coffee 116

"Looks like I picked the wrong week to stop sniffing glue"
Steve McCroskey, Airplane!

  • So it's been a while since my last post. Just over a month, not including The F5 High, which wasn't "original IP". Frankly, I just stopped reading pretty much cold turkey. I wanted and needed to go heads down on day job stuff for a while. Since I haven't been reading, Morning Coffee is going to be a little cold while I ramp back up.
  • The new NHL season is upon us, and the Caps are looking good so far. Obviously, they have the new uniforms, but they're also out to a 2-0 start for the first time in five years. And in those two games, they've only allowed one goal and are 100% on the PK. It's nice to see them start strong, but obviously there's a long way to go. Here's hoping the can stay strong all season.
  • Speaking of staying strong, the wheels that were rattling last week came off the Trojan bandwagon completely this week. I'm not sure it's as big an upset as Appalachian State beating Michigan but it's close. What happened to the team that scored 5 TD's in a row on Nebraska?
  • Big news last week is that MSFT is going to release the source code to much of the .NET Framework. Scott Guthrie has the details. Frankly, between Rotor & Reflector, it wasn't like you couldn't see the source code anyway, so this seems like a no-brainer. But integrating it directly into the VS Debugging experience, that's frakking brilliant.
  • I haven't had a chance to install the new XML Schema Designer (Aug 07 CTP)  but I was really impressed with this video. The XML Team blog has more details. However, I'm not sure what the ship vehicle is. The CTP install on top of VS08 beta 2, but in the video they keep saying "a future version" of VS, implying that it's not going to be in VS08.
  • Dare is spending some time investigating SSB. I think it's interesting that some of the REST crowd are starting to see the need for durable messaging. Dare argues that the features and usage models are more important than wire protocol. As long as it's standardized, I don't care that much about the protocol. Several of the REST folks mentioned AMQP. While I've got nothing against AMQP technically (frankly, I haven't read the spec), but what does it say about durable messaging vendors (including MSFT) that a financial institution felt the need to drive an interoperable durable messaging specification?
Posted By Harry Pierson at 9:57 AM Pacific Daylight Time

Monday, August 27, 2007

Morning Coffee 115

  • Scott Guthrie has two new posts in his series on LINQ to SQL. The first covers updating the database using stored procs instead of dynamic SQL. I was somewhat surprised that there wasn't the capability to auto-generate vanilla Insert, Update and Deleted procs, but I guess DBA's probably hate that anyway. The second shows how to use ExecuteQuery to execute arbitrary SQL instead of using the cool LINQ query syntax. I'm doing a bunch of loosely-typed SQL work right now, so I'm going to take a deeper look at this.
  • Speaking of LINQ, I just discovered this great series on IQueriable by Bart De Smet. It's four months old, but takes an incredibly detailed look at what happens under the hood with LINQ. Bart also has a reference implementation of LINQ's standard query operators as well as LINQ to Sharepoint.
  • Dan Maharry has pulled together what looks like the definitive guide for really slimming down and speeding up your VPC. It's XP specific, but I'd bet most of the guidance would also apply to WS03, which is what I mostly use in my VPCs. (via Larkware)
  • Jimmy Nilsson thinks it's the operations department that holds the power in today's IT world. I agree 100% That's why I value Dale's input so much.
  • Nick Malik wonders if it's time to translate the Federal Enterprise Architecture for use in the commercial sector. My dad just retired from 5 years in the FAA and he thinks FEA is too high level to be particularly useful.
  • The 2007 edition version of Scott Hanselman's ultimate tool list is now available.
  • A bunch of XNA Gamefest sessions are now available for on-demand viewing.
Posted By Harry Pierson at 10:34 AM Pacific Daylight Time

Friday, August 24, 2007

Morning Coffee 114 - MoMAAB Edition

  • We spent all day yesterday discussing four topics: SaaS, Tools for Scrum, Web 2.0 and Domain Specific Languages. Even though it was just a day, my brain is full. These were deep and challenging discussion. I need to let the discussions stew a bit before posting anything about them here. But I will.
  • Next time we do one of these, I'm bringing a video camera. I took notes, but looking over them the next morning they seem woefully incomplete. OneNote's integrated audio/video recording capabilities would nicely augment my notes.
  • We ran this meeting using Open Space, and it worked very well. Of course, we only had 8 people, so we didn't need a lot of process to self organize. However, it did whet my appetite for having a larger Open Space style un-conference for architects. Is that something other folks might be interested in?
  • Major thanks to the folks at Clarity Consulting who graciously gave us space to meet and fed us yesterday. Their CTO Jon Rauschenberger sat in on most of our meeting, and drove our Web 2.0 discussion. I said I wanted to stew a bit on the discussions, but Jon's slides are available on line if you're interested.
  • Scott Colestock showed me Diigo, a social annotation tool. Where del.icio.us lets you tag and annotate individual pages, Diigo lets you annotate and highlight specific parts of the page. They also have blogging tools, where these annotations and highlights become blog posts, but they don't support dasBlog. However, since FeedBurner doesn't support Diigo for link splicing, I'm afraid my use of it will be limited.
  • Jim Wilt introduced me to Virtual PC's command line. He recommends using "-pc <vpc name> -launch -singlepc" which launches a single virtual environment without the VPC console. I rarely run more than one VPC at a time and I hate stuff cluttering up my taskbar and notification area, so I like this a lot.
  • Loren Goodman demonstrated the SharePoint Explorer Client. SharePoint & MOSS came up several times in all of our topics, so this is going to get a second look. I always thought it was strange that MSFT ships a smart client for editing WSS & MOSS, but not viewing it. SP Explorer looks like it fills that gap nicely.
  • Shannon Braun sent us all a link to the 50/70 rule, which seems like a good rule of thumb. Of course, assuming that things won't progress linearly is almost always a good rule of thumb. But the 50/70 rule has reasoning behind the assumption.
  • Chicago is nice, but the weather has been a little freaky. It's either been hot & humid, downporing thunderstorms or tornados. Keith Powell showed me FlightAware, which shows you flight departure and arrival history. My flight hasn't left within an hour of scheduled departure in a week. I'm going to try and grab an earlier flight, but I have a feeling it's going to be a long trip home.
Posted By Harry Pierson at 9:46 AM Pacific Daylight Time

Thursday, August 23, 2007

Morning Coffee 113

  • I'm in Chicago today and tomorrow for a reunion of sorts. In my last job, I managed a group of external architects called the Microsoft Architecture Advisory Board (aka the MAAB). We discontinued the program a while back, but the core of the group found the program valuable enough they have continued to meet anyway. I found the MAAB meetings incredibly valuable and insightful, so I'm really excited to be invited to continue my involvement with the group.
  • I picked up Bioshock Tuesday (Circuit City had it on sale) on my way to my bi-weekly campus excursion. My meetings were over around 2pm so I headed home early, expecting to surprise the kids. But Jules had decided to skip naps and go shopping with them. Her cell phone was dead, so I ended up at home with a couple of hours to myself and a brand new copy of Bioshock. Wow, is that a good game. Certainly deserving of the amazingly good reviews it's garnered.
  • Speaking of reviews, this transparently biased review of Bioshock over at Sony Defense Farce Force is frakking hilarious. Somehow, I doubt their dubious review will stem the tidal wave of Bioshock's well-deserved hype. Can't wait to read their Halo 3 review.
  • Pat Helland writes at length on master-master replication. I reformated it into PDF so I could read it - the large images were messing up the text flow on my system. As usual for Pat, there's gold in that thar post. His thoughts on DAGs of versions and vector clocks as identifiers are very exciting. However, I think he glosses over the importance of declarative merging. I would think programmatic merge would likely be non-deterministic across nodes. If so, wouldn't you end up with two documents with the same vector-clock identifier by different data?
  • Joe McKendrick points to a few people who predict the term "service-oriented" will eventually be subsumed under the general heading of "architecture". Not to brag, but I made that exact same prediction almost three years ago.
  • Erik Johnson thinks that SOA 2.0 centers on transformational patterns. The idea (I think) is that if systems "understand each other more deeply", then we can build a "smarter stack" and design apps via new constructs to promote agility and simplicity. Personally, I'm skeptical that we can define unambiguously system semantics except in the simplest scenarios, but Erik talks about using "graph transformation mathematics" to encode semantics. I don't know anything about graph transformation mathematics, but at least Erik has progressed beyond hand waving to describing the "what". Here's looking forward to the "how".
  • New dad Clemens Vasters somehow finds time to implement an XML-RPC binding for WCF 3.5. I was encouraged that it didn't require any custom attributes or extensions at the programmer level. Of course, XML-RPC fits semantically into WCF's interface based service model, so it shouldn't be a huge surprise that it didn't require any custom extensions. But did it need WCF 3.5? Would this work if recompiled against the 3.0 assemblies?
  • Phil Haack writes a long post on Duck Typing. VB9 originally supported duck typing - the feature was called Dynamic Interfaces - when it was first announced, but it was subsequently cut. I was really looking forward to that feature. Between it and XML Literals, VB9 was really stepping out of C#'s shadow. I guess it still is, even without dynamic interfaces.
  • Since I've been doing some LINQ to XML work lately, I decided to go back and re-write my code in VB9 using XML literals. While XML literals are nice, I don't think they're a must have. First, LINQ to XML has a nice fluent interface, so the literals don't give you that much cleaner code (though you do avoid writing XElement and XAttribute over and over.) Second, I find VB9's template syntax (like ASP <%= expression %>) clunky to work with, especially in nested templates. Finally, I like the namespace support of XNames better. As far as I can tell, VB9 defines namespaces with xmlns attributes just like XML does. So I'm not dying for literal XML support in a future version of C#. How about you?
Posted By Harry Pierson at 7:23 AM Pacific Daylight Time

Friday, August 17, 2007

Morning Coffee 112

  • The Lee Holmes over at the Powershell Team Blog writes about alternatives to the "decades-old" Windows console host. Powershell Plus looks awesome. PoshConsole also looks pretty cool (though far from finished yet) and is free.
  • WL ID Web Authentication SDK has been released. Details on the WL ID team blog. It looks like what Passport SDK provided for quite some time, but now it's free. There's also a client auth SDK in development. (via Dare Obasanjo)
  • Libor Soucek leaps to the wrong conclusion about not differentiating enterprise & support systems. Of course, different systems will have different availability requirements. But what happens when we connect them together? We can't let the support system effect the availability of the enterprise system, right? To me, that implies either a) the support system now needs to conform to enterprise system availability requirements or b) we need some other mechanism (like async durable messaging) to act as a buffer between them. Personally, I like "b".
  • Nick Carr points to an article The Trouble with Enterprise Software by Cynthia Rettig. Cynthia writes that while the massive complexity of enterprise software, especially large-scale ERP systems like SAP, significantly hinder it's value. It's a must read. Choice quotes:
    • "It is estimated that for every 25% increase in complexity in the tasks to be automated, the complexity of the software solution itself rises by 100%."
    • "The notion of reusable software works on a small scale. Programmers have successfully built and reused subroutines of standard functions. But as software grows more complex, reusability becomes a difficult or impossible task."
    • "Hope, unfortunately, has never been a very effective strategy."
    • "Is enterprise software just too complex to deliver on its promises? After all, enterprise systems were supposed to streamline and simplify business processes. Instead, they have brought high risks, uncertainty and a deeply worrying level of complexity. Rather than agility they have produced rigidity and unexpected barriers to change, a veritable glut of information containing myriad hidden errors, and a cloud of questions regarding their overall benefits."
Posted By Harry Pierson at 11:33 AM Pacific Daylight Time

Thursday, August 16, 2007

Morning Coffee 111

  • I'm not sure if I should laugh or cry at Nick Malik's definition of politecture. I mean, it's funny so I'm laughing, but it's so true that it makes me want to cry.
  • Don Box comments on retiring the tenets. It's good to see him say "please God tell me we can do better" than CLR interfaces or WSDL.
  • Looks like the P2P APIs are finally getting the managed treatment in .NET FX 3.5. A long time ago, John deVadoss asked me what an enterprise system like CRM might look like if it used a peer-to-peer approach instead of client-server. If I had any free time, I'd prototype one out on this API. (via Mike Taulty)
  • Scott Guthrie goes back to his LINQ to SQL series to tackle Stored Procs and UDFs. Being able to use UDFs inline with LINQ queries is very cool. However, it seems to me that LINQ discourages the use of stored procs. As a developer, I'd rather write LINQ queries than stored procs, if I can. The probably puts me at odds with DBAs who'd rather all DB access be via stored procs they control.
  • Soma writes about new MSBuild enhancements in VS08: multi-targeting and parallel build.
  • I just discovered Vista Battery Saver. Basically, it turns off Aero and Sidebar when you're on battery. I'm traveling to Chicago next week, so we'll see if it has much impact on my battery life. (via Plenty of Code and Larkware)
Posted By Harry Pierson at 11:06 AM Pacific Daylight Time

Wednesday, August 15, 2007

Morning Coffee 110

  • Monday @ Gamefest, the XNA team announced XNA Game Studio 2.0. The two big new things are support for the entire VS product line (1.0 only works on VC# Express) and the addition of networking APIs. Let's Kill Dave has a good wrapup of the announcements from Gamefest Day One.
  • Speaking of Xbox 360, I played thru the demos of Stranglehold and Bioshock. Two thumbs up on both. It's gonna be an expensive year for Xbox gamers.
  • Mark Cuban noodles on taking your house public. "Why not create a market or exchange where homeowners can sell equity in their homes?" I've thought about this myself from time to time. However, Mark thinks making it happen would "probably take the country's biggest banks working together". I wonder if there's a more Web 2.0 social lending approach that would work better.
  • Jeff Atwood calls virtualization as "the next great frontier for computer security". I agree 100%. But I don't think the action is going to be in "full-machine" virtualization like Virtual PC. Rather, it's going to be sandbox virtualization. Jeff mentions GreenBorder (now part of Google) but it's not the only solution. Some time ago, Microsoft acquired SoftGrid which uses sandbox virtualization for application deployment, but using SystemGuard for security sandboxing seems like a logical step.
  • The WCF LOB Adapter SDK has released. Sonu Arora has the details. As part of the Integration team @ MSIT, I have a feeling we're going to become fairly familiar with this technology. (via Jesus Rodriguez).
  • Speaking of Jesus, he thinks the six new SCA4SOA committees are "going to help". Why? Because inventing technology in committee has turned out so well in the past?
  • John deVadoss cements BPM's fad du jour status by contrasting "big" BPM and "little" BPM. It's fairly obvious to me that big *anything* just doesn't work in the enterprise. But I worry that little *anything* doesn't work that well either. So how long until someone (probably Nick) starts arguing for "middle out" BPM?
  • David Bressler wonders "What is it about registries that everyone thinks is a panacea for all things SOA?" Amen, Brother! Joe McKendrick claims it's required for governance, but then gets to what I think is the *real* reason for focus on registries: the "registry is a tangible offering" that vendors can sell. Just because it's productizable doesn't mean you need it.
  • Hartmut Wilms responds to my retire the tenets post, but he seems to contradict himself. On the one hand, he suggests that "the four tenets just expressed, what “almost” everybody outside the MS world knew already". But then he goes on to dispute that the SO paradigm shift has even occurred! Hartmut, I'll grant you that WCF (among other similar stacks) are way too focused on "you write the classes, we'll handle the contracts and messages". On the other hand, if you don't provide a productive interface that most everyone can pick up and run with, the technology won't get adopted in the first place.
Posted By Harry Pierson at 9:37 AM Pacific Daylight Time

Wednesday, August 08, 2007

Morning Coffee 109

  • I forgot to add a number to my last morning coffee post. However, after extensive research, I have determined that it was #108. So thing are continuing as usual today with #109. On the other hand, do you really want development and architecture opinions from a guy who can barely count? :)
  • The finalists in the Dream-Build-Play contest have been announced. I haven't played any of them yet (some are available for download) but they several of them sure look good.
  • And speaking of gaming, MS announced an Xbox 360 price drop yesterday. So if you want to get in on some of the XNA action, here's your chance (or you could just build for your PC - take your pick).
  • Finally on the gaming front, if you're not busy Monday you can watch the first day of Gamefest 2007 online. Get the scoop on XNA 2.0 as well as the new XNA networking support. I, alas, am busy Monday so I'll have to catch it on demand.
  • On to, you know, actual geek stuff things. Scott Guthrie seems to have retired his LINQ to SQL series and moved on to LINQ to XML. He shows how to build an RSS reader application with LINQ to XML. An oldie demo, but a goodie.
  • Wanna learn F#, there's a whole site of samples up on CodePlex. (via Don Syme)
  • Jeff Atwood is annoyed at how many different products you have to install to get a current & complete setup of VS 2005. Of course, MS shipped two parts of that stack since VS05 shipped (TFS & DBPro), three service packs (VS05 SP1, SQL 05 SP2 and DBPro SR1) and a major OS upgrade (VS Vista update). Doesn't the same thing happen with any shipping product after a few years? BTW, if this is such a huge hassle, I wonder why Jeff doesn't create a slipstreamed VS installer?
  • Udi Dahan has a great post on estimation where he claims "Developers don’t know how to estimate." No argument, but the way he phrases it sounds like it's the developer's fault they suck at estimation. It's not. Developing - by definition - is building something you've never built before. Is it any surprise we suck at estimating how long it will take us to do something we've never done before?
Posted By Harry Pierson at 10:15 AM Pacific Daylight Time

Friday, August 03, 2007

Morning Coffee

  • Libor Soucek continues our conversation about durable messaging. We still don't agree, but he says he "fine" with durable messaging. He does go out of his way to differentiate between *enterprise* and *supporting* systems. But when you're building connected systems, does that differentiation still matter?
  • After taking a few months off, John deVadoss is back at the blog. Check out his Big SOA/Little SOA post. I especially like his snowball analogy "How do you build a big snowball? You start with a small snowball.") though he's also on this "middle out" bandwagon. Do we really believe "middle out" works, or are we just saying it because we know top down and bottom up don't? And John: You're welcome!
  • Anyone coming to the Microsoft SOA & Business Process Conference this fall? Maybe we can have a shindig / blogger dinner / unconference / something?
  • Remus Rusanu writes about SSB's dynamic routing. One of the (many) cool things about SSB is that all the addressing is logical, not physical. Routing is what binds logical addresses to physical addresses, and it's extensible.
  • Martin Fowler discusses the value of sticking to one language. I agree with his points about large frameworks being as difficult to learn as a new language. I've said for a long time "If you build a framework, build tools to make it easy to use your framework". Language is obviously a core example of a tool. Another interesting point Martin makes is the traditional "intimate relationship" between scripting languages and C, but that the rise of JVM & CLR makes them impossible to ignore. Does the need to play well in a managed environment hinder a C based language like Ruby when compared to a natively managed scripting language like Powershell? Finally, Martin's "jigger of 80 proof ugliness" quote made me laugh.
  • Politics 2.0 Watch: EJ Dionne says that DailyKos is doing for Democrats what Rush Limbaugh did for Republicans almost twenty years ago: mobilization. Josh Marshall points out that "what's happening today is vastly more participatory and distributed...than anything happening back then."
Posted By Harry Pierson at 11:34 AM Pacific Daylight Time

Thursday, August 02, 2007

Morning Coffee 107

  • The last day of the service factory workshop was much like the second, primarily focusing on stuff p&p built to integrate GAT and DSLs. We also got a briefing in what's coming for factories after VS08 (can't blog about that). We ended with a look at the DSL Editor Power Toy, which provides additional views on a given model and allows you to completely replace the graphical editor with a Windows Forms UserControl. I wonder if you could use ElementHost in order to build a WPF based editor?
  • Finished the last Harry Potter book last night. My wife finished it last week but kept quiet about it until I got to the end. No spoilers here, but I wasn't exactly surprised by how it played out. I wonder what J.K. Rowling will write next?
  • As promised, Silverlight 1.0 RC and Silverlight 1.1 Alpha Refresh were released last week. Also finishing out this beta wave were Silverlight 1.1 Alpha Tools for VS08 and a new preview of Expression Blend 2. Scott Hanselman has all the details on all the releases.
  • In one of his articles on LINQ to SQL, Scott Guthrie mentioned the LINQ to SQL debug visualizer in passing. Now, he drills into that feature in more detail. Apparently, this isn't a built-in feature of VS08 - it has to be installed separately. Make sure you do that, this seems like a must-have extension for LINQ to SQL development.
  • Jeff Atwood is worried that he spends more time talking about programming than actually programming. That's exactly why I left evangelism to join MSIT.
  • I'm still way behind on blogs, but if I don't post this soon, it's going to be an afternoon coffee. I've also got this day job thing that I've been away from for several days. So more old news tomorrow.
Posted By Harry Pierson at 11:25 AM Pacific Daylight Time

Friday, July 27, 2007

Afternoon Coffee 106

Lots of meetings today, so my coffee post is late...

  • The Big Newstm: Visual Studio 2008 and .NET Framework 3.5 Beta 2 is available for download. Soma and Scott have more. Silverlight 1.0 RC and the Silverlight Add-in for VS08 will apparently be available in a couple of days. Finally, there's a go-live license for the framework, so you get a head-start deploying apps before VS08 and NETFX 3.5 RTM. Time to build out a new VPC image.
  • Next week, I'm attending the p&p Service Factory v3 Customization Workshop. I'm looking forward to playing with the new Service Factory drop, but I'm really interested in learning more about building factories. I wonder if they're going to discuss their VS08 plans.
  • Nick Malik recently wrote about making "middle out SOA" work. I hate that term "middle-out". It feels like we're pinning our hopes on middle-out because we know top-down and bottom-up don't work. My old boss John DeVadoss (who assures me he'll be blogging regularly again "soon") big vs. little SOA, with big SOA being "dead". I like the term "little SOA" better than "middle-out SOA", but just because big SOA is a big failure, doesn't mean little SOA will make any headway.
  • There's a new F# drop available. Don Syme has the details. Looks like they've got some interesting new constructs for async and parallel programing.
  • ABC announced yesterday that they are streaming HD on their website. So you can check out the season finale of Lost in HD for free. They embed commercials so it's not really "for free", but you don't have to pay $3 an episode like you do on XBLM. I wonder if XBLM might offer this capability in the future? Certainly would increase my use of XBLM. (as would an all-you-can-eat pricing scheme)
Posted By Harry Pierson at 1:41 PM Pacific Daylight Time

Wednesday, July 25, 2007

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.
Posted By Harry Pierson at 12:36 PM Pacific Daylight Time

Monday, July 23, 2007

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...
Posted By Harry Pierson at 8:15 AM Pacific Daylight Time

Friday, July 20, 2007

Morning Coffee 103

Posted By Harry Pierson at 11:48 AM Pacific Daylight Time

Wednesday, July 18, 2007

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 calls out three 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.
Posted By Harry Pierson at 9:06 AM Pacific Daylight Time

Friday, July 13, 2007

Morning Coffee 101

  • In doing a little LINQ research, I stumbled upon Wes Dyer's Yet Another Language Geek blog. Fascinating stuff. Subscribed. Be sure to check out his recent posts about Partial Methods, another new C# 3.0 (and VB9) language feature.
  • Werner Vogles has a great post on what a CTO does, including a summary of four different approaches to the job.
  • Somasegar lets us know that even though VS08 doesn't launch until February of next year, MSFT is "still aiming to release Visual Studio 2008 and .NET FX 3.5 by the end of this year".
  • There's a new version of the Windows Live Mobile Search client. The Virtual Earth / Live Search team blog has the details. New features include Movie Showtimes, More Local Data with Reviews and improved Maps and Directions (including GPS integration). Can't wait to get this installed. (via Dare Obasanjo)
  • XNA Gamefest is coming up next month. It's sort of like PDC for game developers. It's where we make our big game dev announcements - last year, we announced XNA GSE there. They recently published their session abstracts, including a whole track on XNA Game Studio Express. As Shawn Hargreaves points out, an "enterprising reader could probably make a good guess" about some of the new stuff getting announced @ Gamefest.
Posted By Harry Pierson at 11:38 AM Pacific Daylight Time

Wednesday, July 11, 2007

Morning Coffee 100

  • The big 100. This puts be 1083 posts behind Iron Link Poster Mike Gunderloy. As his .NET skills deteriorate, maybe I can catch up...but I doubt it. I'm only 77 posts behind Sam Gentile, so maybe that's a bit more feasible. 
  • The ADO.NET Team blog announces the new Entity Framework CTP. Looks like there's also a new .NET Framework 3.5 CTP and new Visual Web Developer "Orcas" Express CTP as well. (via Sam Gentile)
  • Speaking of "Orcas" VS 2008, it launches with Windows Server 2008 and SQL Server 2008 next February. (via DNK)
  • Scott Guthrie continues is LINQ to SQL series. This time, using LINQ to SQL to update the database.
  • My friend Arvidra Semhi recently moved and rebooted his blog. Among his many accomplishments, Arvindra started the Architecture Journal. I'm particularly interested in his recent Service Capsule work. Subscribed.
  • Last night was the Microsoft E3 Briefing. Gamerscore blog has the news rundown. Didn't seem to be any HUGE news. Last year's E3 was the first Halo 3 showing and X06 featured the Halo Wars announcement. Nothing that earth-shaking this time, though the XBLM keeps on rolling, now featuring Disney movies. (Major Nelson has a list.) I'm thinking that the whole HD-DVD vs. BluRay war is going to be eclipsed by direct download before it's over, though I'm still waiting for PC support & all-you-can-eat pricing.
  • Politics 2.0 Watch: Clay Shirky has a great blog post on modern-day Luddites. As he points out: "A Luddite argument is one in which some broadly useful technology is opposed on the grounds that it will discomfort the people who benefit from the inefficiency the technology destroys." How much inefficiency is there in our modern political system? And more importantly, who benefits from that inefficiency? We've already seen the dramatic effects blogs can have on political news, media and reporting. What happens when users citizens are no longer satisfied just writing about the political process and want to get their hands dirty in the policy-making process itself?
Posted By Harry Pierson at 11:37 AM Pacific Daylight Time

Tuesday, July 10, 2007

Morning Coffee 99

  • Mladen Prajdic has a great post on handling a database in your unit tests. He mentions NDbUnit but seems mostly to favor SQL 2005's database snapshot feature. He's got sample code for creating and restoring a snapshot. (via DNK)
  • Microsoft Robotics Studio 1.5 released yesterday. Tandy Trower - GM of the Robotics group - has the details on what's new.
  • Herb Sutter has a new column in Dr. Dobbs on concurrency. First up, "building a consistent mental model for reasoning about concurrency". Sounds like a must read column. (via LtU)
  • Scott Hanselman describes "Sez You Architecture". I wonder, do architecture ninjas get to wear a Shinobi shozoku?
  • From the Not Everyone Agrees With DevHawk Dept.: Libor Soucek disagrees with me and thinks that durable messaging should be avoided. I had a hard time following Libor's logic but needless to say, I disagree with his disagreement. He writes that one of the reasons to use DM is for "Cooperating on transaction with external system". While multiple systems may be cooperating on a business transaction, in no way do I believe they are going to cooperate on a database transaction. But since he started talking about the DTC, I suspect we're talking past each other. Libor, drop me a line and we can discuss further.
Posted By Harry Pierson at 9:47 AM Pacific Daylight Time

Monday, July 09, 2007

Morning Coffee 98

  • Morning Coffee was canceled on Thursday and Friday on account of a kidney stone. So not fun. Luckily, it was a little one and it was alone, but I will be listening very closely to my doctor's advice to avoid another.
  • Took the kids to see Ratatouille last Tuesday and saw Transformers yesterday with my wife due to fluke babysitter luck. I liked Ratatouille, but I'm not sure it's the 51st best movie of all time. On the other hand, major props for making a kid movie with a significant lack of toy tie-ins. Ratatouille is a better movie that Cars, but I don't see my four year old boy trading in is Lightning McQueen toy car for a Remy the Rat. Transformers on the other hand obviously did not forgo the toy tie-ins! Still, it wasn't bad. Kinda reminded me of The Rock with a bigger budget.
  • Micahville listed DevHawk on it's list of 69 Tech Blogs That Don’t Suck. Thanks!
  • David Ing boldly writes that C# is getting fat. Or maybe it's just big-boned. My take: no question that integrated query is a big feature that covers a lot of surface area. But given the prevalence of databases and other queriable stores, it's critical to improving programmer productivity. Go read Todd Proebsting's talk on Disruptive Programming Language Technologies. Two of his candidates for disruptive language technologies were Database Integration and Manipulating XML. LINQ neatly covers both.
  • According to John Shewchuck, the new BizTalk Services release is available. However, when I click on the "what's new" page, it tells me they're experiencing technical difficulties. (Their error page is Oops.aspx. Funny!)
  • Scott Hanselman has Programming Personas 2.0. Who are you? I thought I was and "Order n" Architect (the quote "Where's the whiteboard" is spot on) but my CS background isn't as strong as the persona's.
  • Sam Gentile is starting to dig into Concurrency and he has a great list of links that have influenced his design.
Posted By Harry Pierson at 11:06 AM Pacific Daylight Time

Monday, July 02, 2007

Morning Coffee 97

  • For the first six months of 2007, I posted 158 times in 181 days. I'm obviously off the pace I set in January of averaging a post a day, but I am averaging just under nine tenth of a post per day. Not bad. At this rate, I'll post almost as much this year as I did the last two years combined.
  • It was a great family weekend. Saturday, three of my friends helped me move an upright piano that we got used for a great price. Luckily, one of said friends is also a physics teacher, otherwise I don't think we could have gotten that heavy thing in the truck. To say thanks, we BBQed for them Saturday evening. Then yesterday we took the kids to see a Sesame Street Live show. Both days were beautiful, which my wife greatly appreciated.
  • The Caps hit the free agent market running yesterday, picking up Tom Poti (four years, $14 million) and Victor Kozlov (two years, $5 million). They weren't the A-list free agents, but they both seem like solid pickups. According to Japer's Rink, the Caps were about $6.5 million under the new cap minimum. These two signings just about close that gap, but it doesn't sound like they're done. That's good news for Caps fans.
  • Scott Guthrie continues his series on LINQ to SQL. While I've seen most of this before, the cool thing Scott shows is hovering over the LINQ to SQL result and bringing up the exact SQL statement in a debugger window. That's pretty cool.
  • Nick Malik is now "Mr. SOA" inside MSIT. As you might imagine, I'll be working with him fairly closely. Actually, he's late to a meeting with me as I type this.
  • John Shewchuk announces a new version of BizTalk Services coming soon. The big new feature is access control for services exposed via the BizTalk Services. If you can't wait, you can try out the new stuff in their pre-production environment right now, before it's live. Is this a beta of a beta?
  • Soma announces the MSDN Small Business Developer Center. I took a quick look thru the site. Strangely enough, it doesn't cover Dynamics - Microsoft's business software primarily targeting small and medium size businesses.
  • Ted Neward called object/relational mapping the "Vietnam of Computer Science". David Chappell gives us our next war / technology analogy, declaring that the REST vs. WS-* war is over, ending in a truce like the Korean war rather than "crushing victory for one side".
  • Like Jeff Atwood, I didn't realize About Face has been updated, twice. I am a huge fan of the first edition, but Jeff calls About Face 3 "the best edition of this classic yet". I just ordered a copy for myself.
  • David McGhee transcribed a fantastic session with Dr. Don Ferguson at the Australian Architecture Forum on SOA/ESB integration in the real world. Go read the whole thing. Udi Dahan pulls out the quote "there is no such thing as a centralized ESB." Amen to that. My other favorite quotes from this discussion is "The temptation is often to get everything in a repository, but often you cannot rely on people to put everything in the registry" and "there is sometimes the “Highlander” philosophy of there can be only one service". If you're design depends on centralization and/or significant change in human behavior, it's doomed from the start. Frankly, it's amazing how often that happens.
  • In response to my What is the Rails Question post, Hartmut Wilms wonders why "the .NET community (for the most part) ignores Open Source Projects". I wonder the same thing, though I don't think you can lump the whole .NET community together on this. While some parts of the community ignore anything they can't download from MSDN, other parts strongly embrace open source projects.
Posted By Harry Pierson at 11:07 AM Pacific Daylight Time

Thursday, June 28, 2007

Morning Coffee 96

  • My friend David "LetsKillDave" Weller writes a long post on corporate blogging, responding to comments on the subject from Penny Arcade. Andre "Ozymandias" Vrignaud also responds. David is specifically talking about blogging within the gaming division, but they apply pretty broadly to Microsoft as a whole when it comes to blogging. "I don't want to get fired", "I don't want to do things that needlessly hurt my company" and "We can say things that PR or marketing people can't.  Or won't." all ring true to me.
  • Speaking of gaming, there seems to be more that your average cool games coming our for Xbox 360 this summer. I just picked up Forza 2 which rocks with the Racing Wheel. The Darkness looks very cool and I laughed my ass off playing the Overlord demo. Both shipped this week and have gotten good reviews. On their way in August are Bioshock and Blue Dragon. Of course, there are a few other big games coming this holiday. A good, but expensive, year to be a gamer.
  • I laughed my ass off reading Larry O'Brien's Top 10 Things To Do With Your Petaflop Supercomputer, esp. #9.
  • WSDL 2.0, it's official. Nick Allen has the news. Personally, WSDL seems to be the spec most responsible for driving RPC-style request/response web services, so let's just say that I am not a fan.  
  • Joe McKendrick thinks something is "holding back SOA"? I don't think it's any one thing, but certainly the RPC style that most web service toolkits pretty much force down your throat isn't helping.
  • Nick Malik thinks Acropolis is promising as a SOA service consumer, but Udi Dalan thinks it doesn't support multi-threading well enough. I lean towards Nick on this one since I see multi-threading as a language problem, which a library like Acropolis can't solve on it's own.
  • Jon Flanders has been busy building the BizTalk Server 2006 extensions for Windows Workflow Foundation (June CTP) SDK Sample. I'm not sure why the marketing folks gave this such a long and involved name, but the sample does look pretty cool. Paul Andrews has the project overview and demo video. However, given that the WF workflows are hosted in BTS, is it accurate to say "No Biztalk Experience Required"?
  • Speaking of WF, Tomas Restrepo takes a detailed look at the new WF service hosting in .NET FX 3.5. Mostly, he likes what he sees. I have the same problem he does with the message correlation IDs. I'd like to have other options here, including support for what I call "message data correlation" (Tomas describes this as "natural correlating identifiers") and "address correlation" which is basically the REST model.
Posted By Harry Pierson at 10:25 AM Pacific Daylight Time

Wednesday, June 27, 2007

Morning Coffee 95

  • New version of dasBlog is out, the final version on ASP.NET 1.1 (unless this release "kills a kitten" as per Scott Hanselman). I don't have the time (make the time?)to run daily builds, but I do try and upgrade to new major releases in a timely fashion. I'm also moving hosters, so expect a little downtime around here at some point in the near future.
  • Matt Winkler is doing a series on alternate WF execution patterns. His first is the N of M pattern. While I can nitpick some things in WF - especially the limitations of transaction flow - WF's support for variability and extensibility of execution patterns is fraking brilliant. (via Sam Gentile)
  • Joe McKendrick is all excited about a SOA built without web services! We've been "doing SOA" since the EDI days without web services, so I'm not sure this level of excitement - with an exclamation point and everything - is warranted. But it is good to see people realize web services != SOA. Instead of web services, CERN is using JMS to move messages around. I don't know much about JMS, but I do know it supports async and durable messaging, two things I think are critical for enterprise services.
  • I saw on LtU that there's a new paper on Singularity out. For those who don't know, Singularity is a MS Research platform designed for reliability instead of performance. But there's more than just a new paper. According to the project home page, "Singularity Version 1.0 is complete. We've shipped the Singularity Research Development Kit (RDK) to a small number of universities for their research efforts." I wonder if I can get my hands on that RDK?
  • Jeff Atwood is starting to show ads on Coding Horror, but he's donating "a significant percentage" of the ad revenue back into the programming community. He's starting with $5,000 and Microsoft is matching for a total of $10,000 to be donated to open source .NET projects. Go tell Jeff which projects you think he should donate to. Castle seems to be an early favorite.
  • On Monday, Nick Malik posted what he called the Simple Lifecycle Agility Maturity Model (aka SLAMM) as a way of measuring your "agile factor". Surprisingly, the community response has been zilch. After Nick's comments on Agile last week, I figured someone would have something to say about it, even if only to slam it. (Slam SLAMM, ha ha.) Maybe nobody opened the spreadsheet and saw Mort has an agile factor rating of 71%? Personally, SLAMM seems like a rather coarse tool for measuring how agile you are, but coarse tools are better than no tools at all.
Posted By Harry Pierson at 9:56 AM Pacific Daylight Time

Monday, June 25, 2007

Morning Coffee 94

  • By most accounts, the Capitals had a good draft this weekend. They started the day with ten picks across the seven rounds. The ended the day with ten prospects as well as three extra picks next year, including two second rounders. According to the GM George McPhee (aka GMGM), next year's is "supposed to be a terrific draft" which is probably true but what you always say when you trade down for future picks. On the other hand, if the guys you want are available further down, why not stock up on the future picks?
  • John Lam reports on Steve Yegge's Rails port to JavaScript that he saw at Foo Camp. Google (aka Steve's employer) wasn't interested in adopting Ruby or Rails since they already use C++, Java, JavaScript and Python. So Steve ported Rails to JavaScript. Wow. However, it does beg the question which is more valuable, Ruby or Rails? If you could have just one or the other, which would you choose?
  • Speaking of dynamic languages, Powershell Community Extensions v1.1 is out. I want to check out the new Elevate function. Currently, I'm using the Script Elevation PowerToys, but I would rather have a pure PS solution. (via Powershell Team Blog)
  • I always know it's a slow day when I decide to check TechMeme while writing my Morning Coffee post. Usually, I get plenty to write about from just my news reading. However, right now, even TechMeme seems mostly uninteresting. Only thing remotely interesting to me is Samsung's new 64GB solid state drive.
Posted By Harry Pierson at 9:57 AM Pacific Daylight Time

Friday, June 22, 2007

Morning Coffee 93

  • newcapsjersey The Washington Capitals unveil their new jersey tonight, though they have a picture on their web site. I've got mixed feelings, though I'm trying to reserve judgement until I see it "in action". I like that they're back to the traditional Caps colors. But the Caps have jersey change fatigue. They only had the screaming eagle jersey for twelve years, and they swapped out the blue jersey for the black one (that started life as a third jersey) somewhere along the line.
  • Lawrence Lessig hangs up his IP spurs to go after the deep corruption of the political process. He points out that after a decade focusing on IP, he's learned all he is going to about these issues so he decided (among other reasons) that it was time to start fresh learning about something new. I keep telling my kids that "always keep learning" is one of the secrets to life. This move by Lessig is the embodiment of that principle. Good for him. (via John Lam)
  • My old team keep chugging along. They've recently added "special coverage" sections on Agile Development and Enterprise Architecture.
  • Miguel de Icaza details the three week "hackathon" (his words, not mine) they went thru to get a working version of Silverlight on Mono - aka Moonlight - in time for ReMix 07 in Paris. It's an impressive engineering achievement, to say the least. Also, it's nice to see the folks from Microsoft France invite Miguel to come be a part of their keynote. (via Larry O'Brien)
  • Rob Bazinet points out VisualSVN in response to my question about SVN clients other than Tortoise. Like AnkhSVN, VisualSVN snaps into Visual Studio. However, where AnkhSVN is a native SVN implementation, VisualSVN depends on Tortoise. Scott Bellware wrote "VisualSVN takes a novel approach to bringing SVN into the Visual Studio IDE... it brings Tortoise into the IDE!". So it still sounds like Tortoise is the SVN client everyone cares about.
  • Scott Berkun details a variety of immature development and management methodologies, including Development By Denial (DBD), Cover Your Ass Engineering (CYAE) and my personal favorite Asshole Driven development (ADD). Scott Hanselman suggests looking around and making sure you're not said asshole. I tend to be somewhat...how should I say it?...strong willed about the direction projects I work on should take. My current project is about driving a paradigm shift to service orientation, and I don't think you can't drive that kind of change without being somewhat strong willed. It's a thin line between strong willed and asshole and hopefully I come down on the right side of that line more often than not.
Posted By Harry Pierson at 9:50 AM Pacific Daylight Time

Wednesday, June 20, 2007

Morning Coffee 92

  • Brad Wilson blogs about SvnBridge, a tool that lets you use Subversion clients like TortoiseSVN to talk to Team Foundation Server. While I think that's cool, I wonder is anyone interested in subversion clients other than TortoiseSVN? For example, will people choose AnkhSVN instead of the Team Explorer Client?
  • Speaking of TortoiseSVN, I wonder if those guys are interested in building a TortoiseTFS project? I did find two other TFS shell extensions projects: Dubbelbock TFS and Turtle, though neither appears as full featured as Tortoise.
  • Scott Guthrie details VS08's multi-targeting support. Of course, the three versions of the .NET Framework VS08 can target all use the same underlying runtime, which probably made it easier to build.
  • Michael Platt refactors Don Box's original tenets of service orientation so he can include some information about how these services get built.
  • Scott Hanselman tackles the tricky question of assembly granularity.
  • PowerShell Analyzer is now available for purchase. Among other things your $59 gets you, besides a 50% savings, is "Feature request priority". That's pretty cool. I wonder how many other micro-ISV's take the approach of "pay me now and you get to help me pick some of the new features."
  • My Monitor SetupBrandon LeBlanc writes about dual monitor support in Vista. I'm loving the dual monitor support, though I have a somewhat strange setup. I keep my primary monitor rotated in portrait mode, which is great for reading and writing. I typically use my second monitor for blogs and mail. I even wrote a custom multi-mon wallpaper utility so I could easily generate new wallpapers for my non-standard monitor layout, including bitmap rotate support. If there's interest, I can post it. (via Sam Gentile)
  • Nick Malik continues to write about Mort, with the usual response from the usual folks. I liked his point that "You cannot fight economics with education", but otherwise I'm staying out of this discussion.
  • In the same vein, Martin Fowler writes about Technical Debt. I completely agree with his hypothesis that short changing design may save time in the short term but will cost much more in the long term. However, the problem is that the people who are making the tradeoff - i.e. the people paying for the project NOT the people building the project - either don't understand the tradeoff or are more than happy to sacrifice the long term cost for the short term gain. How are most projects measured? Being on time and on budget with the planned set of features. Very few projects - and none that I've ever seen - are goaled on long term maintainability. Until you can change that, this issue will continue to linger.
Posted By Harry Pierson at 12:03 PM Pacific Daylight Time

Monday, June 18, 2007

Morning Coffee 91

  • My wife loves me. I'm a very lucky man.
  • I'm starting to really dig Safari Books Online. Having a tablet really helps here, I can sit in bed and read and it's ALMOST like reading a real book. Is there an offline experience? Something like the NYTimes WPF Reader app would be killer.
  • I'm not a Twitter guy, but I like the idea of using it to publish CI results. Not quite as cool as using the Ambient Orb, but close. (via DotNetKicks)
  • Soma details the dogfood usage of TFS in Developer Division. Sorta interesting if you're into knowing that stuff. Brian Harry apparently has much more.
  • I realize that linking to Pat Helland every time he writes something is fairly redundant. If you want his feed, you know where to find it. But he writes great stuff! The latest is Accountants Don't Use Erasers, which talks about append-only computing. His point that the database is a cache of the transaction log is mind blowing, yet makes total sense.
  • Bruce Payette blogs a PS DSL for creating XML documents.
  • Jesus Rodriguez details WCF's new Durable Service support in .NET 3.5. I get the need for the [DurableServiceBehavior] attribute, but do I really have to adorn each of the service methods with [DurableOperationBehavior] too? That seems redundant. Also, I wonder how this looks at the channel layer?
  • Speaking of WCF's channel layer, I recently picked up a copy of Inside Windows Communication Foundation by Justin Smith. This is the first book I've found that has more coverage of the channel layer than the service layer, so I like it.
  • Dare writes about Web3S, Windows Live's general purpose REST protocol. Apparently, WL started with Atom Publishing Protocol, but found that it didn't meet their needs around hierarchy and granular updates. David Ing says it's "not that similar" to my concept of REST, but I going to read the spec before I comment.
  • Scott Hanselman writes about how he learned to program and some thoughts about teaching his son. Patrick has recently started expressing interest in programming (he want's to do what Daddy does). At four, I'm thinking I'll start him on Scratch (though ToonTalk looks interesting). As he gets older, I was thinking about Squeak, though I'm a smalltalk noob. I really like Scott's idea of creating a connection to the physical world via something like Mindstorms. Patrick loves Lego almost as much as his dad, so that would be cool.
Posted By Harry Pierson at 11:03 AM Pacific Daylight Time

Thursday, June 14, 2007

Morning Coffee 90 - REST Response Roundup

Last week, I asked a REST Question: is it still REST if you don't use HTTP? My interest in durable messaging is well documented, so I want is to see a RESTful approach combined with a durable messaging. We all know my durable messaging tool of choice, though I'd trade SSB in a second for something that provided durable duplex messaging in a standard way.

Anyway, there were some fairly interesting responses that I wanted to highlight.

Probably most interesting to the discussion at hand was John Heintz' comment pointing out the existence of "Waka",  a new transfer protocol to replace HTTP from Roy Fielding. The fact that Dr. REST is working on a new protocol that's designed to be more RESTful than HTTP should put to bed any REST "is and only is" HTTP arguments.

Erik Johnson agrees that you can separate REST and HTTP, but he thinks I ought to call it something else. He suggests "resource-oriented" - have we created a new TLA here? Are you down with ROA, ROAD, ROD, ROP and all the other acronyms we could spawn?

Nick Malik breaks out the IFaP acronym - Identifier, Format, Protocol - and points out "Each of the successful Internet standards, from HTTP to SMTP, has an IFaP at the heart of it." But does anyone think SMTP is RESTful? I don't. I think standardization of IFaP's is on par in importance with RESTfulness, but they're orthogonal. That is to say I think Nick's wrong - I'm guessing we'll go a few rounds on this when he gets back from Nashville - or should I say, if he gets back? :)

Arnon Rotem-Gal-Oz has been wondering about REST without HTTP the same way I have, but he doesn't really go into detail as to why. I want durable messaging, Arnon mentions something about topic hierarchies. Couldn't you do that with HTTP, Arnon? He also points out a new DDJ article on REST. It's good, if high-level overview-y.

Pat Helland writes that Every Noun Can be Verbed. It's more related to CRUD is CRAP than REST == HTTP, but it's well worth the read. His point about using filling out a form being CRUD, but then handing the form over to someone else being an invocation of behavior is fairly eye-opening. As long as you "interpret the durn' things with the correct semantics", it doesn't really matter if they're nouns or verbs.

Last but not least, Ted Neward and Adrian Trenaman discuss SOAP vs. POX over on The Server Side. They focus too much on SOAP encoding (isn't that dead yet?), but near the end Ted points out: "Problem is, REST assumes that you want to carry all of the state in the payload itself, and for a modern enterprise system, or, hell, even for a game, that’s not always a safe assumption." Doesn't address my questions about using REST without HTTP, but a very good point nonetheless.

Posted By Harry Pierson at 9:38 AM Pacific Daylight Time

Wednesday, June 13, 2007

Morning Coffee 89

  • akira Akira in HD from XBL Video Marketplace? Coolness.
  • Omar Shahine has the WL Hotmail + Outlook scoop. Download it here. I've used this product off and on over the past few years. Typically, I would use it, love it, but then never get around to reinstalling it after a repave since it was subscription-only product. 
  • Microsoft releases eScrum project management tool. I've seen this internally but haven't used it yet. However, I have no doubt that the cool kids will deem it "not hot" in favor of Mingle. (via Larkware)
  • Ted Neward writes at length about relational databases, object databases and OR mapping. Ted may be Switzerland when it comes to platform, but he has no problem taking sides and mixing it up when it comes to data & object persistence. He makes some interesting points that mostly boil down to "different tools for different jobs". Also, has the dual schema problem entered the general vernacular, or just Ted's?
  • Nick Malik survives his trip to Nashville and has some thoughts on Ruby, Microsoft and alpha geeks. His point about the alpha geek track record (he sites Powerbuilder, Delphi and EJB) is spot on. This is something I've been thinking about since ETech last year. How good are alpha geeks at trendspotting? For every technology they adopt that makes the mainstream, how many don't? I'm guessing quite a few more than the three Nick mentions.
  • Speaking of alpha geeks, this whole ALT.NET silliness reminds me of the famous Groucho Marx quote: "I don't want to belong to any club that will accept me as a member." Though maybe I'm just bitter because "Working at MS" has been deemed "not hot". :)
Posted By Harry Pierson at 9:57 AM Pacific Daylight Time

Tuesday, June 12, 2007

Morning Coffee 88

I've got over 500 unread news posts and 200 emails in my inbox to process. So this is nowhere near comprehensive.

  • Clarius released the June 07 CTP of their Software Factory Toolkit. Big new feature in this drop is T4 Text Template editor that has syntax highlighting and eventually intellisense. They also released the May 07 CTP of VSSDK Assist, previously known as VSIP Factory. Haven't played with either yet, but it seems like a good time to be a tool builder.
  • PowerShell hits a million downloads in six months. No surprise there, IT'S FRAKING AWESOME. Jeff Snover details seven MSFT products using PS, promising many more that he can't talk about. See earlier comment about being fraking awesome.
  • Speaking of PS, I don't "get" Server Core because it doesn't support managed code. So no PS for Server Core. They announced @ TechEd that Server Core will support IIS 7, but since there's no CLR you can't run ASP.NET. As far as I'm concerned, no PS and no ASP.NET is below the minimum threshold of usefulness. I realize it's technical limitation related to the current factoring of the .NET Framework and I assume some team somewhere in Redmond is working on fixing it. But what's the point of releasing Server Core in the meantime?
  • QUT releases version 0.8 of their Ruby.NET compiler. Given that the IronRuby guys bootstrapped by licensing the Ruby.NET compiler, I wonder how these two projects will evolve side by side.
  • Speaking of Ruby, JRuby has gone 1.0. Congrats!
  • At TechEd, I saw my friend Steve Jones from Capgemini, and it's not this Steve Jones. Woops. But CRUD is still CRAP.
  • Pat Helland breaks Scott Hanselman's Rule #2 and details how he "lost a Megan".
  • My ex-teammate David Hill has been busy with Acropolis. If you are even the slightest bit interested in this technology, you should be reading his blog.
  • Microsoft acquired a company called Stratature last week. I don't typically track MSFT acquisition news + it was lost in the noise of TechEd. But Roger Wolter thinks it's a great move and that Stratature's Master Data Management hub product is one of the best. Given the importance of MDM in SOA, I think I need to go learn more about this product.
Posted By Harry Pierson at 8:58 AM Pacific Daylight Time

Thursday, June 07, 2007

Morning Doughnuts 10

  • I am a big fan of PowerShell, and I know Harry likes it as well. Of course I have aliased many of the commands so they appear more Unix like. I mention this because David Aiken mentions a new product for PowerShell called NetCmdlets produced by N Software. I downloaded a trial and have been impressed so far. If you use PowerShell it might be worth giving this a look.
  • The New Yorker has an interesting article about feature choices in technology. Basically it comes down to customers choose products with more features and customization options if given the choice, but when they actually have to use the products they prefer simplicity. I think that is something lost on those of us who design things. Giving users every possible option can make our products seem more difficult to use over simpler less feature rich choices. (via Coding Horror)
  • Well it took longer than some may have guessed, but Microsoft has been sued over the name Vista by a French TV company. Apparently they were going to launch a television station with the same name. I wonder what the courts will decide since apparently the TV company didn't register the name in the software category.
Posted By Dale Churchward at 9:46 AM Pacific Daylight Time

Tuesday, June 05, 2007

Afternoon Doughnuts 8

Due to a temporary reassignment this morning, I spent my usual blogging time moving all of my computer equipment from one cube to another.

  • Sam Gentile writes about the ALT.NET moniker. My favorite of his principles is number 4 where he discusses the importance of tools versus principles and knowledge. I really agree that knowledge and principles are more important because the best tools in the world can't help us if we don't know how and when to use them.
  • I find Mark Cuban's ideas (here and here) about how advertising on the Internet is different than traditional media advertising. He points out that the ability of a provider to deliver higher simultaneous views is more important and valuable than delivering views for a longer period of time. I think he right on here, even if I believe his football league is going to fail. (via Blog Maverick)
  • Worse Than Failure has been running an unusual contest to get the most interesting, buggy, and unusual way of writing a calculator application. They have 12 finalists for readers to review. I find that the descriptions of how the programs work (or don't) to be hilarious.
  • As I have been working on service-oriented management and monitoring I have given a lot of thought to the best way to present the data. Doesn't it make the most sense to primarily display information from the business process point of view? I would be interested in your feedback.
Posted By Dale Churchward at 2:05 PM Pacific Daylight Time

Monday, June 04, 2007

Morning Doughnuts 7

Once again I get the chance to fill in for Harry while he is gone. I will attempt to keep up with the high standard he has set.

  • Be careful with trampolines. I have a four year old that was bouncing on a trampoline this weekend. He twisted his knee slightly on landing, and decided that the fastest way to get comfort was to jump off the edge. His knee gave out and he fractured his tibia. I don't think this was how he planned to start his summer. At least he is pretty calm about the whole thing.
  • It looks like there is a good product out there named CliSecure to obfuscate .net code. From what I was able to read it looks like a pretty decent product, even hiding the code while its in memory. (via Larkware)
  • TechEd started this morning. While I am sure Harry will be giving some on-site reports there is a link to the virtual site here.
  • There is a great video showing Gregor Hohpe talking about SOA, and the many unrealistic claims in the industry. If you have read any of Hohpe's work it is clear that he has a great understanding of the topic. (via Nick Malik)
  • The NBA Finals will begin this week with the Spurs playing the Cavaliers and King LeBron. I wonder if this will help rescue the NBA from what seems to be a real apathy on the part of the average fan. Other than the series between Dallas and Golden State earlier in the play-offs it really seems there haven't been any compelling stories. The NBA really needs a shot in the arm to become relevant again.
Posted By Dale Churchward at 10:18 AM Pacific Daylight Time

Friday, June 01, 2007

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.
Posted By Harry Pierson at 11:30 AM Pacific Daylight Time

Thursday, May 31, 2007

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 into racc, 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.
Posted By Harry Pierson at 11:15 AM Pacific Daylight Time

Wednesday, May 30, 2007

Morning Coffee 85

  • Microsoft announces Surface Computing. When can you buy one for your house? Probably not anytime soon. TechMeme has lots more.
  • The one piece of swag I want more than anything else at TechEd is an Evil Mastermind shirt.
  • Nick Allen notes that WSDL 2.0 has reached "proposed recommendation" stage. I guess having a "recommended" version of WSDL is an improvement over the "note" version. But other than having a RESTful HTTP binding in addition to the SOAP binding - and being longer - what's new?
  • Speaking of description languages, Don Box writes about the Web Application Description Language which looks very REST-y in that it supports specifying both the URI as well as the payload format. Like Don, I agree with Erik Johnson who commented that "people attracted to REST (in whatever form) are rebelling against interface-based programming more than WS-* itself". I have a longer post on this coming, but suffice to say I'm really souring on interface-based programming.
  • Nick Malik writes that WCF is immature because of it's "lack of a routable, intermediable, declared message durability option". Yeah, that's a huge problem in my book too. It also relates to the last bullet - since durable messaging is inherently async, it doesn't fit well into the interface-based programming model.
Posted By Harry Pierson at 11:32 AM Pacific Daylight Time

Tuesday, May 29, 2007

Morning Coffee 84

There appear to be several posts from several blogs that have spawned from my discussion about REST with David. I'll catch up on them and respond here in the next day or so. In the meantime...

  • Saw PotC: At World's End over the weekend, due to a fluke last minute babysitter availability. It's gotten mediocre reviews, but I liked it. Not as much as the first two, but certainly better than Spiderman 3. June looks fairly bleak @ the box office. We'll probably take the kids to see Surf's Up And Ratatouille. (Remember back when there was only one kids movie per summer?) Evan Almighty might be funny and I remember reading 1408, but I think they're both rentals. The only thing I'm otherwise remotely interested in is Sunshine.
  • Speaking of storytelling, Lost and Heroes wrapped their seasons last week. While early on, it looked like Heroes was going to be the new Lost, Lost's season finally was awesome. If you don't watch Lost, you're really missing out on the best show on TV right now. You have eight months to catch up before season four. Heroes may not be lost, but they're keeping the interest up with their online comic book plus while Lost scales back to 16 episodes for each of three more seasons, Heroes is bulking up, adding six "Heroes: Origins" and bringing the total to 30 for next season.
  • Larry O'Brien fantasizes about his dream PDC. Aren't there lots of conferences about learning how to "create great applications" on and for the Microsoft/Windows Platform? What about TechEd? (which is where I'll be next week)
  • Sam Gentle continues to dig into WF, examining the various ways you can extend the WF runtime by replacing the persistence, loader and scheduler services. He's also taking my advice to scrap ExternalDataService and work directly with the WorkflowQueuingService.
  • Steve Jones compares SOA to trains and I don't get it. I mean, his advice on the value of batch processes makes sense, but his train/car analogy seems a bit strained, esp. when he calls the railway system "event based". Can't a car be "event based" too? There's just a much smaller number of people who care about a given car's events...
  • Ted Neward debated OR/M with Ayende on .NET Rocks. Based on Ted's post, the show must have been a doozy. Sounds like Ted took some controversial positions, including advocating OO databases. Of course, "shies away from controversy" isn't how I would describe Ted.
Posted By Harry Pierson at 11:42 AM Pacific Daylight Time

Friday, May 25, 2007

Morning Coffee 83

Posted By Harry Pierson at 11:11 AM Pacific Daylight Time

Wednesday, May 23, 2007

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)
Posted By Harry Pierson at 11:01 AM Pacific Daylight Time

Tuesday, May 22, 2007

Early Afternoon Coffee 81

These morning meetings are really cramping the "morning" style of these posts. But better late than never, I guess.

  • Politics 2.0 Watch: Democrats pwn Republicans online. (via Balloon Juice)
  • Roger Wolter writes about integrating SSB with WF, something I've experimented with myself. I didn't find the integration quite as natural as Roger did - transactions are a real PITA, and Roger apparently he hasn't looked into that yet - but I agree 100% with the idea that "most SSB programs end up looking a lot like a workflow." Looking forward to seeing your code, Roger.
  • Pat explains his Newton vs. Einstein view of distributed systems and then rants about Consistency, Availability and Partition-tolerance. In particular, he discusses the evolution of what consistency (and to less extent availability) means in the face of loose coupling. Do yourself a favor and give up on distributed transactions now. Also, Pat points to another paper from CIDR dealing with isolation in services. Haven't read it yet, but I've added it to "the pile".  
  • David Chappell writes about Service Component Architecture vs. Service Oriented Architecture. Since I don't "do" evangelism anymore, I don't spend much time watching what our competitors are doing. According to the SCA website, SCA is supposedly a "a model for building applications and systems using a Service-Oriented Architecture." But according to David, SCA 1.0 focuses on "portability, not interoperability, and so they don’t fully define the interactions between components necessary to create composites that cross vendor boundaries." I realize that we don't industry agreement on all the details of what SOA means, but I think we all agree that it's cross platform and cross vendor. Or maybe we can't even agree on that much.
Posted By Harry Pierson at 12:37 PM Pacific Daylight Time

Monday, May 21, 2007

Birthday Coffee 80

  • Saw Shrek the Third over the weekend with the kids. It's gotten mixed reviews, but I liked it even though it wasn't as good as the first two. Is it just me, or has sequel-itis reached an all time high? This month alone we've had Spiderman 328 Weeks Later, Shrek the Third and the new Pirates movie opens this week.
  • Hot on the heels of his post on anonymous types, Scott Guthrie starts to explain LINQ to SQL, which is where all these C#3/VB9 features have been headed. Lots of digital ink have been spilled on this topic since we announced LINQ @ PDC 05, so I'll just point out that I think this is the first OR/M solution that really works well across the board.
  • David Ing sucks the fun out of PopFly by suggesting it might be a "nice data aggregation / reformatting service for technically-challenged managers [and] their business data". Sounds like the next step of enterprise mashups.
  • Speaking of PopFly, Larry O'Brein thinks PopFly is helping restore " the bridge between power users and programmers". From the PopFly FAQ: "We’re going back to our roots in 1975 when Microsoft originally launched BASIC for the Altair 8080. Tools like BASIC and Visual Basic 1.0 democratized development by enabling users to easily build applications on DOS and Windows. We believe we can make Popfly a great tool for building and sharing applications on the Web."
  • Scott Hanselman wonders if Microsoft is losing the Alpha Geeks. In a related vein, I wonder if MS should be learning more aggressively from the community. MS has been the source of many developer innovations, but certainly not all. For ideas pioneered elsewhere, we tend to eventually get it, but I think we could be better about it.
  • Apparently, I'm just a little younger than video games. Pong was born May of 1967, only three years to the month before me. (via Ozymandias)
Posted By Harry Pierson at 1:07 PM Pacific Daylight Time

Friday, May 18, 2007

Morning Coffee 79

  • Soma announces PopFly, the "fun, easy way to build and share mashups, gadgets, Web pages, and applications" from the Non-Professional tools team. The PopFly team blog has some videos. Sounds vaguely like Yahoo! Pipes, but cooler. While most of the focus is on their browser-based mashup creator, they also have VS support for the non-non-professionals among us.
  • Eric Nelson suggests that the new Dynamics CRM systems is actually a LOB application platform in it's own right. More details in Ben Riga's MIX session. (via Gianpaolo)
  • Sam Gentile is worried that C# is becoming to complex, especially when you also consider how fast the platform is moving underneath. When you get your head out of the debugger for a second and look at the Big Picture, it certainly seems overwhelming. Is it just a question of getting used to it? The first time I fired up the VS.net 2002 alpha and looked at all the classes in the BCL, I had the same overwhelmed feeling, but eventually I got over it. Or have things just gotten too big and move to fast now? If so, it's time for some new layers of abstraction...
  • Udi Dahan writes about building testable services. Testability has to be a core consideration when building anything, but especially a reusable framework. I've had similar thoughts about language design. How do you unit test a DSL?
  • Roberto Medrano of SOA Software thinks "maybe 20 percent of IT folks understand SOA and half of the rest think they do". Personally, I think most IT folks don't agree on what SOA is or should be. Furthermore, we don't even have a common lexicon to discuss it, so we end up talking past each other and arguing about topics we agree on. I think Roberto is really saying is "most people are wrong because they don't agree with what I think SOA is". (via Jack van Hoof)
  • Jeffrey Snover talks about the virtuous cycle of .NET language support. His point is that time spent learning .NET pays off as you transition between system programming (C#, VB.NET), shell programming (PowerShell) and script programming (IronPython, DLR). I'm not sure I would break them down that way, but his point spot on.
  • Clemens Vasters experiments with the new BizTalk Services with a sample called TweetieBot. I agree 100% with his point about the assumption of centralization will be challenged by the federation of personal services.
Posted By Harry Pierson at 12:03 PM Pacific Daylight Time

Wednesday, May 16, 2007

Morning Coffee 78

  • Ian Griffiths posts a much longer version of "Even though the runtime supports multiple languages, most programmers are only fluent in one." (via Larkware)
  • I wrote yesterday that Pat Helland's first post back was light on the tech talk. Luckily (for us) he takes the bus to work so he has plenty of time to write blog entries. Today's post is his "personal opinion about how computers suck". Money Quote: "We try too hard as an industry.  Frequently, we build big and expensive datacenters and deploy big and expensive computers. In many cases, comparable behavior can be achieved with a lot of crappy machines which cost less than the big expensive one."
  • Steve Jones wrote that CRUD is CRAP. I agree 100%, but for additional reasons. Not only is it boooooring to write, it also delegates control outside of the service which I think is a mistake. Check out this post from Maarten Mullender who advised to do CRUD only when you can afford it.
  • MIT Media Lab has created Scratch "a new programming language that makes it easy to create your own interactive stories, animations, games, music, and art -- and share your creations on the web" targeted at kids 8 and up. It's a dynamic visual programming language that looks like Lego. Between Scratch, Boku and Phrogram I think my kids will have lots of fun learning to program like daddy does. (via GeekDad)
  • Halo 3 is coming September 25th! I foresee lots of people calling in sick that day. And the next. And the rest of the week, etc. etc. etc.
Posted By Harry Pierson at 12:01 PM Pacific Daylight Time

Thursday, May 10, 2007

Morning Coffee 76

  • Dare Obasanjo sez Cool URIs Don't Change. He's got other versioning advice, but that's the main takeaway. Good advice that dovetails nicely with "It's the URI, Stupid".
  • I usually agree with Jack van Hoof's stuff, but I don't agree with his thoughts on loosely coupled transaction processing. It's much better than suggesting the use of 2PC system like WS-AT, but when he writes that "by design every action has a compensating action to undo the original action" I am reminded of Pat's old post Why I hate the phrase "Long Running Transactions". Personally, I'm a fan of using the Tentative Operation or Reservation pattern, described by John Evdemon. Note the lack of a transaction coordinator in that pattern.
  • Speaking of service anti-patterns, I wonder how we rationalize the following two statements, both from Microsoft, in documents published by my old team:
    • "CRUD operations are the wrong level of factoring for a Web service. CRUD operations may be implemented within or across services, but should not be exposed to consumers in such a fashion. This is an example of a service that allowed internal (private) capabilities to bleed into the service's public interface." John EvdemonPrinciples of Service Design: Service Patterns and Anti-Patterns, Readings in Service Orientation
    • "It is very common for Entity Services to support a create, read, update and delete (CRUD) interface at the entity level, and add additional domain-speciic operations needed to address the problem-domain and support the application’s features and use cases." Shy Cohen, Ontology and Taxonomy of Services in a Service-Oriented Architecture, Journal 11
  • Ian Thomas wonders Does ERP suck? In a word: Yes! :) Seriously, I'm a strong believer in what Ian alternatively calls "unbundling" and "disaggregation" of monolithic enterprise systems - ERP is the most glaring example of such systems.
  • Jamie Cansdale is figuring out how to host Silverlight's CLR outside of the browser. He's already got a console runner up and running. He's working of adding "Test With Silverlight" option to TestDriven.NET. You go Jamie.
Posted By Harry Pierson at 10:30 AM Pacific Daylight Time

Tuesday, May 08, 2007

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.
Posted By Harry Pierson at 10:16 AM Pacific Daylight Time

Monday, May 07, 2007

Morning Coffee 74

Light on the geek factor this morning:

  • My daughter Rileyanne turned two Saturday so we had a little pool party. One of the major selling points when we bought the house was the double sized hot tub in the back deck. So even though it was only in the mid 60s, we could still get in and swim.
  • Saw Spiderman 3 yesterday. I liked the first two very much, but this one is iffy at best. The problem with these blockbuster movie series is the perceived need to be "bigger" than the previous installments. So we get more effects, more action, more villains. But that usually means less drama and less story. Spiderman 3 is no exception. Here's hoping that Christopher Nolan's Batman series doesn't suffer the same fate.
  • Lost announces an end date. There will be three more shortened seasons for a grand total of 48 episodes (plus the three remaining this season). While I love Lost, I'm glad they're going this route.
  • Politics 2.0 Watch: according to their blog, QubeTV.tv is "the conservatives’ answer to YouTube". Two thoughts on this: First, Having a site of conservative videos for conservatives seems like preaching to the choir. Second, to quote Andrew Sullivan: "It's not a good sign when a movement cannot engage the mainstream."
  • John Shewchuk as more details of the BizTalk.net connectivity service. Hybrid mode and Direct connect are nice optimizations, but don't change the messaging semantics at all. But pub/sub eventing does, so I'm primarily interested in that capability.
Posted By Harry Pierson at 10:30 AM Pacific Daylight Time

Friday, May 04, 2007

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...
Posted By Harry Pierson at 12:19 PM Pacific Daylight Time

Tuesday, May 01, 2007

Parent's Visit Coffee

Obviously, there's some fairly big news coming out of Las Vegas this week. I'll get to that either later today or tomorrow. In the meantime, here's what I did with my parents this past weekend.

  • My parents arrived Thursday at the same time Patrick has to be dropped off for school. My office is fairly close to his school, so Julie dropped him off with me on her way to the airport. He and I ate lunch together and then I took him to school. Always fun to spend extra time with the kids.
  • Friday was Take Your Dad to Work day - at least it was for me. We had a team lunch out and he sat in on a couple of meetings. He's spent quite a bit of time on IPv6 recently, so infrastructure discussions like my group's are right up his alley. According to one of my team's PMs, my meeting behavior is "much better" when he's around.
  • Saturday, we went to the Museum of Flight. I don't know who was more excited, my son or my father. Dad's favorite plane is the Blackbird, so he really enjoyed sitting in the SR-71 cockpit. It was raining the last time we went to the museum, so this was the first time I had seen Air Force One and the Concorde.
  • Sunday, we watched the Mariners beat the Royals. It's been three long years in the basement for M's fans, but they have been slowly getting better year over year. Not sure they can make the playoffs this year, but maybe they can at least finish over .500.
  • Yesterday, we went to the Woodland Park Zoo. My parents are members of FONZ and my kids love the Zoo. We had fun, though after three and a half days of "go go go" with my parents the kids were a bit worn down. The gorillas were very active, banging on the glass and running away - sort of the gorilla version of ding dong ditch. Another highlight was getting to see the tiger cub.
  • My parents flew home last night on the red eye, and everyone is very sad to see them go. It had been about eight months since we had seen them. Here's hoping it won't be that long before the next visit.
Posted By Harry Pierson at 9:35 AM Pacific Daylight Time

Thursday, April 26, 2007

Morning Coffee 71

  • It's been almost four months since I started these morning coffee posts. I like the regularity - there's been 84 weekdays so far this year, so 84 - (71 + 6 days missed from vacation) = only seven missed morning coffees. On the other hand, I think my daily blogging fix is keeping me from digging deeper into some issues. So I'm going to start cutting back to only three morning coffee posts per week, with the hope of three deeper technical posts and one wildcard post per week.
  • Speaking of cutting back, my parents are in town this weekend so I doubt I'll get a post out tomorrow or Monday. Have a good weekend anyway.
  • Windows Server "Longhorn" Beta 3 is out. Now is time to start getting serious with it.
  • Joe McKendrick is reporting that Gartner has given the green light to spending more on SOA. Maybe it's because I work for a technology savvy company, but I've never understood outsourcing critical business decisions about technology adoption to a consulting company.
  • It's a Joe McKendrick twofer: He also reports that IBM is calling for a new SOA directory / discovery / registry standard to replace UDDI. I totally get the need a "new UDDI", though I'd wager that my issues with UDDI are very different than Big Blue's.
  • Yesterday, I made a crack about how un-scalable the Internet would be if every cFonnection went thru a central hub. Two days ago, Clemens has a long post about the implications of an Internet Service Bus. First, I can't wait to see how that thing works. Second, it's fairly obvious that not all traffic will go thru this bus (since the bus ain't out yet and yet you're still reading this via the Internets), so maybe that answers my question about ESB's and centralization? That is to day, use the bus where you it's useful, otherwise don't bother?
Posted By Harry Pierson at 10:07 AM Pacific Daylight Time

Wednesday, April 25, 2007

Morning Coffee 70

  • Scott Hanselman details how the "unblock" feature in Windows works. Basically, when you download a file with IE, it adds an alternate data stream that specifies the zone the file came from (Internet, Intranet, Trusted, etc.). Even more details on Bart de Smet's blog.
  • Nick Carr gets off on a rant on Wikipedia, Citizedium and "the truth" that's pretty funny.
  • Remus Rusanu shows how to to reuse SSB conversations in a data syndication scenario. A while back, he wrote about a lightweight pub/sub SSB implementation - barely 200 lines of T-SQL code - that would also be very useful in data syndication scenarios. I've got data syndication on the brain right now, so this stuff is very timely.
Posted By Harry Pierson at 11:26 AM Pacific Daylight Time

Tuesday, April 24, 2007

Morning Coffee 69

  • John Shewchuk introduces the new BizTalk Services. Well, "new" is a bit of a misnomer: STS and Relay (now called Identity and Connectivity) were previously available under the Live Labs umbrella and the other new services they announced aren't available yet. Bt these new services they announced are compelling: ServiceBus is an pub/sub event delivery mechanism that scales to the internet and Workflow is a WF hosting solution. I'm looking forward to experimenting with these new services (when they become available).
  • Nick Malik continues his series of posts on governance. Money quote: "Tools manage, People govern". I feel a little bad because I punted on the governance presentation that's he's preping, so maybe I'll get that on a bumper sticker for him or something.
  • Chris Anderson has a few voice-over lines in Halo 3. While that's cool for him, he mentions a new feature I was unaware of: "the one thing that completely blew me away (aside from the graphics, animation, level design and new vehicles and weapons) was the ability to record a game and play it back on Xbox Live, freezing the action at any point and flying around the scene, Matrix style. It may sound just like a standard replay function, but take my word for it, it's not. I think it's revolutionary, and I predict that Halo 3 will take machinima to a whole new level." Cool!
  • According to the XNA Team Blog, the new XNA GSE Refresh is now available. And as a thanks for our patience, they added four free months to all creator club members subscriptions. Thanks guys!
Posted By Harry Pierson at 10:48 AM Pacific Daylight Time

Monday, April 23, 2007

Morning Coffee 68

  • My wife and I celebrated our seven year anniversary over the weekend. She rocks. 'Nuff said.
  • Over the weekend, Gov.Gregoire signed a bill that protecting the rights of same-sex couples. It's not the same as full marriage rights (which long time readers know I fully support) but it's a step in the right direction.
  • I picked up the Xbox 360 HD DVD player over the weekend. Rented Batman Begins and it looks awesome. However, it wasn't the stunning difference between standard and high def TV programming. I wonder if my five year old HDTV is showing it's age.
  • Scott Guthrie continues his LINQ series with a post on the new Query Syntax in C#3/VB9. While this is feature is great for those who are using LINQ to SQL, it does force pretty much all LINQ to whatever providers to support the from-where-orderby-select pattern. But not all query sources want to be limited to that model. For example, if you wanted to do a LINQ to Data Warehouse, wouldn't you want more flexibility in your query syntax?
  • I didn't realize Steve Jones had a blog. At least, I think this Steve Jones is the Steve Jones that I know. But I'm not sure. Either way, it looks good so I subscribed... (via Sam Gentile)
Posted By Harry Pierson at 10:25 AM Pacific Daylight Time

Friday, April 20, 2007

Morning Coffee 67

  • Beta 1 of VS "Orcas" and .NET Framework 3.5 has shipped. Get it here. Besides LINQ, I'm most looking forward to experimenting with some of the new WF/WCF integration work. However, I don't think this beta includes DBPro functionality. Not surprising, given that DBPro only shipped a few months ago, but disappointing since I've moved all my database dev work over to that model.
  • Korby Parnell introduces Claimspace, part of the Microsoft.Community family. While the other family members are retreads - blogs, forums and tagging - but this seems like something fundamentally new - or at least new to me - and therefore interesting. (via Larkware)
  • Scott Hanselman updates the new version of Notepad2 to re-enable Ruby support originally built by Wesner Moise. Ruby is nice, but where's the PowerShell love?
  • After his performance in front the Judiciary Committee, Attorney General Gonzales is grossly incompetent, lying or both. What does it say about President Bush that he was "pleased with the Attorney General’s testimony"? It says Bush values loyalty over competence, is hiding something or both. Given that his approval ratings can't get much worse, I guess standing by Gonzales even in the midst of bi-partisan calls for his resignation isn't going to affect Bush much politically. On the other hand, confirming a new AG with a Democratic congress and low 30% approval rating might be devastating, depending on the bodies buried over there.
Posted By Harry Pierson at 9:35 AM Pacific Daylight Time

Thursday, April 19, 2007

Morning Coffee 66

Yesterday's Morning Coffee was canceled on account of rain. In my living room. It's fixed now.

  • Andre Vrignaud writes about MS Research's new High Capacity Color Barcodes technology. As he points out, there's some fascinating gaming potential for these barcodes because they have such high capacity (something like 2kb per square inch) and can be read without special equipment (a camera phone should work).
  • According to a Pew Research Center report, Daily Show/Colbert Report viewers are significantly better informed than Fox News viewers. On the other hand, they're only slightly more informed than O'Reilly Factor viewers or Rush Limbaugh listeners so it seems like a wash.
  • Speaking of The Daily Show and The Colbert Report, you can now download them from Xbox LIVE Video Marketplace. But at $2 160 points an episode, it's cheaper to set my DVR.
  • I recently re-discovered Remus Rusanu's SSB blog. He went dark for a few months there, but he's recently posted a new version of his Service Listing Manager utility, presented SSB at DevConnections and showed how to implement a managed stored proc to receive SQL DDL event notifications. Event notifications is one of those features I didn't even realize was in SQL.
  • Dottie Shaw, one of the program managers on my project, has started blogging. That leaves two team mates and one project member still not blogging.
  • Yesterday, I stumbled into some other teams morale event. They were bogarting the cafeteria, so it wasn't like I was crashing it or anything. Normally, I wouldn't hang around some other teams party, but they had a projector, an Xbox 360 and two copies of Guitar Hero so I had to hang out and watch them play head-to-head for a while. That looks like a fun game.
  • Chris Anderson writes at length about the primary enemy of Long Tail economics: "the absurdly complicated and expensive process of rights clearance". His case in point is the coming DVD release of WKRP in Cincinnati, which has replaced the dozens of songs used as background music with "Muzak-style songs that could be licensed in perpetuity for a small flat fee" that apparently "sucked ass".
Posted By Harry Pierson at 10:42 AM Pacific Daylight Time

Tuesday, April 17, 2007

Morning Coffee 65

  • My brother is a VaTech alumni, so the shock of the deadly shootings there yesterday hits very close to home. My heavy heart is with the grieving Hokie nation today.
  • Jeff Atwood has a couple of great posts on Language vs. Platform. Earlier in my MSFT career, I spent a significant amount of time explaining .NET, often to companies that had made a significant investment in Java. Picking the Java platform is fine (it's almost the best platform around!), but it seemed many people I spoke to didn't understand the fact that "[w]hen you choose a language, like it or not, you've chosen a platform".
  • Ian Thomas riffs on my When is a Service Not a Service post. I like Ian's thinking about SaaS as an analogy for SOA adoption - if for no other reason that SaaS is easier to "get". But trying to realize SOA via SaaS inside the enterprise is a mistake in my opinion (and I think Ian would agree with that). SaaS is a business model, and I don't think you want to turn your enterprise into an internal service marketplace. Instead, this ties back with Nick Malik's points about central planning. Regardless if I'm right or wrong, I subscribed to Ian's blog (and not just because he linked to me - check out his Elements of the Future Business Ecosystem)
  • TLA Watch: Oracle coins Application Integration Architecture (aka AIA). Joe McKendrick calls it "Big SOA". Isn't this the market segment that BizTalk has been in for seven years?
Posted By Harry Pierson at 9:53 AM Pacific Daylight Time

Monday, April 16, 2007

Morning Coffee 64

  • I took my son to the Pacific Science Center this past weekend to see the Grossology exibit. His favorite was the barfing machine, but we also got to play Urine: The Videogame, stand inside a giant nose, work the burping machine, climb the scab wall and slide down the throat into the stomach and come out thru the colon. We also checked out the dinosaur exibit (Patrick's favorite part: petrified dino poop), Kids Works and the Peter and the Wolf laser show. It was awesome.
  • This week's Big Newstm is the rebranding of WPF/E as Silverlight. Tim Sneath has the rundown, including the news that more news about Silverlight is coming at MIX. Personally, I think Silverlight is a great name. I was worried it was going to be another W*F name. (I'm waiting for the day that MSFT marketing tries to rebrand Win32 as the Windows Technical Foundation).
  • Gianpaolo Carraro writes about what happens when a SaaS company bites the dust - i.e. "what happens to my data?" I expect that this is one of the aspects of SaaS that you have to weigh, though I doubt most companies will explicitly think about what happens if their SaaS provider goes belly up. As the SaaS market expands and more companies will go belly up (I agree w/ GP 100% that this isn't SaaS specific, rather a natural force of any market) how much will that drag on SaaS adoption? I'm thinking it'll be a fairly significant drag, but the SaaS market will eventually rebound.
  • Nick Malik picks up the decentralization meme is started last Friday and compares enterprise architecture to city zoning boards. In general, I agree with Nick's "not in a vacuum and not with a heavy hand" comment, but even more with his point that "we haven't figured all it out yet." Most EA efforts I've seen have been heavy handed and fairly divorced from reality (aka in a vacuum). More on this topic in the future.
  • Kirk Evans closes the loop on city planning with a reference to Pat Helland's Metropolis work. Pat's work has been a huge influence on me. I often repeat Pat's point about cities being "interconnected yet independent". Services need to be interconnected yet independent also.
  • Roger Wolter has a new Master Data Management whitepaper out, this one MDM hubs. I was literally talking about MDM on a conf call this morning, so Roger's timing is impeccable.
  • I haven't read RADAR Architecture yet, but the fact that DAR in the acronym stands for "Dumb-Ass Recipient" made me laugh. (via Sam Gentile)
  • MIT Media Lab has cointed the latest 2.0-ism: Human 2.0. I love Nick Carr's take on it: "We're definitely overdue for an upgrade - it seems like we've been stuck in Version 1.x for a few hundred thousand years, and that was after a beta that went on for freaking ever. Still, I think I'll probably hold off until 2.01 or 2.02. I don't want to be on the bleeding edge for this one."
Posted By Harry Pierson at 10:38 AM Pacific Daylight Time

Friday, April 13, 2007

Morning Coffee 63

  • My friend Christoph Schittko (who used to blog here, but hasn't written anything in almost two years) recently wrote on an internal email thread that he "wonder[s] how many more attempts for “enterprise wide” thingies we need for people to figure out that there’s too much complexity involved to coordinate anything enterprise wide." I couldn't agree more, though I think it's more than just complexity at work here. There are significant forces driving decentralization in society in general and IT in particular, and anything enterprise wide is by definition centralized.
  • I'm way behind on this, but Ray Ozzie did an fascinating interview with Knowledge@Wharton. I was especially interested in his separation of "big-I" and "small-i" innovation. Sounds like disruptive and sustaining innovation from The Innovator's Dilemma to me.
  • According to Mary Jo Foley, my ex-teammate Mike Walker is "da man" on Office Business Applications, or OBA's.
  • I think I have an old PocketPC hanging around in a drawer somewhere. Apparently, I can use it as a caller ID server instead of gathering dust. That's sorta freaky. (via Backstage @ MED)
  • Quote of the Day: "If you have a live show on a TV network, Its not good to have a brain fart during a slow news week." - Mark Cuban. Personally, I don't care one way or the other about Don Imus, but Mark's points about the conservatism of media corporations are spot on.
Posted By Harry Pierson at 11:15 AM Pacific Daylight Time

Thursday, April 12, 2007

Morning Coffee 62

It's a slow Thursday.

  • BPEL 2.0 has been approved as an OASIS standard. John Evdemon from my old team has the details. As I've written before, I think the spec is too heavily focused on executable process and not enough on abstract process. But I guess congrats are in order none the less.
  • Notepad2 v2 is out. Unfortunately, it still doesn't support user defined syntax schemes. I wonder if the switch from GPL to BSD license might encourage someone to add that support? (via Larkware)
Posted By Harry Pierson at 11:24 AM Pacific Daylight Time

Wednesday, April 11, 2007

Morning Coffee 61

  • Nick Malik wonders if architecture is code or if it's data? Frankly, I have nothing to add to this, but thought I should link to something Nick wrote since he's letting me share his office for the next few months while I'm engaged with one of the teams he mentions, though he begged me not to disclose which one. :)
  • Ted Neward's Five Minute Management Lessons for Developers made me snicker.
  • Xbox.com is running a new contest called "My Mom's a Gamer". Mine is. These days, it's mostly casual games on MSN Games, but back in the day she played both the Atari 2600 and Colecovision. She would play Space Invaders for hours. And curse. A lot. Most kids learned to curse on the playground, I learned from my mother.
  • Mark Cuban claims the HDTV is the new PC. TV and PC technologies are certainly evolving as they merge, but will that platform be as open as the desktop PC or the browser? It better be.
  • According to Nick Carr, Citigroup is looking to cut $4.6 billion in spending over the next three years and that IT will be one of the "cornerstones" (i.e. hardest hit) of that effort. I had a chat with an Meta analyst in Australia a few years ago who suggested that IT spending was going to go thru an innovator's dilemma phase. Huge companies (like Citi) with huge IT budgets are facing significant competition from small companies that can't afford huge IT budgets. These smaller companies get used to running a tighter ship and tend to be more competitive as they grow and are able to directly face off against the big fish.
Posted By Harry Pierson at 10:42 AM Pacific Daylight Time

Tuesday, April 10, 2007

Morning Coffee 60

My car has a new battery so I am back in the office with my nose on the grindstone. I've spent most of the morning talking about SOA and my MSIT project, so I only have a few items today.

  • Nicholas Carr illustrates the coming competiton between SalesForce.com and Google. Very interesting. Of course, that doesn't damp "their mutual disdain for the Horrible Monster of Redmond" as Carr puts it.
  • I decre that Peter Schneider officially has too much time on his hands. I mean, if he's got time to implement a compiler and interpreter for Brainfuck in Powershell, what else has he got time for? On the other hand, it's short and shows how internal DSL friendly PS can be. (via Larkware)
  • Jeff Atwood wonders if MTurk is a failure. I wrote a year ago that MTurk is a successful feature, but would be a failure as a stand-alone service. As I wrote then, "I’m guessing it would be worth it to Amazon to run the service even if they were the only ones using it."
Posted By Harry Pierson at 10:15 AM Pacific Daylight Time

Monday, April 09, 2007

Afternoon Coffee 59

Friday's Morning Coffee didn't happen because I fraked up the DNS settings when I moved devhawk.net to a new registrar. Today's morning coffee was drastically delayed on account of car troubles. Tuesday, I have an 8am meeting so tomorrow's not looking good either.

  • The big news for Xbox 360 is details on the Spring Update. Big news is WLMessenger integration + a QWERTY thumb pad that snaps right into the controller. (via Gamerscoreblog and Major Nelson)
  • Speaking of Xbox, I completed the Old Spice Experience Challenge today on my lunch break (couldn't go to the office due to the car troubles). My reward is an upgrade to level 2, a gamerpic I'll never use and a free copy of Contra. (Estimated total value: $5)
  • Scott Guthrie continues his series on new language features in C#3/VB9. This time it's lambda expressions. This is the "killer" feature in the new language version IMHO, since you can use lambda expressions either as code or data. Furthermore, it's up to the class/method handling the lambda expression to decide if it should be treated as code or data. That decision is made and design time, but the upside is that as a developer, I write my queries exactly the same way regardless if they are to be executed directly (aka code) or analyzed (aka data). Scott also metions a few new LINQ to * projects: LINQ to Amazon, LINQ to NHibernate and LINQ to LDAP.
  • Speaking of LINQ to *, here's LINQ to 3D Objects in a C# ray tracer. I think it's safe to say that LINQ to *whatever* is the new hotness. (via DotNetKicks)
  • The new version of F# is out. Looks like the big new feature is Active Patterns which is described in this draft paper. If I only had more time to investigate this. (via Don Syme)
  • For the third time in the past six months, my laptop power supply has died. I've never had a problem like this before, much less three times. It's not even the same laptop as I recently moved over to a Tecra M4 Tablet. I just don't get it.
  • P&P has shipped the 3.0 release of Enterprise Library. Tom Hollander has the details. Personally, I am most interested in the new Policy Injection Block.
  • Having worked with self-signed certificates and understanding what a PITA they are, it's nice to see that IIS 7 has explicit support for them.
  • I saw a reference to "The Halo Effect" on one of the political blogs I read. Needless to say, as an Xbox gamer, my first reaction was that this had something related to Master Chief. It doesn't.
  • Joe McKendrick compares SOA governance to national governance. Given our polarized political climate, this analogy may hurt more than it helps. Also, the next enterprise architectural board that has equal "branch" footing with IT and executive management will be the first.
Posted By Harry Pierson at 2:45 PM Pacific Daylight Time

Thursday, April 05, 2007

Morning Coffee 58

  • Nicholas Allen points out that Messaging is not a Transaction. Of course, what he really means is that Messaging with WCF is not a Transaction. Messaging with SSB is in fact a transaction (well, more accurately, it's transactional but you get the idea). Nick's right that you may not need anything more than simple retry semantics that you can implement yourself in your application protocol. But SSB has spoiled me. Why should I have to write the retry semantics? Why can't my messaging stack provide that for me? Or put another way, if I need a "precicely defined failure model", wouldn't I be better of choosing a messaging stack that provides that out of the box?
  • Steve Hartman explains how to use span Remote Desktop Connection across multiple monitors for use with VPC. I wonder if this will work on my machine, since my multi-monitor setup is an L shape, not a rectangle. I'm offsite today, so I'll try it tomorrow (via DotNetKicks)
  • According to news reports, Microsoft is negotiating to provide DRM free music too. I wonder how well this will work for Microsoft given that both Zune and PlaysForSure provide subscription services. I would assume the $15 all-you-can-listen style subscription services wouldn't be DRM free. Given that program is one of the (few) selling points they have over Apple, will the availablity of DRM Free music undercut the interest in subscription? (via Dale)
Posted By Harry Pierson at 10:41 AM Pacific Daylight Time

Wednesday, April 04, 2007

Morning Coffee 57

  • Scott Hanselman's post on Mindful Coding reminded me of the practice of rubberducking. The basic idea is that when you're stuck on a problem, you explain it out loud to an inanimate object - aka the rubber duck. (though when I originally heard about this practice, it was a teddy bear.) Maybe instgead of Coding Mindfully, we should be Coding Out Loud?
  • Quick side note to the previous bullet: I have often worked thru a problem by explaining it to my wife who, like Scott's wife, nods in all the right places, but cares not about such things. But calling your wife a rubber duck is bad for your health, so I'd rather call it Coding Out Loud.
  • I'm a couple weeks behind on this, but Microsoft along with BEA, BMC, Cisco, Dell, EMC, HP, IBM, Intel, and Sun submitted the Service Modeling Language to the W3C. For those not plauing along at home, SML is the new name for the System Definition Model and is a core deliverable of the Dynamic System Initiative. Good to see it's gotten such broad support for this.
  • Jezz Santos and Edward Baker wrote a series of posts entitled "Factories 201". The entire series is good, but I particularly liked Jezz' post How Long Will It Take? His rough estimate is that it takes at least five products built with a software factory before you recoup your investment in building the factory itself. Sounds like a fair assumption.
Posted By Harry Pierson at 10:57 AM Pacific Daylight Time

Tuesday, April 03, 2007

Morning Coffee 56

  • I survived the weekend no problem. My wife has the details of what she did for the weekend while I played Mr. Mom. The kids were great, we even went to see the Easter Bunny on Sunday. Wish the weather had been better, but we did get to go on a little walk around the neighborhood between hailstorms Sunday after naps.
  • Between taking the kids all morning until Jules got home from the airport and going to opening day for a team morale event, I worked about 30 minutes yesterday. In case you're wondering, that's way below average. I typically work at least twice that every day. :)
  • After maintaining a post a day average for January and February, I slipped a bit in March. Twenty seven posts in thirty one days. So that puts me five posts behind for the year as of this one.
  • Dale let me borrow Madden 07 for the weekend so I could pump my gamerscore (a practice called gamerscore whoring). I still need 255 points by April 22nd to complete the Old Spice Experience Challenge. I'm not proud of it, but it's not like I have much time to play these days.
  • Mads Kristensen has a new .NET blog engine intuitively called BlogEngine.NET. I wonder how it compares to dasBlog, which powers DevHawk. (via DotNetKicks)
  • I wrote a last week that unit test support should be in the Express editions of VS. Thanks to Jamie Cansdale, it is. (via Larkware)
  • Scott Hanselman saved his C# Tiny OS project from the impending shutdown of GDN and reposted it to his blog. I first met Scott at TechEd Malaysia 2002, so I remember seeing him present this "back in the day".
  • EMI is going to start offering songs sans DRM @ $1.29 a pop. Assuming other labels follow suit, this is gonna be huge. (via Loke Uei
  • Jomo Fisher writes about using LINQ as a string switch compiler that's about 900% faster than using a hash table. Money quote: "Any time I see a data structure with a capability I’m not using it makes me wonder whether I can trade that capability for something I do need—in this case a speed boost." LINQ is turning out to be much more interesting than just a (much) better way to query databases. (via DotNetKicks)
Posted By Harry Pierson at 11:07 AM Pacific Daylight Time

Friday, March 30, 2007

Coffee Break

I've had a solid morning of meetings. I'm a little sick. My wife leaving town for a few days. Last but not least, things seem afwul quiet out in the blogoshpere. Thus, no Morning Coffee post today or Monday. See you Tuesday.

Posted By Harry Pierson at 10:53 AM Pacific Standard Time

Thursday, March 29, 2007

Morning Coffee 55

  • Many years ago, I picked .net instead of .com as DevHawk's TLD. My old pal Chris picked up devhawk.com and redirected it to the site because he got tired of typing "devhawk ctl-enter" into the browser address bar and getting nothing. He must have let it lapse because now devhawk.com points to what looks like a splog in development. Part of me is annoyed, but a bigger part of me just doesn't give a shit. You - dear reader - have found this site, and that is all I care about.
  • A couple of weekends ago, I re-wired my living room to enable surround sound. It meant adding a receiver to the mix, and that pushed us into three remote territory, which is too many. So I picked up a Logitech Harmony Universal Remote, since they have one specifically for the Xbox 360. So far so good, but I'm not sure my wife likes it much yet. However, their remote config application doesn't run on Vista yet, so I had to bust out the old laptop to get it working.
  • I've written about Spec# before, but I've never experimented with it. MS Research just released a new version that support VS05, so here's my chance. (via Larkware)
  • Speaking of MS Research, the Deepfish project has released a new tech preview. However, Loke Uei is reporting they've already maxed out on test accounts. (via Major Nelson)
  • Jeff Atwood says there's no substitute for learning on the battlefield. I always say that the only way to get good at something is to suck at it for a while. Different words, same concept.
  • According to Naysawn Naderi, the "majority" of unit test features are being added to the Orcas Pro version. This is obviously good news, though personally I agree with Brad that they should available separately VS. Not sure it needs to be in the framework itself, inclusion in the .NET Framework SDK is probably sufficient. I also think there should be unit test support in the VS express editions as well. (via Knowing.NET)
  • I've been digging Geekdad, but most of the stuff is for older kids. I mean, I'd love to take my daughter karting, but she's only two and can't reach the pedals! However, I'm itching to try out today's post on image searching with younger kids. The kids love to draw on my new tablet, so I'm thinking of not only searching but snipping these images into OneNote for them to doodle on.
Posted By Harry Pierson at 9:12 AM Pacific Standard Time

Wednesday, March 28, 2007

Morning Coffee 54

  • The black Xbox 360 Elite is official. Details on Gamerscore and Major Nelson.
  • Jamie Fristrom of Torpex Games writes about XNA and the approval process for making an Xbox Live Arcade game. At the end of his post, he confirms that his team is using a "pre-pre-alpha" version of XNA Game Studio Professional. I wonder how long before that's widely available?
  • Politics 2.0 Advice: When building your MySpace page, don't use images hosted on other peoples servers. John McCain found out the hard way. (via Balloon Juice)
  • Speaking of Politics 2.0, you can check out the Roots Project, described as "a social networking site for people with progressive values, allowing them to form their own groups, sharing information and best practices nationally while acting together locally." (via firedoglake)
Posted By Harry Pierson at 9:58 AM Pacific Standard Time

Tuesday, March 27, 2007

Morning Coffee 53

  • The Virtual PC 2007 virtual video card seems to max out @ 1600 x 1200 resolution. Given that the two screens on my main dev workstation are 1200x1600 (i.e. portait mode) and 1680x1050, it means I can't run VPC in full screen on my dev box. I can get close on the widescreen monitor, but I like writing code on the portain monitor better. Luckily, I can use remote desktop instead the built in VPC display window in order to get full screen on either monitor.
  • Soma announces the aquisition and immediate (i.e. free) availability of Teamplain web client for VSTS as part of Visual Studio's 10th birthday. We're also "publishing the Orcas Wave (Orcas + Rosario) roadmap for VSTS." I'll be interested to see the reaction to that. Mike's reaction to the schedule was: "That's insane".
  • THe XNA tools just keep coming. Allegorithmic's MaPZone texture creation tool is free to XNA developers. Actually, it looks like it's free for everyone, as a carrot to upgrade to their procedural texture tool ProFX. Still, free tools are still free. (via Michael Klucher)
  • Can I get 1200U of rackspace, to go? Apparently, yes. (via Half My Brain)
  • Watched the season finale of Battlestar Galactica last night. Wow, is there a better show on TV right now? (yes, one: Lost. But that's it) When it ended, my wife said "We have to wait until 2008 for a new episode? That sucks". I couldn't agree more.
Posted By Harry Pierson at 9:18 AM Pacific Standard Time

Monday, March 26, 2007

Morning Coffee 52

  • I finally found a use for the free SOA book I got from attending that Thomas Erl workshop. I'm using it to prop up one end of my daughter's mattress while she's sick so she can sleep better.
  • Jeff Tash states axiomatically that CASE has evolved into Enterprise Architecture. I agree with his points about why software construction isn't like manufacturing, but he seems to be describing BDUF rather than EA. I'm anti-BDUF too, but why blame EA? (via John deVadoss)
  • Joe McKendrick comments on my SaaS/SOA post and wonders if SOA should stand for "SOA Oriented Architecture". He also writes that most organizations these days don't have an SOA, they have an AOS, "Agglomeration Of Services". So true, so true.
  • JD Meier talks up the new VSTS guidance available on CodePlex. Looks like some good stuff in there. I like how the p&p guys are moving from documents to wikis to deliver their guidance.
  • I've held off on getting the HD-DVD drive for my Xbox, but I think I'm going to cave soon, where soon == about two months. That's when The Matrix Trilogy is released on HD-DVD. Right around my birthday too, how convienent.
Posted By Harry Pierson at 9:33 AM Pacific Standard Time

Friday, March 23, 2007

Morning Coffee 51

  • Visual Studio for DB Professionals - my favorite new part of the Visual Studio - won a JOLT award. Congrats to the Data Dudes! (via Knowing.NET)
  • When they're older, I'd like to send my kids to Tinkering School. Come to think of it, I'd like to go with them to Tinkering School. According to Geekdad, they're looking helping others set up their own Tinkering Schools. I wonder if Jules would be down to help me run one?
  • Sandboxie is a sandbox environment for your windows based PC. Basically, it traps writes to the filesystem and registry and stores them in a seperate file that is easily tossed away. Sort of like virtual machine differencing drives, but for your host machine. I'll have to check it out. I wonder how it compares to Microsoft's recent aqusition Softricity? (via Larkware News)
  • I didn't realize Bug Bash had an external website. As per the about page, Bug Bash started "a comic strip in the company newsletter of a large northwest software company...[who's] name rhymes with 'Microsoft'." It is a hilarious Dev/IT focused comic strip from the same guy who writes Mr. Cranky. Subscribed. (via Coding Horror)
Posted By Harry Pierson at 10:40 AM Pacific Standard Time

Thursday, March 22, 2007

Morning Coffee 50

  • Nick Carr on net neutrality: "Protocol is neutral. Infrastructure isn't." This is a more complicated issue than it appears on the surface.
  • Nick Malik on enterprise architecture: "Enterprise Architecture is not about 'building solutions right'. Enterprise Architecture is about 'building the right solutions'.
  • If there had been a good quote on Nicholas Allen's blog today, then I could declare it "Quote a Nick" day. Alas, his posting on how to respond to GetProperty isn't very quotable.
  • Hot on the heels of the new GAT CTP is the new Software Factories Toolkit CTP from Clarius. Among other new features is a Recipe Designer. Having mucked around in the Recipe XML, this is A Good ThingTM (via Larkware)
  • Politics 2.0 Watch: Phil de Vellis - the guy that made "Vote Different", the Hillary Clinton/Apple 1984 video mashup - said he made said video in part because he "wanted to show that an individual citizen can affect the process". Furthermore, "This shows that the future of American politics rests in the hands of ordinary citizens." Personally, Bush as Big Brother would have been more appropriate, but I think the video got more attention becuase it cast Hillary in that role.
Posted By Harry Pierson at 10:41 AM Pacific Standard Time

Wednesday, March 21, 2007

Morning Coffee 49

  • The eBay Architecture SD Forum presentation that spawned the whole Transactionless meme is available here. As I reported yesterday, it doesn't call for going completely transactionless as Martin suggested. It calls for going without distributed transactions, which I agree with 100%.
  • More interesting than the transactional aspects, I found the data tier functional segmentation information facinating. Too bad those guys aren't using our platform, SSB was expressly designed for exactly this sort of segmentation. I also liked that step 1 for "massively scaling J2EE" is to "throw out most of J2EE".
  • After going mostly dark since last august, the manager of my old team John deVadoss has been blogging up a storm since the beginning of March. So has my old boss Mike Platt. I wonder what happened at the begining of March? Here's hoping this blogging fever spreads on my old team.
  • Joe McKendrick: "The bottom line is that ROI on SOA is an enterprise challenge, not an IT challenge." Truer words are rarely spoken.
  • The rumor mill on the Black Xbox 360 "Elite" are coming fast and furious. I don't care about the HDMI port (my HDTV is five years old and doesn't have one) but I would like a bigger hard drive...
Posted By Harry Pierson at 10:25 AM Pacific Standard Time

Tuesday, March 20, 2007

Morning Coffee 48

  • John Backus, leader of the team that developed the first high-level programming language, died yesterday. It's been a hard year so far for IT industry luminaries. (via Good Math, Bad Math)
  • Yesterday, I followed on Martin Fowler's post on going transactionless. As I said yesterday, I didn't agree with the idea of no transactions inside a service, but I agree 100% with no transactions between services. Via Paul Brown, we learn that EBay does allow forbids the use of client-side or distributed transactions, but doesn't outlaw the use of transactions in general. That makes much more sense to me since transactions between services would have to be are distributed.
  • Wired just launched a new blog called GeekDad with the mission statement "Cool toys and fun projects you and your kids do together". Subscribed (via The Long Tail)
  • DevHawk made Todd Bishop's Microsoft Blog Directory. It's in the "Software Development and Design" section. Not sure why I'm listed above Raymond Chen, John Montgomery, Chris Sells and Don Box in that section, but that's nice company to be included with.
Posted By Harry Pierson at 9:14 AM Pacific Standard Time

Monday, March 19, 2007

Morning Coffee 47

  • USC is in the Sweet 16. Not sure when that's ever happened before.
  • Politics 2.0 Watch: The rise of political blogs in main stream media reporting. Check out what the LA Times has to say about Talking Points Memo. 2008 is going to be interesting and ugly.
  • Jeffrey Palermo wrote that Scott Guthrie showed him a prototype web MVC framework for ASP.NET. Looking forward to seeing that. I thought it was interesting that Jeff described web MVC as "like Rails and MonoRail". Didn't Web MVC initially gain popularity on Java with toolkits like Struts and Spring? (via Larkware News)
  • For reasons that can't be explained, I haven't read Eric.Weblog() in quite a while. My loss. His post on Boundaries was both thought provoking and hilarious, a hard combo to achieve in practice.
  • New versions of Expression Design (Beta 2) and Expression Blend (Release Candidate) are available.
  • Martin Fowler writes about being Transactionless. I like to see people thinking this way, because I don't believe transactions across services is feasible or loosely coupled. However, I still think you should use transactions inside the service. Also, I gotta wonder how much time all that error checking logic you have to write takes if you're not using transactions. What's the tradeoff?
Posted By Harry Pierson at 10:23 AM Pacific Standard Time

Friday, March 16, 2007

Morning Coffee 46

Sort of late this morning due to back to back meetings...

  • I seem to have stirred up a bit of a hornet's nest with my "kinda surprising that no other mainstream language has done this before" comment. Dennis Hamilton and Mike Parsons both asked about other dynamic languages like Javascript and Python in my comments. To be clear, the ability to add a new method to a specific object instance is fairly common in dynamic languages. Extension methods in C#3/VB9 is a different capability - it only supports adding new methods to a class, not to specific object instances. I'm not sure what dynamic languages other than Ruby supports adding new methods to both object instances and classes, but I'm sure they're out there.
  • Some anonymous commenter asked "why invent another language for PowerShell if there are so many great popular languages already in existance [sic]?" I can't speak for the PowerShell team, but I think they were better off inventing a new language specificly designed for their scenario than they would have been shoe-horning in existing lanugage. To their credit, it looks like the PS team took great care to make the PS lanugage accessable by leveraging common syntax and idioms from other shell programming environments. I'm not a shell programming expert, but isn't PS more a variant of shell languages that have come before than a brand new language?
  • I want a "Works on My Machine" T-Shirt.
Posted By Harry Pierson at 10:32 AM Pacific Standard Time

Thursday, March 15, 2007

Morning Coffee 45

  • Yesterday's morning coffee was canceled on account of going to main campus and hanging out with the Architect MVPs. I spent all morning + dinner with them yesterday. Some of these guys I hadn't seen in nearly two years, so it was a ton of fun.
  • Nicolas Allen (aka Dr. Nick) is looking for SQL Service Broker users. I cornered him at the MVP dinner last night and gave him my thoughts on WCF + SSB. You can head over to his blog and do the same. (I'll post my answers to his questions later today, hopefully)
  • The new Vista x64 driver for my workstation's video card does support monior rotation, so I'm mostly XP free at this point. I'm dual-booting my workstation at this point, while I finish configuring stuff in the Vista partition. With both my workstation and work laptop tablet, I'm XP free at work. Next, I start getting home machines moved over.
  • Tom Hollander reports on a new drop of the Guidance Automation Toolkit. Mostly bug fixes like Vista support, but the full list is here. It's an ugly upgrade process. You have to uninstall all existing guidance packages. I can't wait until this technology is "integrate[d] ... more deeply into Visual Studio and Team System".
  • I mentioned the Podcast Authoring tool that I saw at TechFest last week. Here are some pictures of it from engadget (via Loke Uei Tan)
  • I've been thinking of getting a Wii, and the fact I can hack code for it - managed code for managed snobs no less - is just another good reason to do it. (via DotNetKicks)
Posted By Harry Pierson at 9:04 AM Pacific Standard Time

Tuesday, March 13, 2007

Morning Coffee 44

  • I got my Tecra M4 back sans flaky motherboard. That's my full time laptop now - it's nice to have a laptop that supports Vista. I'm still running XP on my desktop out of a combination of lack of video driver + laziness. I run dual monitor with my primary monitor rotated to be portrait instead of landscape. Easier to read websites and documents that way. Unfortunately, while there's a generic WDDM driver for my video card's chipset, it doesn't support the rotate function. But according to the Dell support site, they released a new driver for my card a few weeks ago so maybe it's time to try the upgrade again.
  • I sat down to watch Heroes last night, forgetting that it's not on again until April. Watched 24 instead, but it has really jumped the shark.
  • Scott Guthrie continues his series on new Orcas language features, this time covering extension methods. On the one hand, it's pure syntactic sugar. On the other, how sweet it is. It's kinda surprising that no other mainstream language has done this before.
  • Scott Hansleman is a self-described managed code snob. What do you call the opposite of a managed code snob? An unmanaged code snob or a managed code bigot?
Posted By Harry Pierson at 9:29 AM Pacific Standard Time

Monday, March 12, 2007

Morning Coffee 43

  • This week is the MVP summit. Hopefully, I'll make it over there and see the Architect MVPs. Otherwise, things seem sort of quiet in the Microsoft wing of the blogoshphere.
  • Saw 300 yesterday on a relatively rare day out with just Jules. Really enjoyed it.
  • Nick Malik describes what goes into an enterprise platform roadmap.
  • Joe McKendrick recaps a vendor SOA suites podcast. With SOA, you can revisit your platform decision on a project by project basis which allows you to avoid the dreaded "vendor lock-in". But supporting lots of platforms is an operational nightmare, so maybe lock-in isn't as bad as it sounds.
Posted By Harry Pierson at 9:38 AM Pacific Standard Time

Friday, March 09, 2007

Morning Coffee 42

Ever since I got back from vacation, it's been all about the Morning Coffee. I'm happy to be getting a daily post out, but I haven't written anything deep in several weeks now. My one non-MC post in the past two weeks was The Virtuous Cycle of Virtual Platforms which frankly I wrote over a year ago for internal usage and adapted for my blog after reading Dare's post.

One of the reasons for my lack of "deep" posting recently is post vacation re-engagement. Also, things at work that I can't blog about (yet) have been taking my attention. But I worry that this daily MC post is causing me to focus on "shallow" blog topics. Since I'm trying to average a post per day, that means at least two non-MC posts every week. Of course, more than two non-MC posts a week would be just fine.

  • On the XNA Team Blog, Michael Klucher announces the XNA Game Studio Express Update is coming in April. Among the new features are Vista compatibility, 3D audio, bitmap fonts, game icons and most interesting the sharing of compiled XNA games. Currently, the only way to share something you build with XNA with the community is by sharing the source code, which is less than optimal. For more, check out the XNA GSE Overview presentation by Mitch Walker from GDC.
  • Speaking of gaming consoles, Sony's "big" announcement is a Second Life clone? Kotaku thinks "this is going to be one of those features that people didn't realize that wanted until they get it." Personally, I doubt that very much, but what do I know about game consoles? I just play, man.
  • Jafar Husain suggests a way to do Ruby symbols in C# 3.0. Sort of. He defines an extension method that returns the name of the property defined in a lambda function. On the plus side, it's strongly typed. On the minus side, "this.GetPropertySymbol(o => o.Name)" isn't as easy to type as ":Name". (via DotNetKicks)
  • While pseudo-symbol support is fairly verbose, Scott Guthrie goes thru some of the new language features for terser syntax: automatic properties, object initializes and collection initializes. While I like object and collection initializes, I'm not really sold on automatic properties. Personally, I like the VS prop snippet approach, where you automate the creation of the property once time when it's authored rather than leaving the shortcut syntax in the code in perpetuity.
Posted By Harry Pierson at 11:05 AM Pacific Standard Time

Thursday, March 08, 2007

Morning Coffee 41 - TechFest Edition

As promised, I spent about half of yesterday at TechFest. Ran into some folks I knew, met some new folks, the usual social networking stew of these sorts of events. Here's some of the stuff I saw. Much of the stuff I saw wasn't public, but everything below has either a public MSR page or a brief description on the TechFest demo page.

  • SecPAL - easily the most work-applicable demo I saw. SecPAL stands for "Security Policy Assertion Language". It's a language for expressing distributed authorization policies. We're looking at authorization policies in the next phase of my MSIT project, so this was very timely.
  • 3D Video - Take a garden variety video shot with a camcorder and add computer generated 3D objects into the scene automatically. I actually saw this last year, but this year they've added automatic occlusion. In other words, it automatically calculates when a real-world object passes in front of the computer generated object and renders accordingly. Check out this video. This would be great for creating synthetic characters Jar-Jar Binks style (though hopefully less annoying)
  • Boku: Lightweight Programming for Kids - Sort of like LOGO, except beautifully rendered 3D, running on the Xbox 360 and programmed using an Xbox 360 game controller. Patrick's not quite ready for this - Riley even less so - but I'll be keeping an eye on this.
  • F# - nothing really new here, but I got to meet Don Syme in person.
  • Telescopic Pixel - Sort of like an LED screen but using significantly less energy efficient and faster.
  • Podcast Authoring using Speech Recognition - Instead of the standard waveform view of recorded audio, this app feeds the spoken words thru the Microsoft speech recognition engine and allows the user to crop the audio simply by selecting words. Not mind blowing technology like some of the other stuff I saw, but certainly an interesting combination of technologies.
  • Smart Workflow Foundation - Adding constraint solving capabilities to WF. Must noodle on this.
Posted By Harry Pierson at 10:53 AM Pacific Standard Time

Wednesday, March 07, 2007

Morning Coffee 40

  • My boss let me borrow a Tecra M4 that he scavenged from his boss. The display is fairly twitchy, I think it's a motherboard issue. But it's very intermittent and I'll get help desk to take a look. In the meantime, it sure is nice to driving a Tablet PC again. And it's Vista ready to boot.
  • Speaking of Vista, Visual Studio 2005 Service Pack 1 Update for Windows Vista. It's a mouthful but it's now available. Soma answers questions about the new release on MS PressPass.
  • The DSL tools team keeps on rolling with the power toys. First it was the Designer Integration PowerToy, now it's the DSL Tree Grid Editor PowerToy. Jeff Santos has the details.
  • I missed the TechFest keynote yesterday, but it's available on demand. They also have descriptions and videos of some of the technologies on display. (well, only one video so far, but I assume since the page is labeled "TechFest 2007 Videos" that more are on the way.)
  • There's new support for integrating WCF and WF coming in VS "Orcas". Moustafa Khalil Ahmed has the details on what's new for WF & WCF in the latest CTP drop. For me personally, the WCF/WF integration is some of the most important stuff coming in Orcas, second only to LINQ.
Posted By Harry Pierson at 11:28 AM Pacific Standard Time

Tuesday, March 06, 2007

Morning Coffee 39

Short one today as I'm prepping for a presentation I'm delivering later this morning.

  • The US Patent & Trademark is going to pilot posting patent applications online. Microsoft is one of the pilot companies. Given how broken the patent process is these days (note, my opinion - not my employers) nice to see at least small steps to solving the problem. (via Political Animal)
  • Joe McKendrick coins the term "intrapreneurial" talking about SOA and SaaS. I like it.
  • Xbox Live reaches six million members four months earlier than expected. Congrats!
Posted By Harry Pierson at 9:55 AM Pacific Standard Time

Monday, March 05, 2007

Morning Coffee 38

  • As predicted, the XNA guys had a bunch of news to announce at GDC. They launched the XNA Creators Club Online with samples, forums and a new starter kit. Also they announced some cool partnerships for Creators Club Premium members (aka the folks who paid $99 a year to be able to run code on their Xbox 360) including access to the highly anticipated Torque X Engine.
  • From Don Syme, we here that the new 1.9 version of F# is almost ready. When I shifted from learning F# to learning PowerShell, it wasn't because of a sudden lack of interest in F#, so I'm glad to see them still chugging along. And by the time they release 2.0 later this year, I hope to have learned enough PowerShell that I can spend some time focusing on learning F#.
  • Apparently Jenny Lam at Microsoft reviewed more than 10,000 images to pick the new Vista Wallpapers. Not sure if I would love or hate that job. But some that didn't make the cut are available online. (via DotNetKicks)
  • Tomas Restrepo reviews a number of lightweight, syntax-highlighting text editors. Personally, I like Notepad2, but as Tomas mentions there's no way to save your settings. Also, there's no way to add new syntax highlighting without recompiling it. For example, Wesner Moise compiled a version that added Ruby syntax. I really want a version that that supports PowerShell. Maybe it's time to give Notepad++ a closer look
  • Dale has some new SOAhlocis Anonymous shirts available.
  • Jeff Atwood discovers that the French acronym for object oriented programming is POO.
Posted By Harry Pierson at 10:22 AM Pacific Standard Time

Friday, March 02, 2007

Morning Coffee 37

Has it been a slow week for everyone, or just me my first week back from vacation?

Posted By Harry Pierson at 11:01 AM Pacific Standard Time

Thursday, March 01, 2007

(Late) Morning Coffee 36

  • It snowed again yesterday. Last year we had one snowstorm, the year before that none. We've now had I think five this year plus the massive windstorm that knocked out power for days.
  • Technorati told me that "social news aggregator" Megite is linking to me. For some reason, this post of mine on Powershell is considered related to "Is PR Too Stupid for Conversational Marketing?" from Amanda Chapel. Seems like Megite has some bugs to work out.
  • Paul Andrew announces BPEL support for WF but David Chappel writes "no one should interpret the announcement as an embrace of BPEL-based development by Microsoft". Personally, I think BPEL is just the latest attempt at "write once, run anywhere" and will meet with the same limited success of previous attempts. The last thing I think MSFT should do is embrace BPEL based development.
  • BPEL actually has two flavors, Executable and Abstract. Abstract BPEL is potentially fairly useful. You could use to exchange of the publicly viewable parts of a process with a partner in order to make two processes work together. That's fairly exciting. I would welcome Abstract BPEL support for WF and/or BTS. But as far as I can tell, most of the BPEL focus has been around Executable BPEL, which as I wrote above is attempting to be a platform independent language for implementing business process. That's fairly unexciting since we've been down this road before many times (UNIX, CORBA, J2EE) and it has never worked out.
  • Soma announces the launch of the Beginner Developer Learning Center. It includes Kid's Corner with the cutely named C# for Sharp Kids and VB for Very Bright Kids e-books. Very cool, I can't wait to share this with my kids in a few years. Only complaint: where's the XNA love?
Posted By Harry Pierson at 12:06 PM Pacific Standard Time

Wednesday, February 28, 2007

Morning Coffee 35

Not sure why, but it's a very slow day in the blogoshpere

  • Quote of the Day: "I get paid for people to tell me I'm full of shit" - Nick Malik
  • The Architecture Journal has a new website. Looks very cool. I might have blogged this before, but Journal 10 is about composite applications.
  • Latest CTP drop of Orcas is out (downloadable VPC is here). I'm glad DevDiv is providing this level of transparency, but I'm waiting for Beta 1. (via Sam Gentile)
  • Here's a chance to try out OpenCongress: HR 1201, the "Freedom and Innovation Revitalizing U.S. Entrepreneurship" (or FAIR USE) Act which will dials back DCMA though Ars Technica is not impressed. It's not on OpenCongress yet, but you should eventually be able to track FAIR USE here.
  • Two months into 2007 and I seem to be keeping with my average of one post a day. 28 days in February has resulted in 29 posts (and the day ain't over yet!). Of course, this month some of the credit goes to Dale for keeping things going while I vacationed.
Posted By Harry Pierson at 10:57 AM Pacific Standard Time

Tuesday, February 27, 2007

Morning Coffee 34

  • Old news, but Reflector 5.0 is out. W00t! Not sure when Scott Hansleman became chief Reflector cheerleader, but he's got the rundown on the new features.
  • Politics 2.0 Watch: OpenCongress. Sort of like Wikipedia for government. If we can disseminate information on bills and resolutions via the Internet, couldn't we collect votes on them as well?
  • I got my hardcopy of Powershell in Action while I was on vacation. Highly recommended.
  • Sam Gentle is starting to dig into WF, and he posts about the difficulty getting data in and out of workflows. He's using the ExternalDataService infrastructure which I don't like very much. I recommend getting friendly with the WorkflowQueuingService which is the low-level communication infrastructure that ExternalDataService builds on top of. The WQS docs are severely lacking, but it's fairly straight forward to figure out.
  • Speaking of WF, Tomas Restpro reviews Programming WF. Sounds fairly introductory. Personally, Essential WF is one of the best tech books I've read in a long time, so I'll be skipping this book.
  • My teammate Dale is continuing his daily posts on his blog.
  • Joe McKendrick wonders if EDA is the new SOA. Frankly, both terms are so poorly defined that it's hard to determine exactly what each term means, much less how they're related. If you're an IT industry analyst, you probably can make a ton of cash describing the differences between them. Maybe it's me, but I don't see that much value in SOA without EDA. In fact, I'd go so far as to say service orientation without events isn't much a new architecture paradigm at all. It's just the Same Old Architecture with better support for interop.
Posted By Harry Pierson at 10:24 AM Pacific Standard Time

Friday, February 16, 2007

Morning Coffee 33

I realize yesterday I said I was on vacation starting today. In reality, I'm not going to the office today, but I have time to post this before my vacation starts in earnest.

  • I hit Zero Email Bounce in advance of my vacation. It's been quite a while since the last time I got here and I hope to hit it much more often in the future.
  • The DSL tools team shipped a Designer Integration PowerToy that allows you to integrate models from multiple DSL designers into a single authoring tool. Gareth has more here.
  • Assorted PowerShell links: PowerShell Analyzer and PowerShellIDE. Both look interesting.
  • Personally, I like Notepad2 but apparently the only way to add a new syntax highlight scheme requires modifying the source code. Ugh. Anyone out there already added PS support to Notepad2? How about a suggestion for a simple text editor that supports extensible syntax highlighting?
  • Steve, Nick and Tomas all commented on my long running services WCF post. Tomas mentions Advanced Message Queuing Protocol (AMQP) which looks to be developing an open spec queuing system like MSMQ or MQ series. Interesting, but given the lack of involvement of the major MQ and DB vendors, I'm hard pressed to imagine this gaining any kind of critical mass.
Posted By Harry Pierson at 8:59 AM Pacific Standard Time

Thursday, February 15, 2007

Morning Coffee 32

  • As 24 sputters, Lost hits it's stride. Last nights episode rocked.
  • My old team keeps churning out great stuff. This time, it's the new Composite Applications site.
  • In a follow up to a post from a couple of weeks ago, Joe McKendrick declares that "Rogue IT is Cool". In the spirit of rogueness, maybe we get the Rogue Ale guys to whip up some IT themed beers? Service Oriented Stout? Architecture Ale? Programmer's Porter? (you get the idea)
  • Scott Hanselman provides a detailed look at static analysis in general and NDepend in particular. I hereby coin the acronym YAGTSR, which stands for "Yet Another Great Tool Scott Recommends".
  • Jeff Atwood thinks we should code smaller. He lists some positive aspects of small code (less bugs, less chance of failure, etc) and links to Bob Koss talking about the negative aspects of big code (harder to understand, harder to reuse, higher likelihood of duplication, etc). OK, I'm down, but where's the how? I've got fairly radical ideas on this subject: regularly throw out your old code and start over. In movie making, there's this idea that you have to "kill your babies". Not literally of course, they're talking about having the willingness to scrap your pet idea, favorite line, coolest shot, etc. for the sake of the bigger picture. I think the same goes for making software.
Posted By Harry Pierson at 10:47 AM Pacific Standard Time

Wednesday, February 14, 2007

Morning Coffee 31

  • Architect MVP business news keeps on coming. Today it's Corillian - the company Scott Hansleman works for - getting acquired by CheckFree.
  • Los Angeles is looking to provide city-wide low-cost (maybe free) wireless access. My father has often suggested that Internet access be treated like other utilities like water and power. Sounds like LA is heading down that path. I wonder if they're looking at WiMAX?
  • The .NET Micro Framework - which powers the SPOT watch - now has an SDK. For those keeping track, that makes three embedded solution platforms from Microsoft, the Micro FX, Windows CE (which also just shipped a new version) and Windows XP Embedded. (via Larkware)
  • BEA's Bruce Graham talks somewhat obtusely on a topic I am particularly passionate about: putting more power in business people's hands to build their own systems. (via Joe McKendrick)
  • Register for the Windows Home Server beta. Also check out the forums, team blog and SuperSite Preview. Looks pretty sweet (via Scott Hansleman)
  • The final version of Live Search for Mobile was released a few days ago. This program rocks. I'm using the Windows Mobile version, but there's also J2ME version as well. (via Dare Obasanjo)
  • Any lingering interest I had in Ruby vanished yesterday as got to chapter 8 of Windows Powershell in Action. Chapter 8 is called "ScriptBlocks and Objects" and it is specifically about meta-programming. After reading that chapter, PS seems more flexible in this space than Ruby, which is the current industry darling for metaprogramming. For example, in Ruby you can optionally pass a block of code to any method. In PS, you can define a ScriptBlock like any other parameter. That means you can tell from the method signature that the ScriptBlock is used. Or you can define a function that takes multiple ScriptBlock parameters. Much more thought on this is needed.
Posted By Harry Pierson at 9:59 AM Pacific Standard Time

Tuesday, February 13, 2007

Morning Coffee 30

  • Wes clued me in that the CodeHTMLer WLWriter plugin does support using the convert whitespace option. The Dialog UI is awful, but if you select "Edit Languages" from the dropdown in the plugin UI, you can set the UsePreTag option to false. While it is an ugly UI (sorry, Wes) it does allow you a lot of control over how the languages render. Not only can you change the settings for an existing language, you can add your own custom language if you want.
  • David Ing has tuned his one man show Taglocity into Terazen Technology Inc. Not sure why Terazen is located in Vancouver, but maybe next time hops the pond for a visit to his new company's headquarters, he might take a detour a few hours south and ramble on about architecture with a few old friends.
  • My excitement about the new season of 24 is waning quickly. Last night's two hours episode had so many "oh, come on!" moments that it overwhelmed my ability to suspend belief.
  • If you want to dig in the Connected Services Sandbox, start with this description. I just saw this on Larkware this morning, so I haven't had time to dig personally, but it does appear related to the Connected Services Framework. And apparently there's a contest starting in a few weeks.
Posted By Harry Pierson at 11:22 AM Pacific Standard Time

Monday, February 12, 2007

Morning Coffee 29

Posted By Harry Pierson at 10:35 AM Pacific Standard Time

Friday, February 09, 2007

Morning Coffee 28

  • From the "Ask and ye shall receive" department: A couple weeks ago I wondered how good or bad my Gamerscore conversion rate is. MyGamerCard.net just launched a completion leaderboard where they rank you on your Gamerscore times your completion rate.
  • Shane Courtrille pointed out that the prize you receive in from the Xbox Rewards program gets better if your Gamerscore is higher. With a meager 1090 points, I'm in level 1. But those with 10,000+ or more can get a copy of Fuzion Frenzy 2 for completing the challenge.
  • Yesterday, I complained that code in my RSS feed looks awful. It appears to be a problem with dasBlog. In validating the HTML is actually XHTML, it screws up the white space. Of course, usually that's not a big deal, but inside a <pre> tag, it is. Until I get a chance to submit a patch to dasBlog to fix this, I'm using CodeHTMLer, which has a "convert white space" option that doesn't use the <pre> tag at all. As a bonus, it even support PowerShell! Note, you have to use the website, not their WLWriter plugin, if you want the convert white space option.
  • There's a new beta of Ruby.NET available. Now that I've moved on to PowerShell, I'm only slightly interested in Ruby these days. If I can figure out how to create internal DSLs with PS, what would I need Ruby for? (via Larkware)
  • My old team just shipped a single-instance multi-tenancy SaaS sample called LitwareHR. Details are on Gianpaolo's blog, code is up on CodePlex.
Posted By Harry Pierson at 9:46 AM Pacific Standard Time

Thursday, February 08, 2007

Morning Coffee 27

  • Is there a good solution to colorize source code that looks good in RSS feeds? I've tried Insert Code and Paste from VS for WL Writer and both look fine in HTML but awful in RSS.
  • My friend David Geller launched his latest venture Eyejot recently. Eyejot is a Flash-based video messaging system, so you can send and receive video clips without having to install anything but a webcam. According to the Eyejot blog, they're getting some good press. See an interview with David about Eyejot up on YouTube.
  • Here's an interesting article on using WF with Amazon's Mechanical Turk service. Invoking MTurk isn't that interesting - it's just a web service and WF has a built-in InvokeWebService activity. But since MTurk has no way to asynchronously call out to the WF, you have no choice but to regularly poll MTurk to see if the task is complete. Yuck. (via Larkware)
  • Yahoo! Pipes looks interesting. At least the screen shots of it on various websites and blogs look cool. Too bad the site is absolutely hammered this morning. (via Dare Obasanjo)
  • Like GAT? Like DSL? Then use them together!
  • If I can more than raise my Gamerscore by 1,500 points by April 12th (i.e. more than double it), I can get a free $5 game. But why wait to start the contest until next Monday? Doesn't that discourage people from playing until then?
Posted By Harry Pierson at 10:59 AM Pacific Standard Time

Wednesday, February 07, 2007

Morning Coffee 26

  • I wonder what MSBuild would look like if the team had cloned drawn inspiration from Rake instead of Ant. Seems that PowerShell would have made a great foundation for build scripting.
  • Looks like the digital music business is about to undergo a dramatic shift. Nick Carr and Mark Cuban have more on the possible ramifications. A friend of mine is about to move over to the Zune team. Sounds like a good time to making that switch.
  • Anne Manes of the Burton Group says the time is right for UDDI, calling it the "foundation for governance". Frankly, I think that gives UDDI a lot more credit than it's due. We're looking at UDDI as part of our SO infrastructure project, and I think it's more appropriately called "one piece of the puzzle". In my experience, the major roadblock getting projects to share technical details is desire, not discoverability. Getting information into the registry is much easier than getting teams to use that data rather than succumbing to Not Invented Here syndrome. (via Joe McKendrick)
  • Jeff Snover of the PowerShell team left me a comment the I "get" PowerShell. "Getting" it may be a better description, but it's nice to see how well engaged the PS team is in the community.
  • After 13 long weeks, Lost is back!
Posted By Harry Pierson at 11:11 AM Pacific Standard Time

Tuesday, February 06, 2007

Morning Coffee 25

  • I'm surprised we haven't seen a laptop with a flash memory hard drive yet. Given the significant power, heat and performance advantage of flash memory over hard drives, I would have expected the laptop companies to have high-end laptops with flash memory hard drives by now. I'm probably getting a new laptop in the next six months, but I'd hold out until the end of the year if it meant being able to get one with a flash memory hard drive.
  • I wrote last month that "The next new language I learn will be F#". I was wrong. It's PowerShell.
  • I've been listening to Scott gush about CodeRush for years now. His post yesterday about the new free version of Refactor! for ASP.NET finally kicked me into action. I installed the CodeRush trial and will be commence bugging my boss to buy it.
  • Looks like big news brewing in the online identity space.
  • Dale is talking about service heartbeats. I'm pretty stoked that Dale is now spending 100% of his work time (when he's not blogging about sports, politics or video games anyway) with me building service oriented infrastructure for MSIT.
Posted By Harry Pierson at 11:00 AM Pacific Standard Time

Monday, February 05, 2007

Morning Coffee 24

  • Congrats to the Colts on winning the ugliest Super Bowl ever. Pouring rain, eight turnovers, missed PAT and field goal and the opening kickoff TD return. Ugly, but fun to watch.
  • Now that we've had our first poor-weather Super Bowl, I think it's time to start rotating through cities that have never gotten it due to expected weather conditions. Obviously, I'd like to see a Super Bowl at Qwest Field. But most of all, I would love to see the Super Bowl played in Green Bay on the "frozen tundra" of Lambeau Field.
  • Was it just me, or did the Super Bowl ads suck this year?
  • There's a sweet looking pinball game coming to XBLA. I love pinball, so unless it completely stinks I'll be buying it.
  • I commented on the Windows Live SDK last week, but I missed the Windows Live ID Client SDK alpha release. It looks like you can use this SDK to build desktop applications that use Windows Live ID for authentication. Fairly cool, but does it work with non WL services? (via Dare Obasanjo)
  • I saw this post on the home page of DotNetKicks today. It claims that locating the ASP.NET App_Data directory by calling AppDomain.CurrentDomain.GetData("DataDirectory") is a "dirty hack". I left a comment on the original post, but I wonder if the correct information will ever make it's way back to DNK? 
  • Architecture Comix? Yep, on Skyscrapr, an architect community site run by my old team. Sorta funny, but I'm guessing Scott Adams isn't worried about the competition yet.
Posted By Harry Pierson at 10:18 AM Pacific Standard Time

Friday, February 02, 2007

Morning Coffee 23

  • My Binding Across States post made it to the home page of DotNetKicks, so at last six other people liked it. I wonder if I'll be able to detect and traffic increase from that.
  • I wrote yesterday that I had ordered a PCMCIA Smart Card reader for my laptop. I ordered it around 11:30pm on Wednesday and it arrived yesterday around 2pm.That's good service! And so much more convenient than the USB smart card reader.
  • I also mentioned yesterday that I had moved my laptop over to Vista. I'm not sure why, but my battery life has gotten significantly better. Maybe it's because these days I'm primarily using my laptop to remote into my desktop so I'm not exercising the local system much.
  • I was checking out Windows PowerShell Quick Reference from O'Reilly (on Safari) and discovered this PS offers the numeric constants of gb, mb, and kb to represent gigabytes, megabytes, and kilobytes. Example: $downloadTime = (1gb + 250mb) / 120kb. That's pretty cool.
  • Speaking of PS, I stumbled across PowerSMO! from Dan Sullivan. Instead of building native PS support for SQL administration, PowerSMO! makes it easy to access SMO objects in PS. Instead of having to call "new-object Microsoft.SqlServer.Management.Smo.Wmi.ManagedComputer", you call "Get-SMO_ManagedComputer". Even more interestingly, PowerSMO! uses metaprograming techniques to generate all the Get_SMO* methods. It iterates over all the SMO types - about 1000 types in total - and generates the associated Get-SMO functions into a temp script file. Once the temp file is created, it can be invoked like any other script. Must noodle on this approach further.
Posted By Harry Pierson at 9:56 AM Pacific Standard Time

Thursday, February 01, 2007

Morning Coffee 22

  • I figured out something to build with PowerShell. Not ready to spill all the beans yet, but I've started by building a provider for SQL Server. SQL already has the SQL Management Objects (SMO) library, so I can really focus on how PowerShell works rather than getting too bogged down in the logic of the provider. I'm sure someone else is working on something similar, but my primary goal with building this provider is to understand PowerShell. The codebase itself is a distant second in priority.
  • On the subject of missing LINQ's, Alex James wants LINQ to Web. A good potential use for the Windows Live Search API.
  • I posted three recent blog posts to DotNetKicks yesterday, but I've only collected one additional kick so far (for my Compiling Workflows post). Looking at what does gather kicks, I think I would need to write a more dev focused article if I wanted to make the DNK home page.
  • Don Smith left a comment on my WSSF post where he talked about the developer and the architect perspective. He seemed surprised that I took the developer perspective. To quote David White: "Architect Must Implement". The customization opportunity in guidance automation is huge, but the value is to the developer first. And while it's a good start, it doesn't go very far at automating the development experience. At heart, I guess I'm a developer even though my business card sez Architect (with a capital "A" these days no less).
  • I moved my laptop over to Vista yesterday. My workstation is still on XP, but that's because I haven't had time to completely rebuild my dev environment. No Aero support with the
  • I elbowed my way into the TS Gateway pilot at Microsoft and I'm loving it. TS Gateway is a new feature of Longhorn Server that "enables authorized remote users to connect to terminal servers and remote desktops on the corporate network from any Internet-connected device running Remote Desktop Connection 6.0." So I can quickly and easily remote into my desktop from anywhere without establishing a VPC session. The only annoyance is my USB smart card reader, which is fine in a pinch but a pain to constantly have dangling off my laptop. However, my boss approved a PCMCIA smart card reader so soon that won't be an issue.
Posted By Harry Pierson at 10:41 AM Pacific Standard Time

Wednesday, January 31, 2007

Morning Coffee 21

  • With this post, I will have posted 31 times in January. I doubt I will average a post a day for the rest of the year, but I've averaged less than half a post for a day for the past two years.
  • LINQ to whatever is the new hotness. The ADO.NET team blogged about LINQ to DataSet last week. Of course, there's also LINQ to SQL, LINQ to XML, LINQ to Entities and LINQ to XSD. Am I missing any other LINQ's? (Would that be the missing LINQ? har har har)
  • Joe McKendrick writes on "rogue" systems in the enterprise. In typical pundit fashion, he doesn't bother to take a stand on the subject, going so far in this case of having a reader poll rather than offering up his own opinion (wouldn't want to be wrong, would we?). However, I thought it was interesting that the three poll answers were "No rogue services", "Sometimes rogue services are OK" and "Why fight it?". Where's "Yes, let's directly empower the users" in that list?
  • I finally got around to installing PowerShell on both my laptop and workstation. I love the concept, but so far I just haven't had the time to dig into it or found a good problem to solve with it.
  • Windows Live now has it's own SDK. According to the Windows Live Dev News, the new and updated areas of the unified SDK include Search, Alerts and adCenter. (via DotNetKicks)
  • Speaking of DotNetKicks, is it just me or are a lot of the links submitted by their original authors? Steven Cohn on Service Layer Transparency, Keyvan Nayyeri on How to Write Validators for Custom WF Activities, Mads Kristensen on Universal Data Type Checker just to name three of the top four articles currently on the DNK home page. Seems fishy to blow your own horn like that, but since SNK shares advertising revenue with story submitters, it sorta makes sense.
Posted By Harry Pierson at 10:51 AM Pacific Standard Time

Tuesday, January 30, 2007

Morning Coffee 20

  • Jim Gray has been missing at sea since Sunday. My thoughts are with him. (via Werner Vogels)
  • We launched Windows Vista and Office 2007 yesterday. There were parties on campus, but my office is a little off the beaten path, so we didn't get a party.
  • WF Activity Validation is very cool, but make sure you put your activities into a separate project from your workflows. It took me a few minutes yesterday to figure this out, but the validators are invoked not only for the activities in workflows, but for the actual activity implementation itself. My validation logic is checking to ensure properties are specified and that given activities are or are not inside a transaction scope. Obviously, the activity implementation is invalid according to these rules. Also, you need to remove the Workflow.Targets import from your activity project file, as that is what invokes the activity validation.
  • A quick follow-up to yesterday's compiling workflows post: WF appears to be fairly short on out of the box functionality, but more than makes up for it with an expansive extensibility model. It makes the learning curve longer, but it's well worth it the trip.
  • I'm demoing the result of the proof of concept work we've done over the last few months today. It's been a while since I've presented to any kind of audience so we'll see how it goes.
Posted By Harry Pierson at 10:12 AM Pacific Standard Time

Monday, January 29, 2007

Morning Coffee 19

  • I find Jim Kobielus' "SOA as 50 square miles of fungus" analogy funny and strangely compelling. The "keep in the dark and feed it shit" jokes practically write themselves. (via Joe McKendrick)
  • Politics 2.0 Rising: The number of Americans who got "most of their information" about the 2006 midterm elections was double the number from the 2002 elections.
  • Do you use external/flash drives? Do you have issues when you try to "Safely Remove Hardware" with said drive? I do, all the time. Apparently, unlocker is the answer. (via Paul Andrew)
  • How come there's no information about LogToTraceListeners in the WF documentation? As far as I can tell, it's not in the Windows SDK docs at all and the only reference to it on MSDN is this year-old article and this year-old blog post. I only discovered because someone on the internal WF discussion alias asked about it. I've added In my SSB/WF work, I subclassed the built-in SQL persistence service in order to add tracing support. If you're developing a WF host, you need to turn this on. I find it mind-boggling this isn't included anywhere in the official WF docs.
  • Nice to see Soma bragging about Software Factories. As he writes, our current solution - consisting of the Guidance Automation Toolkit and the DSL Tools - are really just a first step. I'm just starting to experiment with the Web Service Software Factory (WSSF). Aaron Skonnard introduces both the ASMX and WCF version in his two most recent Service Station articles.
  • Michael.NET makes Programming Promises and Ted Neward swears the Oath of the Conscientious Programmer. Why stop there? How about the Architect's Affidavit to actually implement the shit we draw on the white board? The Technologist's Testimony of understanding and belief in all things geeky and gadget? Come on, isn't this just called "doing your job"? Do we really need to make promises and swear oaths to take it seriously and do it to the best of our abilities?
Posted By Harry Pierson at 10:20 AM Pacific Standard Time

Friday, January 26, 2007

Morning Coffee 18

  • I'm sure glad Heroes is back. And so far, I'm liking this season of 24 better than the last couple. I especially like how they're introducing Jack's family to the storyline - very cool.
  • Bill Gates will be on The Daily Show with Jon Stewart next Monday. I rarely miss an episode (though I typically watch it a day or two later via my DVR) so I'm looking forward to this.
  • Roger Sessions latest ObjectWatch newsletter is available. Roger does his usual brand of relating architectural concepts to everyday situations (this time, planning his daughter's wedding). This one was funnier than most - especially since I have a 1 year old daughter - though I'm still waiting for one of these that doesn't contain the words "doppio machiato". If you're reading this Roger, don't worry, I am enjoying every moment.
  • Apparently, I am the keeper of obscure development knowledge on my team. My teammate Buzz was getting an error in shdocvw.dll when trying to open an XSD with the BizTalk editor. He's on an interim build of BTS06 R2, so bugs are to be expected, but he wasn't sure what shdocvw was, so he asked me. In case you're curious, shdocvw is the WebBrowser control.
  • Did I mention that I left my laptop power cord at the office again on Tuesday? That's three times in four the last five trips to my office (not counting weekends, sick days and training). My boss actually got a spare from his boss that I can leave at the house 24/7.
Posted By Harry Pierson at 9:14 AM Pacific Standard Time

Thursday, January 25, 2007

Morning Coffee 17

Yesterday's Morning Coffee was canceled on account of barfing. For all the gory details (you have been warned), check out my wife's blog.

  • Only 12 responses to the State of the Union were posted as I write this. Dunno why, but I was expecting more. Maybe this whole Web 2.0 thing is overblown a bit! :)
  • Speaking of the State of the Union, is it just me, or did anyone else find it odd that the Scooter Libby trial started the same day?
  • Atlas ASP.NET AJAX 1.0 is done. Lots more on this from Scott Guthrie's blog. While I'm not personally that interested in ASP.NET AJAX itself, two things strike me as interesting in this release. First, we're shipping all the code for this. The client side JavaScript library, the Control Toolkit, even the server-side components. Second, it's nice to see the Developer Division shipping something this significant without waiting for the next release of Visual Studio. Here's hoping that both of these two trends continue.
  • Rich McCollister pointed me to the XmlProviderLibrary. Bad on me for not looking harder.
  • Windows Live Writer is pretty cool, but it is missing one feature that I needed twice Tuesday. While embedding images in a post is cake, there doesn't seem to be a way to embed non-image files. You know, like the ColorConsoleTraceListener Project or the Live Search for Chartity Search Providers. I'm guessing the infrastructure to post images and files would be identical, but there's no UI interface for it. I checked out the WLW SDK online and found the ISmartContent.Files.Add method, so I'm guessing it's doable. But there's no such animal on the Live Gallery. I wonder why nobody else has built this yet? Is this really that unique a request?
Posted By Harry Pierson at 9:28 AM Pacific Standard Time

Tuesday, January 23, 2007

Morning Coffee 16

  • Forgot to say this yesterday, but I'm happy the Colts are in the Super Bowl. Well, I guess I'm more happy that New England isn't in it. They've won it enough lately. I wish the Saints has made it, but at least this way I have no question who to root for on Super Bowl Sunday.
  • My Gamerscore cracked 1000 over the weekend. I got 60 points in Dead Rising and 100 points in NHL 07. I have played ten games + three arcade games for a maximum possible Gamerscore of 10,600 and a Gamerscore "conversion rate" of 10.28%. I wonder how good that is? All the leader boards I've seen rate purely on Gamerscore.
  • Speaking of games, Obsidian (of Neverwind Nights fame) is working on an Aliens RPG! Check out this post by Chris Avellone of Obsidian on Game Design Research (via Game Tycoon).
  • Richard Grimes' .NET Instrumentation Workshop rocks. Richard also has extensive workshops on .NET Security and .NET Fusion (aka runtime binding). If they're as good as the instrumentation workshop, they're worth a read.
  • In my SSB/WF prototypes, I've simply been writing to the console. The lo-tech brute force works okay for a console app, but not at all when I move my code into a shared library. So I decided to bite the bullet now and translate the Console.WriteLine calls into TraceSource calls. My prototype isn't that big (yet), but it went pretty smooth nonetheless. I currently have three TraceSources in my solution - one for the host, one for my SSB activities & workflow service and one for the persistence engine (I just inherited from SqlWorkflowPersistenceService and added the trace calls). I'm sure in time, I'll wish I had set up my TraceSources differently, but for now it works.
  • The one feature I lost moving from Console.WriteLine to TraceSources was color support. Since I am creating voluminous tracing data, I used color coding to indicate which part of the application the trace information was coming from. Of course, the OOB ConsoleTraceListener doesn't have any mechanism to color code the output. I hacked up a ColorConsoleTraceListener in a couple of minutes that worked great. I say "hacked" because my color choosing code is currently hard coded, rather than being stored the config file. If I get the time to change that, I'll post the code here.
  • While researching ASP.NET's Membership system, I found this Scott Guthrie post with links to ASP.NET providers for MySql, Oracle and SQLite. I've wondered about the lack of a simple file-based ASP.NET role/membership provider and even started hacking together an XML based one. But the availability of a .NET SQLite data provider makes that an interesting option. XML would be human readable, but porting the existing SQL providers to SQLite would probably be easier.
  • Politics 2.0 in action: Talking Points Memo is enouraging you (aka Time Magazine's Person of the Year) to record your own response to tonight's State of the Union. Basically record your response via camcorder, webcam or cellphone. Then upload it to YouTube and add it to the TPM SOTU group. With President Bush's approval rating at all time lows, I'm guessing these videos will be venting some of the pent up hostility towards this administration.
Posted By Harry Pierson at 9:39 AM Pacific Standard Time

Monday, January 22, 2007

Morning Coffee 15

  • I was checking out the ASP.NET community site, and I noticed a small "Microsoft Communities" toolbar across the top. There's a little menu that links to other MS community sites like Channel 9 and MSDN Blogs. I'm surprised the NetFx3 community site isn't included.
  • My teammate Dale is blogging about Proper SOA. He lays out 6 Proper SOA principles, and then drills into the first three: meets business needs, requires governance and responds to changing business drivers. I expect to see posts on the remaining principles this week. Maybe Dale should turn this series into an article.
  • Speaking of articles about architecture, Architecture Journal 10 is online as a PDF. This issue's topic is Composite Applications.
  • Malbolge is a programming lanugage that is "specifically designed to be difficult to program in." Here's Hello World in Malbolge:
    (=<`$9]7<5YXz7wT.3,+O/o'K%$H"'~D|#z@b=`{^Lx8%$Xmrkpohm-kNi;gsedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543s+O<olm
    Seriously. Actually, it's worse than it looks. The effect of any instruction depends on where it is located in memory.  Malbolge is so difficult, it took a month to write a Lisp program to generate that program. However, Lou Scheffer thinks we should think about Malbolge as a cryptosystem. I wonder if it could be used for obfuscation? (via Good Math, Bad Math)
  • Nat Torkington blogs about teaching kids to program. He makes the point about "them to think in terms of small steps". I was lucky to have a computer teacher in elementary school who did something similar. She had us write down instructions for making a peanut butter and jelly sandwich and she then followed them to the letter. For example, if you wrote, "spread peanut butter on the bread" with out first instructing her to take out a slice, she'd happily spread peanut butter on the entire loaf. (via reddit)
  • To this day, my wife thinks the peanut butter and jelly lesson negatively affected my ability to communicate with "normal" people. She'll even say "peanut butter and jelly" when she thinks I'm being particularly obtuse in my communication.
Posted By Harry Pierson at 10:04 AM Pacific Standard Time

Friday, January 19, 2007

Morning Coffee 14

I just realized that I had Morning Coffee 9 both last Friday and last Monday. Woops. Rather than changing the titles of four posts, I'm just skipping #13 instead. Just like a hotel.

  • The folks behing the Optimus concept keyboard are shipping a mini 3-key keyboard. The basic idea of both keyboards is that the keyface is a little LED screen. Apparently, they're planning on releasing a production version of the full keyboard this year. The 3-key keyboard is $160, so I'm guessing the full keyboard will cost quite a bit. (via Scott Hanselman)
  • Some people are up in arms that the chair of the new W3C HTML Working Group is Chris Wilson from Microsoft. I'm guessing these are people who don't understand much about how such working groups work. As Chris writes, most of his time as chair will be herding cats. (via reddit)
  • I am interested to see what this new working group produces. The #1 deliverable for this group is "A language evolved from HTML4 for describing the semantics of documents and applications on the World Wide Web" (emphasis added). Given the already existing Web API WG, it would be nice to see an application model as a formalized part of HTML.
  • Again via Scott, Jello.Dashboard is a replacement for Outlook Today with a GTD bent. However, as Scott points out, it is slow. Scott blames the Outlook Automation APIs, but I think the scripting engine is also to blame. In the CRM Integration for Outlook sample, I used a WinForms UserControl as a folder homepage and didn't notice any perf issues. If you expose a WinForms UserControl as a COM control (via Guid and ComVisible attributes), you can then host that control within an HTML file which is set as the folder home page. The sample includes a helper function to generate the HTML folder home page to host the UserControl. If there's interest, I can post a small sample. Not only is this approach faster than a script based one, it's easier to design and debug.
Posted By Harry Pierson at 8:44 AM Pacific Standard Time

Thursday, January 18, 2007

Morning Coffee 12

  • According to Chris "Long Tail" Anderson (as opposed to Chris "Avalon Architect" Anderson), "Combined with the new low-cost distribution channels, from DVD to digital downloads, all you now need to be a filmmaker is talent." Really? Based on the dreck Hollywood churns out, I thought talent was optional! :) Seriously, check out his post and the sites he points to (Four Eyed Monsters and DV Rebel's Guide review on Cool Tools).
  • Speaking of Chris "Avalon" Anderson, he's got a couple of WPF/E tests up on his blog. I wanted to see how it worked under the hood, so I checked out the HTML source for this page. It includes around 115kb of XAML! We've seen ViewState and JavaScript page bloat, is XAML bloat next?
  • Larry O'Brien and Alan Zeichick are talking about a Threading Maturity Model. Good ideas there, but frankly I think we need a language that recognizes concurrency as a first-order abstraction if we're going to make much progress up the maturity model.
  • Dare recommends programming.reddit.com. Definitely worthy of a closer look.
  • The BTS training I'm in yesterday and today is being held on Microsoft's Red West campus, home of MSN & Windows Live. It's very nice looking and is a good size - five buildings - without being as huge as main campus. It even has a "ski-lodge" cafeteria, though given the slim pickings in my building's cafe anything would be an improvement.
  • One thing I don't miss about working on campus is the commute. Getting to my office takes 20-30 minutes, depending on the traffic lights. Getting to campus, even though it's physically closer, takes 45-60 minutes, most of it spent sitting still. Every time I wish we'd move to campus, I remember the traffic and decide I like where I am just fine.
  • Two big learnings from BTS training yesterday:
    • Conceptually, BTS hasn't changed much since the 2000/2002 releases that I was more familiar with. In practice, it has heavily embraced .NET which is a good thing. I didn't realize how much of a difference having tools like the pipeline and map editor inside VS would make, but it does. (I realize the orchestration editor is inside VS as well, but we get to that module of the class today).
    • The MessageBox is a bigger deal than I remember or realized. Matt called it the "heart of BizTalk". I know BTS has had a SQL based message store since day one, but I don't remember it being called out explicitly.
  • I've said before that MessageBox is roughly analogous to SSB queues, though BTS wonks (like my teammates) typically jump down my throat when I do. MessageBox has a pub/sub design philosophy which SSB does not. However, I'm guessing pub/sub is used much more in messaging scenarios rather than orchestration scenarios. My efforts around SSB & WF are much more focused on orchestration scenarios, so I'm guessing SSB's lack of pub/sub infrastructure is not a big deal.
Posted By Harry Pierson at 9:47 AM Pacific Standard Time

Wednesday, January 17, 2007

Morning Coffee 11

Yes, its true, (yes its true) I'm so happy to be stuck with you
'cause I can see, (I can see) that youre happy to be stuck with me
Stuck with You by Huey Lewis and the News

  • I am apparently stuck with my wife's rants. That's fine, as long as she has continues to stand up and rant about the things she and I believe in.
  • I hate wearing suits for the same reasons Mark Cuban does.
  • According to Joe McKendrick (of JBOWS fame), "many IT executives simply do not have the resources or political clout to get SOA moving in a big way that will transform the business." I guess that blows a huge hole in Thomas Erl's CIO as Dictator approach.
  • I don't have a Wii (yet) but this game seems pretty cool for the little ones. Patrick is getting pretty good at Lego Star Wars, but this would be right up Riley's alley. (via Game Tycoon)
  • I'm in BizTalk 2006 training today and tomorrow, so blogging will be light and BTS focused. Class is being taught by Matt Milner from PluralSight, so I'm looking forward to it.
Posted By Harry Pierson at 9:08 AM Pacific Standard Time

Tuesday, January 16, 2007

Morning Coffee 10

Wow, I made it to ten of these morning coffee posts. That puts me only two orders of magnitude behind Mike and one order of magnitude behind Sam.

  • We got snow, again. My son apparently said the other day "OK God, that's enough snow now". When a 3 year old is tired of snow, you know you've gotten a lot.
  • Of course, people in snowier climates than here (the NorthEast, Northen Midwest, pretty much all of Canada, etc) will snicker that 5 inches of snow is "a lot".
  • I'm moving my STS code into a new VPC for handoff to the dev team. I was running Virtual Server before, but for individual work like what I do, Virtual PC is much easier to use. Drag and Drop into the VPC alone is worth it to me to use Virtual PC instead of Virtual Server. I am using the beta of Virual PC 2007, though I couldn't tell you what the differences are.
  • Steven King may love the new season of 24, but I can't shake the feeling of jumped shark. However, I am impressed that Fox released the first 4 episodes of the new season today.
  • Two name changes later, the RTM version of SQL Mobile Anywhere Compact Edition is now available. BTW, I found this blog post by Steve Lasker about using SQLce with ASP.NET. So it sounds doable, though not recommend. Of course, for those of us using shared hosting, SQLce is a non-starter until it becomes part of the standard .NET framework install.
Posted By Harry Pierson at 10:18 AM Pacific Standard Time

Monday, January 15, 2007

Morning Coffee 9

I have a dream that one day this nation will rise up... live out the true meaning of its creed. We hold these truths to be self-evident that all men are created equal.
Reverend Doctor Martin Luther King, Jr

  • My boss asks "Are We There Yet?" on fulfilling Dr. King's dream. Sadly, the answer is no. I think we're making progress, but we're not "there" yet.
  • No back to back trips to the Super Bowl for the Seahawks. They had chances to win it both down the stretch as well as in overtime and they couldn't capitalize.
  • I blogged about "Politics 2.0" back on election day. Here's an article about viral video in politics that's very Politics 2.0.
  • It finally warmed up enough yesterday to make a snowman. Patrick named the snowman "Capa" which is what he call my father. Apparently, my father and the snowman have the same bushy eyebrows (according to my wife). It's supposed to snow again tonight, so maybe we can make a "Granny" or "Nana" snowman (snow-woman?).
  • The new season of 24 started last night. Please review Larry's list of the Top 10 Things I've Learned About Computers From The Movies and Any Episode of '24'.
  • My wife posted a picture of Patrick and I playing Lego Star Wars II. We really enjoy it, but I need to watch my language when we play. When we were fighting the Rancor, Patrick announced to his mommy that we were fighting the "big fucking monster". Woops! Patrick already knows several words that your not supposed to say (and he reminds us if we ever use them) so I guess should add that to the list. Or I could start saying frak instead.
Posted By Harry Pierson at 10:38 AM Pacific Standard Time

Friday, January 12, 2007

(Late) Morning Coffee 9

Took part of the morning off this morning to let the sun shine down on the icy roads. No major incidents getting to work, though the office parking lot is like an ice rink.

  • As mentioned yesterday, I finally got my STS implementation working with WCS. Turns out that using WCS with the wsFederatedHttp binding requires you to specify which claims you want to send to the service. In comparison, using WCS with wsHttpBinding automatically requests the PPID claim. It would be nice if this was documented somewhere. I only figured it out by finding this demo from Michele.
  • Last week, I said that we need a better tool than SvcConfigEditor. This tool is only marginally better than hand-editing the config files with intellisense. A "real" tool would keep you from building invalid config files. While I appreciate the need for this level of flexibility at the transport layer, we really need a better web service hosting story than IIS + ASP.NET + web.config. WCF makes me long for the days of the MTS/COM+ GUI interface. I never wasted hours troubleshooting config issues with MTS/COM+.
  • Apparently, Xbox 360 outsold Wii and PS3 combined in December. That's probably more of a statement about PS3 and Wii shortages, but there's no arguing with numbers like 10.4 million Xbox 360 consoles, 5 millions Xbox Live users, and nearly 3 million copies of Gears of War. Congrats to the Xbox team!
  • David may be hiding from his blog of late, but he did venture out long enough to point me to SOA Facts. My favorite: Dante has a special level in hell for consultants whose resumes do not say SOA.
Posted By Harry Pierson at 11:23 AM Pacific Standard Time

Thursday, January 11, 2007

Morning Coffee 8

The news got the amount of snow right, but the day wrong. Instead of hitting yesterday morning, the storm hit yesterday at rush hour. My boss declaired today "1st Annual Architect work from home day" even though we've already had several weather induced work from home days this winter.

  • Growing up in Northern VA, when we got snow it was fairly consistent. If there was about four inches at my house, everyone had about four inches. Here, it seems like there's much more variance. My teammate Buzz who lives only 15 minutes from me (when it's not snowing) said he had 10" of snow while I have about half that.
  • Speaking of Northern VA, the last few winters have been easy on us but hard on my parents who still live in McLean. This year seems to be the opposite. The forcast for McLean today is only 45, but it's supposed to get up to 65 by the weekend.
  • As it turns out, my parents are in the Bahamas right now anyway, so while I make a snowman with my kids today, they're probably on the beach!
  • I almost didn't make it home yesterday as I was trying to get my STS working with CardSpace. I have WCS workng in a direct client to service scenario, but not federated with an STS. I probably would have stayed there all night saying "just one more config tweak, and I'm sure it will work" if I had gotten snowed in.
  • Speaking of WCS, check out Kevin's screencast on extending ASP.NET's built in SQL membership provider to support WCS. And Garrett published a WCS security token processor for .NET 1.1 and 2.0 a couple of months ago. So you can use WCS on your website, even if you don't have .NET 3.0 on your server. Pretty cool.
  • My old teammate John doesn't like the JBOWS acronym. I agree with John that defining a "proper" SOA is waste of time best left to SOAholes. But web services != SOA. Making a distinction between having an architecture where the business and IT levels that rely on independent capabilities and services versus using web services as the protocol between tiers of a distributed application and hoping that you'll be able to integrate in the future makes sense to me.
Posted By Harry Pierson at 8:01 AM Pacific Standard Time

Wednesday, January 10, 2007

Morning Coffee 7

News was expecting inches, but we only got a dusting of snow last night.

  • We had dinner last night with my old friend Matt, who moved to Amsterdam a year and a half ago and is getting to travel the world. Kids didn't have a nap yesterday, so they weren't quite on their best behavior, but it was great to see Matt. Hopefully it won't be another 18 months before we see him again.
  • For the second time in four months, the power cable for my laptop failed. I wonder if there is something wrong with the power supply that's causing the cable to fail? At least this time I wasn't in Canada.
  • There's a high resolution video of the Xbox 360 IPTV up on Xbox.com's CES page. They make it very clear this is "something you need to get from your service provider". Telling quote: "It's kinda like what I have today, but better". Doesn't seem that much better, so far anyway.
  • I'm knee deep in WCF security code again. Mucking about with X.509 certificates sucks. I tried to follow these directions to create a dev root CA certificate as well as dev certs signed by said dev root CA, but I get security negotiation errors because the system can't check to see if the cert has been revoked. I guess I'll just install Certificate Services instead
  • My nominee for best new acronym: JBOWS (Just a Bunch of Web Services), apparently coined by Joe McKendrick. Web services, to date at least, seem like they're being used primarily for building distributed applications, rather than a