Monday, December 22, 2008

Last list before Christmas

 

New version of Deep Zoom composer.  On the list to try out next year.

The VSTS Rangers have released version 2.0 of their TFS 2008 Branching Guide.

The November CTP of Microsoft Blueprints is out on Codeplex.  Yet another one to check out next year.  "Microsoft Blueprints deliver where other forms of guidance fall short, making you more productive by helping you codify conventions, automate tasks, ramp up quickly on new technologies and requirements, and package successful designs and implementations, so that you can use them again. They can also reduce your time to market, sharpen your estimates, and improve your code quality.
A Blueprint is an accelerator for a specific type of software deliverable like a web service, a rich client, or a mobile application. A Blueprint is a package of process guidance, human-readable resources (docs, decks, videos, etc.) and machine-readable resources (code snippets, templates, frameworks, DSL tools, etc.) which help you build or manage a specific task or domain. It’s an SDK for a problem, not a product or specific technology. "

For those who prefer guidance in book form, check out Documentation for Composite Application Guidance for WPF–June 2008 (Prism).

And yet more book style guidance has been released by the P&P guys - Application Architecture Guide 2.0.

And more updates to the WPF Application Quality Guide.

The WPF group have a new test tool on Codeplex - TestApi - a library of Test APIs.

And here's a tip about debugging WPF data binding.

Monday, December 15, 2008

Interesting Silverlight stuff

Some interesting blogs I've seen recently are pointing to a convergence between Silverlight and WPF.

Bart Czernicki has some predictions about what we'll see in Silverlight 3.  The support for 3D and hardware acceleration sounds interesting.

Want Silverlight on a Desktop? Check out project Fiji.

Thursday, November 13, 2008

Build for multi-cores now!

I guess we've all heard of the "free performance lunch".  For many years we have enjoyed a "free" performance improvement for our apps in line with CPU performance gains.  Buy a newer machine and your apps run faster.  Basically we're getting more cycles which makes our slow apps faster over time.  Whilst Moore's Law predicts exponential growth, this relates to transistor densities, and we've seen a spectacular growth in data storage, but the rise in clock speeds has slowed, and the growth is now to multi-cores.  The free lunch is over.

In line with this trend, Windows 7 can scale to 256 processors.

But even though the free lunch is over, the Redmond Steakhouse will be open for free dinners if you build software for multi-cores now. (The gag continues, Winston)

The Moth has some wise words of advice to start now.  I really recommend his recent articles on Fine Grained Parallelism and Do NOT Explicitly Use Threads for Parallel Programming.

He says "Our goal with parallel programming is to write once and have our code scale well as the hardware underneath it gets better, i.e. see incremental benefits when running our app on machines with more cores without changing the code."  Chunking your app into fine grain partitions which can be threaded provides part of the answer, but "we need some kind of user mode "engine" to schedule only as many threads as the number of cores on the machine and we need this to take place automatically for us. We also need to be able to partition the overall compute-bound operation into many work items that will get executed by the "engine"."  That engine is there now, but improvements are coming in .NET 4.

Daniel's blog also has articles on Threading vs Parallelism and the Parallel extensions in .NET 4 (which are also available in CTP for .NET 3.5 now).

Also worth keeping an eye on is the Microsoft Parallel Programming team blog.

Monday, November 10, 2008

Software Factories resurface as "Blueprints"

 

Back on 25th October, I said.......

Steve Cook is co-author of seminal book on Software Factories : : Assembling Applications with Patterns, Models, Frameworks, and Tools, together with Jack Greenfield, Keith Short & Stuart Kent.  After a drought of over 2 years, Keith Short has surfaced to tell us he's been working on Oslo, so I wonder if Jack has also?  Has the software factory initiative morphed into Oslo?

Well, not quite.........

Just notes for now

http://infosysblogs.com/microsoft/2008/11/microsoft_blueprint_walkthroug.html

http://infosysblogs.com/microsoft/2008/11/microsoft_blueprints_building.html

http://msdn.microsoft.com/hi-in/architecture/blueprints(en-us).aspx

http://msdn.microsoft.com/hi-in/architecture/dd179252(en-us).aspx

http://channel9.msdn.com/wiki/softwareplusservicesblueprints/

http://www.codeplex.com/blueprints

http://msdn.microsoft.com/hi-in/architecture/dd179251(en-us).aspx

 

A one day lab on the DSL Tools has been posted.

 

 

http://wildermuth.com/2008/11/08/Why_Domain_Specific_Languages_are_Important_to_Everyday_Developers

