Wednesday, October 22, 2008

I'm off to DDD - are you?

Well, they opened up registration this morning, and I had to jump on it fast to ensure I get a place… That’s done, so now I can safely blog about it!

Developer! Developer! Developer! is a UK development community event that’s hosted by Microsoft at their Reading campus. The next event – DDD7, is on Saturday 22nd November.

The agenda looks really good – especially Phil & Dave’s “ASP.Net 4.0 – Top Secret” session, but it looks like there’s something for everyone there. Other potential highlights (for me, at least), include Mike Hadlow’s “Using an Inversion of Control Container in a real world application” and “Toby Henderson’s “How to develop .Net on Linux using Ubuntu”.

They just need to set up the twitter feed, the facebook event and the backnetwork now!

Get in quick! http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032393874&Culture=en-GB

Wednesday, October 15, 2008

You can't stop the light (redux).

Loads more Silverlight goodness today too.

Robin MestrĂ© has posted no less than four three-part series on why Developers, Designers , Marketing types and Application Architects should look at Silverlight. The posts are very much brochure-style, but they do give an excellent overview of the capabilities of the Silverlight platform – plenty of pictures to help you sell the technology to your managers.

Shawn Burke notes the release of Silverlight 2, but more interestingly give a teaser as to the state of play with the Silverlight Toolkit – due for a first preview release at PDC. The screenshot shows just how cool these controls are going to be.

On the WPF SDK Blog, Jim Galasyn points to the revised Silverlight 2 documentation now available on MSDN.

Finally, Scott Morrison has posted about what I think is one of the most exciting controls released as part of Silverlight 2 RTW – the DataGrid. This control will be making a number of 3rd party control manufacturers sweat – it’s already VERY fully featured, as Scott#’s post shows. In a follow-up, he also shows how to use the Frozen Columns feature – damn handy.

Silverlight Toolkit: http://blogs.msdn.com/sburke/archive/2008/10/14/silverlight-2-released-silverlight-toolkit-on-the-way.aspx

Documentation: http://blogs.msdn.com/wpfsdk/archive/2008/10/14/silverlight-2-docs-are-posted.aspx

DataGrid Features: http://blogs.msdn.com/scmorris/archive/2008/10/14/silverlight-2-datagrid-is-released.aspx

Frozen Columns: http://blogs.msdn.com/scmorris/archive/2008/10/15/freezing-columns-in-the-silverlight-datagrid.aspx

Tuesday, October 14, 2008

You can't stop the light

