Review of 2009 blog posts

General No Comments »

In the past year, I’ve posted more than 30 articles on my blog. Here is a summary of those posts (link in bold are those which got the most traffic during the year). Obviously, MVVM was a very hot topic during 2009 :-)

January

February

March

April

May

July

August

September

October

November

2010 roadmap

General No Comments »

I wish a happy new year to all my readers across the web. I thank you for all the feedback I got during the past year and I hope we will be able to exchange more in 2010. In this post, I’m sharing with you my roadmap for interesting events and dates in 2010:

  • January 7-10th: CES (Consumers Electronic Show) in Las Vegas
  • February 8th – 10th: Microsoft TechDays in Paris. I’ll be there  for the event and I’m hoping to be recruited by Microsoft for the ATE (Ask The Expert) stand where I’d like to share my WPF experience with other developers
  • March: release of Visual Studio 2010 and .Net 4.0 RC
  • March 15-17th: MIX10 in Las Vegas. We can expect more announcements about Silverlight4 and hopefully some information about the future of Silverlight on mobile and demos of Windows Mobile 7 as well
  • April: release of Visual Studio 2010 and .Net 4.0 final
  • Autumn : release of Windows Mobile 7

I think 2010 is going to be an exciting year with VS2010, .Net4, Silverlight4 and hopefully a mobile version of Silverlight too. Stay tuned :-)

Announcing the “WPF internals” series

.Net, General, WPF No Comments »

I’m starting a new series of article I’m calling “WPF internals” where I’ll be reviewing how things works <inside> WPF. I haven’t the entire content yet, but here is a summary of what I’m planning to do:

  • Part 1 of N: what are the core WPF classes ?
  • Part 2 of N: how the WPF controls are organised ?
  • Part 3 of N: how ZIndex works ?
  • Part 4 of N: how InputGestures works ?
  • Part 5 of N: how databinding with DataContext works ?
  • Part 6 of N: how databinding with an ItemsControl works ?
  • Part 7 of N: what is the difference between a ContentControl and a ContentPresenter ?

I setup a new page in the header so that links are easy to access.

All the information that I’m going to give here is based on my PERSONAL understanding using tools like Reflector and VS Class Diagram Designer that help me figure out how things fit together. I’m neither a Microsoft WPF Architect nor a Program Manager on the .Net framework !

Please let me know if you’re interested in special topics, I’ll do my best to try to include them in the series. Please also feel free to leave comments on the articles so that if I’m misunderstanding something I can fix it.

I hope to post the first article this week (before October, 16th)

.Net4, WPF4 and VS2010 interesting links

.Net, General, Tools, Visual Stutio, WPF 2 Comments »

Since the release of VS2010 last week a lot of cool blog posts had been written. The thing is more than VS2010 itself, the Beta1 comes with .Net4 and WPF4 too, and that’s exciting too !

Because I didn’t have time yet to write my own feedback, I’m sharing some links I found the last couple of days.

Download

  • A full list of what is available to download (VS2010, .Net framework…) can be found here.

MSDN Documentations

  • .Net Framework4 Beta1: here
  • What’s new in .Net Framework4 Beta1: here
  • WPF4 Beta1: here
  • What’s new in WPF4 Beta1: here
  • VS2010 Beta1: here
  • What’s new in VS2010 Beta1: here

From Beta1 to Beta1 and RTM

  • Jaime Rodriguez wrote a very nice article today and share his “insider view” of what’s on the road to RTM.
  • Karl Shifflet explained on his blog what’s going to change in the DataBinding pipeline (no more dummy converter !)

Channel9

  • Interviews of WPF and Silverlight program managers.
  • Rob Releya is also talking on the new XAML stack available in the framework. More information can be found on his blog.

Other bloggers

And also, Blend3

  • Unni’s wrote an article about updates that had been made to Blend regarding user feedback on Connect.

StyleCop + Resharper = StyleCop for Resharper addin

General 1 Comment »

If you’re a .Net developper then you MUST use ReSharper. I you don’t, I suggest you to have a look at this very nice video demonstrating some of the feature of this Visual Studio addin. If you also like having a clean C# code, then you might also use Microsoft StyleCop tool.

I just found this a very cool Resharper plugin that allows Microsoft StyleCop to be run as you type, generating real-time syntax highlighting of violations:

The StyleCop for Resharper plugin is hosted on CodePlex and is free. I think it’s a must have for any .Net developer. Its author really did a good work :-)

kick it on DotNetKicks.com