http://wildermuth.com/

 

Andre Furtado - PhD Candidate (UFPE), Software Engineer (Microsoft Corporation) has a Codeplex project - Feature Model DSL.  This is based on the Feature Model DSL in the Practical Software Factories in .NET by Gunther Lenz and Christoph Wienands.  Haven't run it yet, 'cos the installer said I needed VB :-(

New stuff - 11 November

StyleCop violations as you type

There's a new release of StyleCop for ReSharper.  Howard van Rooijen has been joined by some other devs.  This means that you get hit with StyleCop violations as you type.

VS2010 goes WPF

Brad Abrams has a short video of Scott Guthrie's PDC keynote about some of the things coming in VS2010.  In the video Scott reveals that VS2010 will use WPF and also use MEF(managed extensibility framework) to extend it.  So that's a great validation for us about WPF which we're using, and MEF which we'll probably adopt.  The video's only 6 minutes and is really worth it.

Hammett (founder of Castle Windsor - now working on MEF) talks about the proposed lifetime support for MEF.

Other new stuff

Drop 5 of Prism v 2 is out.

Distributed Development

I recently blogged about some new paper guidance from the Patterns & Practices team about distributed development.  The article about Distributed Agile Development is essential reading for any distributed development shop.

A useful companion to this article is work being done by David Tuffley at Griffith University.  I saw David present at an ACS meeting on work he is doing on Leadership of Integrated Virtual Teams.  As the title implies it particularly looks at the expanded leadership characteristics that are essential to get the most out of virtual / distributed teams.

Both articles recognise that whilst co-located teams are preferable, in today's world this is not always possible.  So recognising this reality, they provide practical suggestions and a framework to lift our game in this area.

Saturday, November 1, 2008

PDC without the cost & jet lag

You can watch videos of the PDC sessions on channel9.msdn

These are the ones that are on my viewing list:

  1. Day Two #2 - Chris Anderson and Don Box - Keynote
  2. Day Two #1 - Ray Ozzie, Steven Sinofsky, Scott Guthrie and David Treadwell - Keynote
  3. Day One - Ray Ozzie, Amitabh Srivastava, Bob Muglia and David Thompson - opening keynote
  4. Oslo - The Language - Don Box
  5. A Lap around Oslo - Douglas Purdy
  6. Oslo - Customizing and Extending the Visual Design Experience - Don Box
  7. Windows 7- Design Principles for Windows 7 - Samuel Moreau
  8. A Lap Around Windows Azure - Manuvir Das
  9. Team Foundation Server 2010: Cool New Features - Brian Harry
  10. Microsoft Visual Studio Team System- A Lap Around VSTS 2010 - Cameron Skinner
  11. Managed Extensibility Framework- Overview - Glenn Block
  12. Microsoft Sync Framework Advances - Lev Novik
  13. Parallel Programming for Managed Developers with the Next Version of Microsoft Visual Studio - Daniel Moth
  14. Microsoft Visual Studio- Bringing out the Best in Multicore Systems - Hazim Shafi
  15. Entity Framework Futures - Tim Mallalieu
  16. WF 4.0- A First Look - Kenny Wolf
  17. WF 4.0- Extending with Custom Activities - Matt Winkler
  18. The Future of C# - Anders Hejlsberg
  19. Deep Dive- Dynamic Languages in Microsoft .NET - Jim Hugunin
  20. Framework Design Guidelines - Krzysztof Cwalina & Brad Abrams
  21. Microsoft Expression Blend- Tips & Tricks - Douglas Olson
  22. WPF Roadmap - Kevin Gjerstad
  23. Silverlight Controls Roadmap - Shawn Burke
  24. Microsoft Silverlight, WPF and the Microsoft .NET Framework- Sharing Skills and Code - Ian Ellison-Taylor
  25. Microsoft .NET Framework- Declarative Programming Using XAML -

I wonder how long I'll take to get through more than a 24 hour day's worth of riveting presos, especially as I haven't finished the first one yet?

Thursday, October 30, 2008

PDC announcements....

LINQ to SQL  being killed off ?

As per Tim Mallalieu's blog, We’re making significant investments in the Entity Framework such that as of .NET 4.0 the Entity Framework will be our recommended data access solution for LINQ to relational scenarios.  We are listening to customers regarding LINQ to SQL and will continue to evolve the product based on feedback we receive from the community as well.

That seemed to be the message we've been decoding for a while, so lucky we didn't go down that route.

PDC Summaries

Ayende gives his first impressions of using the CTP - Ayende on VS2010

Martin Fowler gives his impressions of Oslo based on a sneek preview prior to the release at PDC

Sam Gentile's points to his  trusted folks summary for PDC day 2

Silverlight & WPF seem to be coming together according Andres Aguiar's report

The Velocity team have announced Velocity CTP 2.  Microsoft project code named "Velocity" provides a highly scalable in-memory application cache for all kinds of data.

Silverlight has Visual State Manager, but it's not yet in WPF.  However the Expression Blend team tell us how to expose it  - Blend 2 SP1 + WPF Toolkit = Visual State Manager for WPF - see previous blog entry.

P&P Guidance

J. D. Meier's Patterns & Practices team has been busy with releases of paper guidance

and this comes on top of the App Arch Guide book that I blogged about earlier in the week.  I've started reading it, and it's definitely recommended reading material.  We'll be following and using it.

Wednesday, October 29, 2008

New Versions of Unity, EntLib, WPF data grid

With all of the futuristic announcements at PDC, it's easy to miss some significant (for us) dot point releases of tooling we're using.

Tuesday, October 28, 2008

Fire Hose Drinking Time

Well it's PDC time and time to have truck loads of emerging technologies thrown at us.

Shannon, Nick & John will be able to give us the view direct from LA, but so far some of the blogger geeks have kept me up to date.

The announcements that have caught my attention so far (and some of them we knew were coming, so they're not entirely new) are:

  • Azure - "Build new applications in the cloud - or use interoperable services that run on Microsoft infrastructure to extend and enhance your existing applications".  Ok, we've heard all about cloud computing for quite a while, and this looks like a down payment on the promise.  The CTP is up now.
  • The next Rosario CTP - Visual Studio 2010 and .NET Framework 4.0 - is up.  It's still just a VPC image, but we'll get this up and running soon.  The marketing dudes have had a field day with the hype - enough to make you puke : "Visual Studio 2010 and the .NET Framework 4.0 mark the next generation of developer tools from Microsoft. Designed to address the latest needs of developers, Visual Studio delivers key innovations in the following pillars:
    Democratizing Application Lifecycle Management
    Application Lifecycle Management (ALM) crosses many roles within an organization and traditionally not every one of the roles has been an equal player in the process. Visual Studio Team System 2010 continues to build the platform for functional equality and shared commitment across an organization’s ALM process.
    Enabling emerging trends
    Every year the industry develops new technologies and new trends. With Visual Studio 2010 and .NET Framework 4.0, Microsoft delivers tooling and framework support for the latest innovations in application architecture, development and deployment.
    Inspiring developer delight
    Ever since the first release of Visual Studio, Microsoft has set the bar for developer productivity and flexibility. Visual Studio 2010 continues to deliver on the core developer experience by significantly improving upon it for roles involved with the software development process. .NET Framework 4.0 contains numerous improvements that make it easier to develop powerful and compelling applications.
    Riding the next generation platform wave
    Microsoft continues to invest in the market leading operating system, productivity application and server platforms to deliver increased customer value in these offerings. With Visual Studio 2010 and .NET Framework 4.0 customers will have the tooling support and the platform support needed to create amazing solutions around these technologies.
  • Windows 7 - our guys will get an alpha edition Tuesday
  • Office 14
  • C# 4.0 and beyond
  • Oslo - more marketing hype : “Oslo” is the code name for our platform for model-driven applications. The goal of “Oslo” is to provide a 10x productivity gain by making model-driven applications mainstream with domain-specific models, a new language and tools.  It's all there on MSDN at the
  • Oslo Developer Center

          I'm following jb's blog for some early highlights - and he's got articles about most  the above.  He's from Mindscape who are giving us awesome service for their WPF property grid (thanks Ivan).

          App Arch Guide

          J. D. Meirs and the patterns and practices team have release ver 2.0 of the P&P Application Architecture Guide book.  I've downloaded it, and it's on the reading list.

          Sunday, October 26, 2008

          Prism, WPF and Scrum

          There's a community contribution project on Codelplex for Prism (Composite Application Guidance for WPF and Silverlight).  New stuff includes a WindowRegionAdapter, bootstrapper extensions, and the use of Castle Windsor instead of Unity.

          We're on the lookout for a docking control for WPF.  Here's what I've found so far:-

          Haven't checked them out as yet - but looks like we'll have plenty to choose from.

          An oldie but a goodie - I came across an intro to Scrum by Ken Schwaber - worth a read.  I'm also off this Wednesday 29th Oct to the first meeting of the Brisbane Agile/Scrum User Group.

          Friday, October 24, 2008

          25th Oct weekly trawl

          Vista, Windows 7, .NET 4

          Winston tells us to expect Vista SP2 - http://feeds.feedburner.com/~r/TheSmartClientFactory/~3/430907304/windows-vista-service-pack-2.html

          And more speculation about release dates for Windows 7 around end 2009 - http://www.istartedsomething.com/20081022/windows-7-targets-october-2009-rtm-retail-soon-after/

          Dave Bost shows off the new logo for .NET - http://feeds.feedburner.com/~r/DaveBost/~3/431374104/

          WPF related

          Prism v2 drop 4 is out and has a focus on composition - http://blogs.msdn.com/erwinvandervalk/archive/2008/10/24/prism-v2-drop-4.aspx

          Rockford Lhotka is sold on SL / WPF.  Sure there's a learning curve, but once you're there, it's no turning back  - http://www.lhotka.net/weblog/IsSilverlightReadyForBusinessApps.aspx

          Karl Shifflett puts forward ideas for building WPF LOB forms.  He wants a solution that:

        • enables RAD GUI layout and maintenance of LOB forms
        • is toolable
        • leverages the intrinsic power of WPF & Silverlight
        • can be styled
        • lays itself out
        • responds well to localization

          Sounds like just what we're after :-) - http://karlshifflett.wordpress.com/2008/10/23/wpf-silverlight-lob-form-layout-searching-for-a-better-solution/

          James Kovacs has posted a slide deck on composite apps and Prism in particular - http://codebetter.com/blogs/james.kovacs/archive/2008/10/21/principles-patterns-and-prism-presentation.aspx

          John Stockton is also pondering on the designer / developer interaction for Silverlight / WPF projects - just like we are - http://riathoughts.com/blog/designer-developer-workflow/

          Glenn Block provides good insight with http://codebetter.com/blogs/glenn.block/archive/2008/10/19/finding-the-right-level-of-coupling.aspx, and also reports on bringing Prism to Winforms - http://blogs.msdn.com/gblock/archive/2008/10/20/bringing-prism-to-winforms.aspx - not that we'd go that way.

          Josh Smith has released Crack.NET, a tool which allows you to inspect and manipulate the managed objects in the memory of another process. Also it allows you to write scripts in IronPython and have them run in Crack.NET allowing you to do all kinds of manipulations - http://joshsmithonwpf.wordpress.com/2008/10/20/introducing-cracknet/ and http://joshsmithonwpf.wordpress.com/cracknet/

          The source code for much of WPF, as in .NET 3.5 Sp1 has been made available at -http://blogs.msdn.com/rscc/archive/2008/10/22/wpf-sources-for-net-framework-3-5-sp1-are-available.aspx

          Shane Morris tells of a SilverLight designer & developer network just set up (in Melb) - http://blogs.msdn.com/shanemo/archive/2008/10/20/silverlight-designer-and-developer-network-launches-in-melbourne.aspx

          Other

          Iron Python 2.0 RC1 is out - http://www.codeplex.com/IronPython/Release/ProjectReleases.aspx?ReleaseId=17404

          Soma announces DevLabs - an initiative to showcase innovative new stuff - http://blogs.msdn.com/somasegar/archive/2008/10/23/inspiring-through-innovation-devlabs.aspx

          One of the first projects is Pex - automated white box testing for .NET.  It will be in .VS2010 (Rosario), see http://blogs.msdn.com/nikolait/archive/2008/10/24/pex-now-a-devlabs-project.aspx and http://blogs.msdn.com/nikolait/archive/2008/10/22/pex-0-8-released-featuring-code-digger-and-stubs.aspx

          Following on from Scott Hanselman's T4 list of resources - here's another one - http://blog.magenic.com/blogs/jons/archive/2008/10/23/How-to-Pass-Parameters-to-the-T4-Code-Generator_3A00_-Stuff-Found-on-the-Web.aspx

          Some neat TFS tools are at http://blogs.msdn.com/buckh/archive/2008/10/22/tools-for-tfs-on-codeplex-teamreview-and-info-kiosk.aspx

          Gareth Jones of the DSL team points to some new screencasts - http://blogs.msdn.com/garethj/archive/2008/10/21/new-dsl-screencasts-avaialble-from-vsx-conference.aspx

          Steve Cook points to some new videos on Visual Studio 10 architecture features http://blogs.msdn.com/stevecook/archive/2008/10/21/architecture-edition-videos.aspx. Now I wonder what the marketing people are going to do with this - not much value if it just gets squireled away in an "Architecture Edition"

        • Steve Cook is co-author of seminal book on Software Factories : : Assembling Applications with Patterns, Models, Frameworks, and Tools, together with Jack Greenfield, Keith Short & Stuart Kent.  After a drought of over 2 years, Keith Short has surfaced to tell us he's been working on Oslo, so I wonder if Jack has also?  Has the software factory initiative morphed into Oslo?

          And because we'll be using some LINQ stuff on one of our current projects, here's some links to some useful tools.  They're not exactly new, but I think we'll find them of use  - a visual LINQ query builder - http://blogs.msdn.com/mitsu/archive/2008/04/02/visual-linq-query-builder-for-linq-to-sql-vlinq.aspx and LinqPad - http://www.linqpad.net/

          Sunday, October 19, 2008

          20 Oct 08 - Interesting Stuff

          WPF & UX finds

          Karl Shifflett has a good blog about WPF matters, and has developed what looks to be a useful set of XAML Power Toys - http://karlshifflett.wordpress.com/xaml-power-toys/ and http://karlshifflett.wordpress.com/2008/10/19/xaml-power-toys-34-released/

          On Codeplex there's a Microsoft project for a  Health Common User Interface http://www.codeplex.com/mscui/Release/ProjectReleases.aspx?ReleaseId=18361

          The Windows User Experience Interaction Guidelines (UX Guide) has been updated for ribbons, touch, pen and printing - see http://msdn.microsoft.com/en-au/library/aa511258.aspx

          The guys at Querdenker Software have posted their WPF helpers, etc on Codeplex - so might be worth a look - http://www.codeplex.com/qdframework

          Joel Bennett has posted code to allow a WPF window to snap to the screen edge - http://huddledmasses.org/wpf-windows-that-snap-to-screen-edges/

          Michael Wasserman has posted his Touchless SDK on Codeplex.  This allows a webcam to be used as an input device to for instance track the movement of a physical object - see http://visualstudiomagazine.com/news/article.aspx?editorialsid=10303 - and http://www.codeplex.com/touchless

          Windows 7, SQL Server & .NET stuff

          Scott Hanselman has compiled a list of T4 templating resources, and asks why more people are doing code gen from templates Codesmith style - http://www.hanselman.com/blog/T4TextTemplateTransformationToolkitCodeGenerationBestKeptVisualStudioSecret.aspx

          The Parallel Programming team are gearing up for their offerings being released as part of .NET 4.0 - http://blogs.msdn.com/pfxteam/archive/2008/10/10/8994927.aspx

          The gos seems to be that Windows 7 will be here much sooner than most might expect.  Here's yet another teller of this story - http://uxevangelist.blogspot.com/2008/10/windows-7-development-process.html.  This lines up with what a colleague who now works for Microsoft has been hinting at.

          The RTM for Microsoft Sync Framework v1.0 has been released - http://www.microsoft.com/downloads/details.aspx?FamilyID=c88ba2d1-cef3-4149-b301-9b056e7fb1e6&displaylang=en.  So what will the Armenian steak lovers think of it?

          Pinal Dave has an intro article - Simple Example of CLR Stored Procedure - http://blog.sqlauthority.com/2008/10/19/sql-server-introduction-to-clr-simple-example-of-clr-stored-procedure/

          And finally there's release of Microsoft SQL Server 2008 Report Builder 2.0 - http://www.microsoft.com/downloads/details.aspx?FamilyID=9f783224-9871-4eea-b1d5-f3140a253db6&displaylang=en.  From the download page:

          Microsoft SQL Server 2008 Reporting Services Report Builder 2.0 delivers an intuitive, Office-like report authoring environment enabling business and power users to leverage their experience with Microsoft Office 2007 products. Microsoft SQL Server 2008 Reporting Services Report Builder 2.0 supports the full capabilities of SQL Server 2008 Reporting Services including:

          • Flexible report layout capabilities of SQL Server 2008 Report Definition Language
          • Data Visualizations including charts and gauges
          • Richly formatted textboxes
          • Export to Microsoft Office Word format

          Features specific to Report Builder 2.0 are focused on simplifying the process of creating and editing reports and queries and include the following:
          • Easy to use wizards for creating table, matrix and chart data regions
          • Support for directly opening and editing reports stored on the report server
          • Support for using server resources such as shared data sources
          • Query designers for multiple data sources including a Microsoft SQL Server-specific query designer

          Thursday, October 9, 2008

          Back after a holiday

          Had a great holiday in Melbourne and Tasmania recently, so missed out the weekly blog entry :-(

          Ayende Rahien is a prolific blogger, usually worth a read, and he's been writing a book on Domain Specific Languages - specifically for Boo, yet another .NET language.  He's using the Manning "Early Access Program", which means you can buy the electronic copy and read it as it's being written.  I've read the first (free) chapter, which gives a very good overview of DSLs.

          Lots of content about parallel programming in the latest MSDN magazine.

          The Patterns & Practices people continue to add to the "App Arch Guide 2.0 Knowledge Base".   To quote : The App Arch guide provides design-level guidance for the architecture and design of applications built on the .NET Framework. It focuses on the most common types of applications, partitioning application functionality into layers, components, and services, and walks through their key design characteristics.This guide is a collaborative effort between patterns & practices, product teams, and industry experts.  Certainly worth a look for "How Tos" such as

        • How To - Structure Your Application
        • How To - Design Presentation Layer
        • How To - Design Business Entities
        • How To - Design Business Components
        • How To - Design Business Workflow Components
        •  

          The MSBuild Extension Pack codeplex project provides some useful additions.

          Glenn Block announced a Codeplex project "to leverage IoC containers / service location mechanisms without taking hard dependencies", and he has a nice article on what is MEF - Managed Extensibility Framework.

          We have also been pondering over when to use Unity versus MEF versus MAF (System.AddIn).  Our conclusion is that we use Unity as our IoC / DI container, we consider MEF as a solution for extensibility, and where we need security / isolation then we look to MAF or VSTA.  Glenn explains this on a Codeplex thread.

          The "Morning Brew" from Chris Alcock is a really good distillation of news which should be on your blog roll - it's where much of my content comes from.

          Paul Stovell, who's been working with us, has a new article Architecture: Five tips for Low Friction Projects, some of which are somewhat controversial.

          Back in June, I blogged about PostSharp - AOP for .NET.  Ayende has had a look and was very impressed.

          Tuesday, September 16, 2008

          The Future of Expression Blend

          Don Burnett changed his blog address a while back and I missed it so have not seen his insightful UX blogs on my aggregator for a while.  He's written a good entry which includes a link to how you can get Intellisense for Blend 2.5.  Sounds like I should check it out.

          Wireframe style

          Interaction Designers / UX people usually start out with low fidelity wireframe mockups for preliminary UI designs, often in a tool like Powerpoint  They are done in black & white so that the commenting audience can see that they are not finished, and you are more likely to get them to constructively comment.  A corollary of this is that it's time to stop collecting feedback when it gets down to discussing colours.

          We're working with WPF, sometimes we use the Visual Studio designer and sometimes we use Blend.  So in discussion with our UX guy today, we came up with the idea of a "wireframe" theme for WPF that we can apply to get feedback on the first iterations of the XAML storyboard.  We'll be trying this out.

          Monday, September 15, 2008

          Weekly trawl

          The new version of NDepend comes with interactive code dependencies graph.  Looks interesting.....

          Jaroslaw Kowalski has written an adapter to allow the use of POCO (Plain Old CLR Objects) with Entity Framework.

          Keith Elder has some useful thoughts on Building the “Good Enough” Framework.

          Howard van Rooijen blogged some time back about integrating StyleCop with ReSharper.  "StyleCop for ReSharper" is a ReSharper 4.1 plugin that allows Microsoft StyleCop to be run as you type, generating real-time syntax highlighting of violations.  He's now published the plugin on Codeplex.

          I've been looking around for a tool that converts Word docs to XAML, and whilst I found some rather convoluted solutions, it was nice to Michael Scherotter post a Word 2007 Add-in solution on Codeplex.  For WPF the document is converted into a FlowDocument element.  An easy way to include rich documentation in your WPF (and SL) apps. I've tried it out and it's pretty cool!

          Because we're got a focus on UX right now, I was interested to see the Microsoft Health Common User Interface (CUI) published on Codeplex.  It provides Design Guidance and Toolkit controls in Silverlight, WPF, ASP.NET & WinForms.  Whilst it's specific to health, there should be a number of the guidelines that are transferable.

          Jimmy Bogard has written some IoC container guidelines.  He's based them around StructureMap, but it was good to see that we are applying some of the guidelines with our Unity work.

          Sunday, September 14, 2008

          The week gone by - 14 Sept 2008

          Shane Morris, Microsoft UX evangelist for Australia paid us a visit on Fri 12th to give inspire us about the importance of user experience and what it means to Microsoft and to partners like use.  Shane's blog is worth subscribing to.  We've also had Matt Morphett who Shane holds in very high regard, working with us on some interaction design.

          I've been looking more closely at the DLR - Dynamic Language Runtime, especially after I talked with Harry Pierson at TechEd.  Harry looks after Iron Python, and V2.0 will run on the DLR.  It seems to hold great promise in the "scripting" environment.

          Jimmy Schementi has updated the Silverlight Dynamic Languages SDK with the newest DLR, IronRuby, IronPython, and JScript binaries and sources.  I've also read that a dynamic version of VB is also slated to run on the DLR, but it's been pretty quiet since the MIX07 announcement, so maybe we'll hear something more at PDC.

          Also of interest is DLR Pad, which creates an interactive programming environment for IronPython and WPF.  It's on Codeplex.

          Poking around in the IronPython space, I came across Resolver which is an interesting Excel-like / Python fusion - written mainly in IronPython.  Harry Pierson mentioned it as a solid reference implementation for IronPython.

          The main community site for IronPython is here.  Also Michael Foord & Christain Muirhead are writing a book - IronPython in Action - which I've started to read.  One thing that I did learn was that it got its name from the famous BBC show- nudge, nudge:-).  There's also heaps of material on the official Python site

          When looking at Resolver, I came across a Code Project by Sebastien Lorion - A Fast CSV Reader, which could be useful.

          Sunday, September 7, 2008

          TechEd Sydney 2008

          Shane Morris, Microsoft's UX evangelist in Australia gave a couple of great presos.  He used deep zoom in his UX session and showcased the Expression suite in another.

          Local Brisbane boys Anthony Borton & William Bartholemew demo'd the architect features of Rosario, and the word is that the next CTP will coincide with PDC at the end of October. Particularly neat are the architectural discovery and validation features.  We can also expect some new features as well.  Hopefully the architect features will be available to all developers.

          Harry Pierson's session on moving beyond the industrial age into what he terms the "individual age" was thought provoking.  His main tenet was that today's institutions and the was we do IT is still rooted around a factory mentality, and that we will change.  Harry in his new role with the Iron Python team extolled the virtues of open source dynamic languages.  Expect Iron Python 2 integrated into Visual Studio just after PDC, an alpha version of Iron Python built on the DLR around the same time, as well as an Iron Ruby beta.

          Paul Stovell (who's doing work for us) talked on Reactive Programming - which he describes as "data binding gone mad".  He also demo'd his own Bindable LINQ.

          Elvin Slavik gave an overview of SQL Server 2008 spatial features.  The new geometry and geography types provide a complete storage mechanism for spatial data (x,y,z & m) but the spatial functions are only 2D for now.

          Another Queenslander, Joel Pobar gave a great overview of F#.  He gave 3 compelling reasons for functional languages.  In a data driven world, we need higher order algorithms and techniques to derive value.  In a world where scalability is king, we need tools, frameworks and languages that scale.  To take advantage of the multi-core (r)evolution we need more adaptive languages and compilers.

          Kiwi Chris Auld outlined what's coming in Oslo.  It's being run by the Connected Systems Division which also looks after BizTalk, WCF and WF.  Expect Oslo in around 12-18 months time over 3 waves.  First up we'll see a new version of workflow foundation in .NET 4 and Rosario VSTS .  The new WF will have a better designer and improved UX and will include a new "flowchart" workflow type.  At present we have sequential which is simple, but not too useful as it doesn't support "go back" operations.  The state machine workflow allows you to do anything, but is more complex to implement.  The new flowchart workflow is designed to fit between  these extremes.  It will still be aimed as devs rather than end users.  The second wave will include the repository, visual editor and a process server(WF/WCF only), with the third wave including the full process server(lifecycle manager and BizTalk host).  To summarise, Oslo is a repository and a modelling language and tooling to facilitate building and deploying mega composite systems.  Expect the first CTP at PDC.

          Weekly blogs of interest - 7 Sep 2008

          J. D. Miers from Patterns and Practices continues his Application Architecture Guide with an article on Layers & Components.

          The famous Don Box gives his elevator talk on Oslo.

          The second CTP of MEF (managed extensibility framework) is now on Codeplex.  See announcements from Glen Block(ex Prism), Brad Abrams, Hammett (the guy behind Castle Windsor) and Krzysztof Cwalina.  That's some pretty heavyweight people who are involved - so it's certainly worth watching.  In the meantime we'll be sticking with Unity for now, but we'll be taking  close look.

          Blaine Wastell and David Hill have blogged about the latest plans for Prism 2.0

          Karl Shifflett has created what looks like a pretty cool XAML Power Toy for WPF for now.

          The F# September 2008 CTP has been announced by Soma.  Lots of blogging activity about the new functional programming language.

          Mike Taulty has posted some WPF examples and also has an article about why XBAPS are Rich Internet Applications

          David Starr has an interesting idea about how to judge if your products are "technically current".

          Josh Smith is a fan of MVVM and shows off another example.

          Yet another top dev is joining Microsoft.  Andrew Peters, co-founder of Mindscape (WPF Property Grid & Lightspeed) will be working on Entity Framework.

          Sunday, August 31, 2008

          First day of Spring blog links

          Hello Prism 2.0 - WPF & Silverlight  mashed

          http://blogs.msdn.com/dphill/archive/2008/08/31/hello-prism-2-0.aspx

          F# Optimization Modeling Language Sample Utilizing Microsoft Solver Foundation

          http://blogs.msdn.com/dsyme/archive/2008/08/30/f-optimization-modeling-language-sample-utilizing-microsoft-solver-foundation.aspx

          Codeplex WPF property grid

          http://www.codeplex.com/wpfpropertygrid

          QuickGraph 2.0: Generic Graph Data Structures and Algorithms for .Net.- Shortest path, etc

          http://www.codeplex.com/quickgraph

          WPF RSS reader

          http://www.codeplex.com/paperboy

          MS Surface home page

          http://www.microsoft.com/surface/index.html

          Josh Smith on MV-V-M

          http://www.codeproject.com/KB/WPF/AttachedBehaviors.aspx

          Extensible Framework Design Studio Released

          http://blogs.msdn.com/kcwalina/archive/2008/08/30/8910353.aspx

          September MSDN mag

          Useful articles on Prism, WPF routed events, dependency properties in WFP, & SQL Server 2008 data hierarchies

          http://msdn.microsoft.com/en-au/magazine/cc895445.aspx

          Article on Iron Python

          http://www.code-magazine.com/Article.aspx?quickid=0809071

          Clone detective for Visual Studio

          http://weblogs.asp.net/paulomorgado/archive/2008/08/28/clone-detective-for-visual-studio.aspx

          More .NET languages for VS / Shell

          http://www.atalasoft.com/cs/blogs/rickm/archive/2008/08/28/visual-studio-shell-2008-is-bringing-more-net-languages-into-the-visual-stuido-fold.aspx

          Building a generic IoC wrapper.

          http://www.codeinsanity.com/2008/08/building-generic-ioc-wrapper.html

          A WPF ah-ha moment

          http://weblogs.asp.net/sweinstein/archive/2008/08/27/the-wpf-ah-ha-moment.aspx

          Tuesday, June 3, 2008

          PostSharp - AOP for .NET

          I stumbled across PostSharp, an open source project to provide aspect-oriented programming(AOP) to .NET developers.

          Of interest too are some additions to PostSharp:

          Parallel Extensions to .NET Framework

          Yesterday the June 2008 CTP of Microsoft Parallel Extensions to .NET Framework 3.5 was released.  There is also an MSDN developer centre.  I watched a 20 minute video which walked through some of the samples - worth a look.  The presenter (Daniel Moth - "the Moth") said that they are focused on the API surface at this stage in the lifecyle and not much has been done on performance.  Look in the download at the chm doco for some good ideas about how software can start to take advantage of multi-cores.

          Tuesday, May 20, 2008

          Long Time No Write

          So long since the last post :-(

          Have come across quite a few interesting posts recently.

          The VS/VSTS/TFS 2008 SP1 beta seems to signal a new direction for Microsoft.  It hardly fits the criteria for a SP, and if they continue this approach, I think it will mean significant updates at least every year.  It also explains why Rosario has been delayed.

          A few posts in the unit testing / mock area:-

          "Alachisoft has released NCache Express 3.2, a FREE in-memory distributed object cache for .NET. NCache Express lets you scale up your .NET application performance by caching frequently used application data close-by and reducing expensive database trips. NCache Express is totally FREE to use and is not a trial version."  More

          There are some WPF videos around SP1.  I watched the David Teitlebaum one which showed some cool effects - but just got to work out where we could use them!

          Some good ideas re the use of ReSharper

          Good to see that Unity (1.1) is now a part of EntLib 4.0, which indicates a good future for it when coupled with Krzysztof Cwalina's article on MEF (Managed Extensibility Framework) which implied that Unity will morph in the .NET framework after it's passed the test of time".

          There's also been a good series on how Microsoft Dev Division uses Team System.  Latest post is chapter 7 on risk.