(was "Busy day at Silverlight Central" - don't ask!)

Yep – today the Microsoft Blogosphere has been buzzing with the news that Silverlight 2.0 has Released to the Web (RTW). Congrats to the Silverlight team on that – I was expecting the release to be closer (if not DURING) the PDC.

Of course ScottGu is the authoritative source as always, but I lost count of the MSDN blog posts today that reposted the news - now all I’ve got to do is un-install the RC0 bits and install the RTW bits before I can compile up code that will be shippable. Well, it will probably be shippable as soon as the CUI and Controls teams update their control libraries!

Interestingly, Ronan Geraghty went in a slightly different direction – pointing to a set of Silverlight tooling for Eclipse. This is good, because it gives an alternative tooling for Silverlight, and one that’s in use by a load of Java developers out there. Whilst it’s Windows only at the moment, it’s roadmap does include support for “Other OS” – so it probably won’t be long before that same tooling will allow for Silverlight / Moonlight development on Linux. Good times!

Scott shows us the light: http://weblogs.asp.net/scottgu/archive/2008/10/14/silverlight-2-released.aspx

Eclipsing the light: http://www.eclipse4sl.org/download/

Wednesday, October 08, 2008

New! Atomic Memory will wash your concurrency grime away!

I’ve kind of being expecting this to rear its head, so it’s gratifying to spot that the Transactional Memory team at Microsoft are starting a blog.

This follows on from the presentation that Simon Peyton Jones made in the final Sneak Peeks session at Mix UK ’07 – and whilst they “are not working on a product release at this time” it can only be a matter of time. It’s also nice to see another part of DevDiv opening up and gathering opinion as part of their development process.

Read about it (atomically): http://blogs.msdn.com/stmteam/archive/2008/10/08/welcome-to-the-transactional-memory-team-s-blog.aspx

Monday, October 06, 2008

REMIX UK Sessions on the Web

Well, it took a while, but at last all the sessions from ReMix UK '08 are online – time to catch up on all the sessions you couldn't get to (and maybe see if you can spot yourself in the audience for those you were at).

"Get 'em while they're luke!": http://www.microsoft.com/uk/remix08/agenda.aspx

(thanks to Mike Taulty for pointing this out in this posting)

Monday, September 29, 2008

Who'd have ever thought it...

ScottGu’s been at it again – this time, however, he’s announcing something quite unusual for Microsoft – shipping an open source toolset as part of Visual Studio in preference to creating a proprietary equivalent. To quote his posting:

I'm excited today to announce that Microsoft will be shipping jQuery with Visual Studio going forward.  We will distribute the jQuery JavaScript library as-is, and will not be forking or changing the source from the main jQuery branch.  The files will continue to use and ship under the existing jQuery MIT license.”

This is a big win – jQuery is a great framework for client-side AJAX, with a huge community behind it – and it’s also an extremely pragmatic approach – why re-invent the wheel again?

Kudos then to Scott and his team – and time to buy “jQuery in Action”, I think!

Get the low-down here: http://weblogs.asp.net/scottgu/archive/2008/09/28/jquery-and-microsoft.aspx

Friday, September 26, 2008

Scott Guthrie - Does the man never sleep?!

Only a week ago, Scott was in the UK for ReMix UK ’08, but somehow he’s managed to slip something significant into his busy schedule:

Silverlight 2 Release Candidate 0

Yep – that’s right, RC0 is here! From his posting, there are a load of bug fixes, some breaking changes, 3 new controls and a whole new look-n-feel. Password boxes and Progress bars I can take or leave, but the ComboBox is the important one as far as getting Silverlight into enterprise applications.

There’s a slight gotcha (as well as the well documented breaking changes) in that you have to uninstall Blend 2.5 before you can install RC0 (and boy did THAT take a while) but the upgrade of Blend 2.0 to SP1 (preview) was seamless. Personally I think making Silverlight support available in Blend 2.0 was the right move – not everyone is willing to use Beta software in order to get the tooling.

Good stuff and well done to Scott & his team.

Silverlight goodness: http://weblogs.asp.net/scottgu/archive/2008/09/25/silverlight-2-release-candidate-now-available.aspx

Friday, August 29, 2008

Design... Design... Design...

Kintan Brahmbhatt has posted a very good series of articles that make you think about the design process.

In asking “How would you design a kitchen?”, he looks at the design process, and reminds us about what has to be the key tenet of design – making sure that your specify something that is fit for task for the end user.

Kitchen magic starts here: http://www.kintya.com/blog/2008/08/how-would-you-d.html

Freebies are always good -

Yesterday Joe Stagner posted about the free digital release of the first draft of “Data Structures and Algorithms: Annotated Reference with Example”.

It’s not complete, and rather rough in places, but it’s definitely worth a bit of your time to remind yourself about fundamental data structures and the algorithms to manipulate them. In particular, the authors highlight the complexity of each algorithm – and tell you how the algorithm will scale.

Download, Read, Internalise:  http://dotnetslackers.com/projects/Data-Structures-And-Algorithms/

The "evil empire" embraces the source...

Lots of people have blogged about it, including The Moth, but it’s still a remarkable thing to see happen – Microsoft has released the source code to .Net 3.5 (under appropriate licenses) so you can debug into the framework itself.

Why is this important? Well, even in plain-old ASP.Net, the framework can often appear to swallow your code entirely, making it nigh-on impossible to work out why your code is broken.

Now you can trace all the way up and down the stack – and Daniel’s posted a video on how to set up VS2008 to use this to go along with the official blog.

Use the Source: http://www.danielmoth.com/Blog/2008/08/debug-into-fx-35-sp1-source.html

Thursday, August 28, 2008

Ani-XSS - Dang well just use it!

Vineet Batta has posted a great first article on the CISG blog, espousing the virtues of the Anti-XSS library available to ASP.Net developers.

 

What does Anti-XSS do? Well, plenty actually – but in particular Vineet covers how to use the SafeHtml and SafeHtmlFragment methods to sanitise rich text input from a web form. I’m looking forward to his next instalment.

 

Dang well use it!: http://blogs.msdn.com/cisg/archive/2008/08/27/what-does-anti-xss-offer-for-html-sanitization.aspx

Thursday, August 21, 2008

Quick Tip: Getting at the current Page from MasterPage code-behind

I had to work this out today as I wanted to disable functionality on a master page based on the type of page it was attached to.

The MasterPage class is one that sits “beside” the Page class in ASP.Net – specifically, whilst you can access the MasterPage instance from a Page instance, there’s no property on the MasterPage to go back to the current page.

Of course, we can fix this with a helper class – here I’ve coded the sample as an extension method just for fun:

public static class MasterPageExtensions
{
public static Page OwningPage(this MasterPage master)
{
HttpContext context = HttpContext.Current;
Page page = context.Handler as Page;
return Page;
}
}

Now we call access the page from the code-behind of a master page thus:

public partial class MyMasterPage : MasterPage
{
private void DoSomething()
{
Page currentPage = this.OwningPage();
...
}
}

Easy!

Tuesday, August 19, 2008

Nuggets of goodness

Busy day on the MSDN blogs today – as well as Mike Taulty wondering if he’s been blacklisted from TechEd (*G*), we’ve got a posting from Doug about uninstalling .Net Framework 3.5 SP1, but also serves as a very good reminder as to how the .Net framework is layered.

Next, Kirill Osenkov has a good post on understanding generics, Eric White has posts on finding duplicates using LINQ, using Lambda expressions for Event Handlers, and taking a “flat” collection and chunking it into a data structure.

Finally, Ed Glas points to a new version of Fiddler, that apart from anything else has a cool timeline visualiser.

Update: It's not over yet! Vincent Sibal has a great article covering how to use the new WPF DataGrid, and in particular it's templating options, whilst Motley & Maven have an argument about Test Automation.

Silverlight - for or against

The Register has a remarkably balanced article today giving 10 pros and 10 cons for silverlight.

Which side of the fence do you fall on? http://www.theregister.co.uk/2008/08/18/silverlight_pros_and_cons/

New version of FXCop RTMs

Monday, August 18, 2008

Dragging us kicking and screaming to the WPF Grid...

Well, not quite - but today Martin Grayson posted the second part of his Silverlight 2 samples, looking in greater detail at how to build a dragable/dockable/expanding layout.

Also notable is that the first release of the WPF Toolkit – which includes a nice WPF Datagrid. Whether this impacts the commercial offerings will have to be seen.

Drag yourself here to expand your mind:  http://blogs.msdn.com/mgrayson/archive/2008/08/18/silverlight-2-samples-dragging-docking-expanding-panels-part-2.aspx

Get into the Grid here: http://blogs.msdn.com/publicsector/archive/2008/08/18/wpf-datagrid-the-wpf-toolkit.aspx

Streaming via WCF

Nicholas Allen’s posted a nice little article today on how to stream data over a WCF service.

The trick?

binding.TransferMode = TransferMode.StreamedResponse;

Read all about it: http://blogs.msdn.com/drnick/archive/2008/08/18/streaming-web-content.aspx

Friday, August 15, 2008

Reflect on performance

Miguel de Icaza has linked to a couple of interesting articles today.

·         An in-depth explanation of how to improve performance of dynamic invocation

·         A C# port of  Google’s Protocol Buffers.

Read and reflect: http://tirania.org/blog/archive/2008/Aug-14.html