Passion * Technology * Ruthless Competence

Monday, August 25, 2008

Morning Coffee 172

  • I took the kids to see Fly Me To The Moon recently. We had to trek to Monroe (about 30 minutes away) because it's a special 3D movie, and it was only playing there and in downtown Seattle. The movie's story is insipid - three flies stow away on Apollo 11 - but all the space shots were actually kinda cool. It sure felt like they wanted to be scientifically and historically accurate about the the actual mission (well, other than the part about the flies). Patrick really liked it (he wants to build a rocket in the back yard) and Riley sat thru the whole thing with a minimum of fussing.
  • I'm a big fan of Joe Biden, so I'm really happy Obama picked him to be his running mate.
  • I know it's old news but what the frak was John Edwards thinking? I like his policies, but the arrogance it takes to run for president when you know you've got that skeleton in your closet is mind-boggling.
  • On the other hand, watching the Sean Hannity and guest's hypocrisy on Edwards' affair, only to watch them scramble like cockroaches when Colmes points out McCain had admitted to having an affair was frakking hilarious.

OK, onto geek stuff:

  • My new boss Dave Remy has moved to a new blog. If you're curious what he was up to for the 10 months he was away from Microsoft, he's happy to share.
  • IPy and IRuby developer Curt Hagenlocher (aka Iron Curt) is blogging. Cue the Ozzy...I AM IRON CURT. Or don't. Anyway, he dives in the deep end of the pool - no "hello world" lollyblogging for Iron Curt - digging into the stack implications of rethrowing exceptions and debugging emitted IL.
  • Srivatsn writes about static compilation of IPy scripts. Note, we're not talking about static typing - it's still the same good-old dynamically typed IronPython, just packaged up as an assembly, rather than as a bunch of .py files. Note, if you're interested in compiling IronPython, you should check out the PYC sample we published as part of Beta 4.
  • Speaking of IPy Beta 4, Shri Borde posts about the COM dispatch support which is enabled by default as of Beta 4. If you're driving COM automation clients (like Office) from IPy, this is a huge improvement over the old mechanism.
  • Jeff Hardy has released a new version of NWSGI, a managed version of Python's Web Service Server Gateway Interface. My understanding is that this would allow any Python web stack written against WSGI to run in IIS with IronPython (subject to IronPython's compatibility with CPython). Jeff's been documenting his efforts getting Django running with NWSGI on his blog. Awesome work Jeff! (Thanks for the correction Seo!)
  • I never really bought into the "Attention Economy", but Chris Anderson's economic analysis of his DIY Drones site traffic was fascinating.
  • Lutz announces "it is time to move on" from Reflector and there was a collective horrified scream in the .NET community. He's handing it over to Red Gate, who promised they "will continue to offer the tool for free to the community".
  • I missed this when he posted it in June, but I really liked Nikhil Kothari use of the DLR in Silverlight to cut down on the XAML verbosity in his ViewModel action binding.
  • Brian McNamara previews the new Add Reference and file ordering support in the upcoming F# CTP. I'm really looking forward to the project-to-project reference support. I can't tell you how many times I've gotten burned because my main project recompiled but my test project didn't. You just get used to hitting Rebuild All instead of Build. As for file ordering, it's a bit of a bummer that F# requires it, but the new experience is hella better than editing the project file by hand. I'm really looking forward to the new CTP.
Posted By Harry Pierson at 9:56 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

Friday, March 21, 2008

Will The Real DevHawk Please Stand Up?

Sometimes when I blog about politics, I'll get a comment like this:

As far as I'm concerned, posting about topics such as politics or religions on a blog that's supposedly about technology is just looking for trouble.

As I've pointed out before, DevHawk is not "a blog that's supposedly about technology". It's a personal blog - my very tiny corner of the web, if you will - so I feel totally justified writing about technology, politics, hockey and whatever else I want to. I figure that if you don't like it, you're free to unsubscribe and neither of either of us will lose any sleep over it.

The flip side is that DevHawk has traditionally been the only place where I exercise such lack-of-restraint. When my blog was featured on MSDN Architecture Center, I cross-posted relevant content to a separate blog so as to create an topic-focused and safe-for-work subset of my "real" blog. It was always a hassle - especially tracking comments to the same post in two places - and I quit doing it shortly after leaving the Architecture Strategy Team.

However, now that I'm using Twitter, it doesn't feel like DevHawk is "my only place" anymore. My blog == my writing, my del.icio.us == links I find interesting and my Twitter == real time updates. I use FeedBurner to include my del.icio.us links in my blog feed and twitterfeed to include the blog feed in my twitter feed. Therefore, Twitter is the only place to get an feed of all three. Obviously, Twitter's feed isn't full content, but in an always connected world, clicking the link to read the blog entry in the browser isn't that big a deal. Besides, you can always subscribe to both the blog and twitter feed if you want full content + real-time.