Microsoft StyleCop vs Agility

General No Comments »

When I write code, I try to keep it as clean as possible by following rules that I define and use in all my project. Those rules can be the ordering of elements within a class, or the way I choose name for my properties and methods…

Microsoft created a tool that analyzes C# source code in order to enforce a set of style and consistency rules : it’s StyleCop (available for free to download). StyleCop defines a lot of rules, for example:

  • Element must begin with an upper case letter
  • Field name must begin with a lower case letter
  • Prefix local calls with the “this” prefix

It is possible to enable or disable each rules separately, and this is what most users will do. Running StyleCop on one of your project can lead to thousands of warning. You can then choose which rules you want to keep enabled.

I started to use StyleCop the project I’m working on at job about one week ago. After disabling some of the rules I didn’t wanted to fix yet, I found a rules that was giving me a lot of warnings:

  • ALL elements must be documented

Hmm… This means that each single method or properties in my project must have a documentation… Well, if documentation is good lets start writing documentation everywhere. I though I will take a couple of classes per day, and write the entire documentation. I started with opening one of my class, and found this method:

?View Code CSHARP
1
2
3
4
5
public void OpenDocument(IDocument document)
{
// ...
 
}

StyleCop wasn’t happy because there wasn’t any documentation, so I wrote one:

?View Code CSHARP
1
2
3
4
5
6
7
8
/// <summary>
/// Open a document
/// </summary>
/// <param name="document">IDocument to open<param>
public void OpenDocument(IDocument document)
{
// ...
}

Then, I don’t know why but I asked myself “what the hell this documentation is going to help the user of the class ???”. Because one month earlier I went to the AgileTour (a french event about Agile methods), I remembered the Agile Manifesto:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

I was thinking a couple of minutes, and then I decided to remove the StyleCop rules about documenting EVERYTHING in my code. I think that would be a waste of time and that would preventing me to put good comments where it’s really needed such explaning an algorithm or why I choose this way over this other way to do the job.

I’m still using StyleCop to have a set of rules about the style of my code. But for now, that’s it ! I think it is very important to make the differenciation between documentation and comments. If documentation is needed because it will generate a document outside the application then it might be usefull. But if the documentation is written just to have it, I prefer forget about it.

.NET 4.0 universe

General No Comments »

A couple of days ago, I found this nice post giving a poster that show the new stuff in the next major version of the .Net framework:

The poster is available in PDF and in Deep Zoom format (pretty cool !).

So, to be consice, .Net 4.0 is:

  • a one more step to get Silverlight and WPF closer (Visual State Manager support in WPF)
  • new WPF controls (ribbon, datagrid, calendar, datepicker…)
  • new input extension to handle touch screen device
  • parallel extension (ParallelEnumerable in System.Linq)
  • new XAML functionality
  • new stuff in Workflow, Data and Web systems (I don’t know them enough to give details).

PDC 2008 : sessions videos are available online !

General 1 Comment »

Since a few days now, videos from PDC 2008 sessions are available online (hosted on Channel9) !

Many videos seems to be very interesting and I wish I could have more time to take a look at them. The good news is that the material hosted on Channel9 will be online for a looooong time, so there is absolutely no need to download everything as quickly as possible.

Here is my personal list of the sessions that I watched or I’m going to watch (hoping that next year, I’ll have the luck to watch them in live from L.A :p)

I Paris, next february there will be the TechDays (lot of technical sessions during 3 days). I hope I’ll have the opportunity to go there with the members of .Net team of my company.

Historical debugger in Visual Studio 10

General No Comments »

As you may already know, last week, Microsoft reveals the next version of Visual Studio : Visual Studio 2010.

To give more details about the new features, a “Visual Studio 10″ week was set up on Channel9, and every day new features were described. You can find a list of the available screencast here.

I didn’t have time to watch all the videos, but I take a look at the historical debugger video and I must admit I was really impress by this new tool. Basically, using the historical debugger feature we will be able to “record” a debug session, and then, as using a “time machine” we will be able to step back in time through the debugger and find out what goes wrong.

I think this is a very cool feature and we can hope to improve the time we need to fix a bug (no more need to set multiple breakpoints to get closer to the bug iteration after iteration). I’m looking forward to play with it !

Hello world!

General No Comments »

Welcome !

Here is my personal website. I built this website using Wordpress because I’d like to be able to regularly blog about the technologies I’m using. This website also contains some information about myself such as my resume and other websites I have.

I hope you’ll like it :)

Jérémy

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in