I haven't fully integrated Twitter into my daily life yet, though I'm getting there - for example I twittered the results of my hockey game last night. But unlike other social software sites, I think I'm going to be using Twitter regularly. I'm on Facebook, but there's too much "you've been bitten by a Vampire!" type spam to really use it for anything but pure entertainment. Twitter is more like blogging, where there's an information exchange with only the people I subscribe to follow. Also, maybe it's me, but there doesn't seem to be the same stigma if you stop following someone on Twitter compared to rejecting them as a friend on Facebook.

DevHawk has been "me", but now it feels like DevHawk @ Twitter will become "me" which leaves my blog to become my endless book. It's not a bad thing, but it does feel a little strange.

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

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

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

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

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, 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

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

Thursday, October 25, 2007

The Worst of Both Worlds

David Pallmann of Neudesic responded to my comment that "Physically distributed but logically centralized" didn't make any sense to me at all:

What exactly does this mean? To some this may sound like a contradiction.

This simply means that a bus is physically more like the point-to-point architecture (spread out, no hub) but functionally more like the hub-and-spoke architecture (pub-sub messaging, centralized configuration and activity tracking, easy change management).

Unfortunately, I wasn't confused about the seeming contradictory nature of these concepts. In other words, I understand the "what" and "how" of David's physically distributed/logically centralized approach.

I don't understand the "why". As in, "why would you want to do this?" or "why do you think this would work at any significant scale?".

If we check out Neudesic's page on their ESB product (which David pointed me to) we find the following blurb:

Centralized Management
The distributed nature of service oriented programming can create a management nightmare. Neuron·ESB supports this distributed architecture while simultaneously centralizing monitoring and configuration.

SOA's "distributed nature" is it's primary strength. SOA's not primarily about standards or ease-of-connectivity - though those obviously play a role. It's about enabling decentralized decision making. Since you can't be both centralized and decentralized, enforcing centralized management basically negates SOA's primary strength. This seems like the worst of both worlds to me. All the hassle of distributed decision making combined with all the hassle of centralized management.

Yes, decentralized decision making can create a management nightmare. Personally, a management nightmare is much more attractive anything centralized approaches have ever delivered in the IT industry.

Dare Obasanjo recently wrote "If You Fight the Web, You Will Lose". He was talking about the Web as a Platform, but it's good general advice. Can you imagine applying the marketing blurb above to the Internet at large?

Centralized Management
The distributed nature of service oriented programming the Internet can create a management nightmare. Neuron·ESB supports this distributed architecture while simultaneously centralizing monitoring and configuration.

If the Internet can somehow get by without centralized management, why can't you?

Posted By Harry Pierson at 10:38 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

Tuesday, October 09, 2007

Morning Coffee 117

  • Quick update to the DevHawk 2007 World Tour: I won't be making it to the SOA & BP Conference. Riley's having her tonsils out. As much as I'd like to hang with my geek peeps, family is the priority. But I can still make an evening event or geek dinner later in the week if anyone is game.
  • Caps season-opening winning streak continues. Still 100% on the PK, though the power play is pretty anemic. As I said yesterday, it's WAAAAY to early in the season to start bragging, but starting strong is much better than starting weak.
  • Speaking of hockey, looks like the NHL Network is launching in the US this month (it's been available in Canada since 2001). Also, NHL.tv is up and running. Those wishing to see Caps highlights can go directly to Capitals.NHL.tv. Unfortunately, if you want to see full games, you've got to subscribe to Center Ice or Center Ice Online to the tune of $150. But I don't want to get "up to 40 games each week", I just want the Caps games. Between the time zone difference and kids, it's not like I have time to watch that much hockey anyway. Why can't I subscribe to just the Caps games online for say $25 a season?
  • Finished Halo 3 Sunday night. Fun game and a great end of the trilogy. Looking forward to what the newly-independent Bungie does next. Something tells me we haven't seen the last of Master Chief. However, I do think Bioshock has better and more original storytelling. Mass Effect looks like it'll be better still.
  • Sam Gentile pointed out that his Neudesic colleague David Pallmann has posted a series of WCF tips. Several of them are right on the money like "Take Advantage of One Way Operations" and "Use a Discovery Mechanism to Locate Services". However, I can't agree with "Maintain a Service Catalog". David warns that if you don't, "The left hand won’t know what the right hand is doing." Of course, that's probably the case regardless of how you maintain your service catalog. And "Retry on minor failures"? That's fine, if you've got an idempotent operation. Unfortunately, most non-read operations aren't idempotent unless you take the time to design them that way. And most people don't.
  • Speaking of Sam, he's blown up his CodeBetter blog and walked away from the ALT.NET crowd. I've not been a fan of this ALT.NET stuff since it surfaced - as Sam said, "ALT.NET is a divisive thing" - so I'm happy to see my good friend walk away from it.
  • Speaking of ALT.NET, Scott Hanselman blogged about previewing the new ASP.NET MVC Framework at the ALT.NET conference. Like Sam, Scott thinks the term ALT.NET is "too polarizing". I like Scott's suggestion for Pragmatic.NET. Oh, and the MVC framework stuff looks cool too.
  • Reading Dare's description of OAuth gave me a distinct sensation of deja-vu.
Posted By Harry Pierson at 9:05 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