Fabrice's weblog

Tools and Source

News

My .NET Toolbox
An error occured. See the script errors signaled by your web browser.
No tools selected yet
.NET tools by SharpToolbox.com

Read sample chapters or buy LINQ in Action now!
Our LINQ book is also available on AMAZON

.NET jobs

Emplois .NET

Tuneo

ASP.NET Hosting transatlantys

Contact

Me

Others

Selected content

Archives

April 2008 - Posts

Great fluent interface sample: the fluent repeater

I'm not that much a fan of fluent interfaces, but in some cases they are well fit.

A great example is the fluent repeater created by Adrian Aisemberg. It's also a good example if you don't know what a fluent interface is.

Here is sample code that uses it:

Repeat.Call<string>(Save).WithParameters("myfile.txt").UntilSucceeds.Start(10);
Repeat.Call(Ping).PauseBetweenCalls(2000).Start(100);

Some more:

Repeat.Call(Open).InBackgroundThread.At(ThreadPriority.Lowest).
        OnSuccessCall(Opened).OnExceptionCall(Failed).Start();

This could be written in the following way using a non fluent interface:

Repeater repeater = new Repeater();
repeater.Method = Open;
repeater.InBackgroundThread = true;
repeater.ThreadPriority = ThreadPriority.Lowest;
repeater.Success += Opened;
repeater.Exception += Failed;
repeater.Start();

Which version do you prefer?

To var or not to var
C# 3.0 and VB.NET 9.0 introduced implicit typing. When you use anonymous types, it's required. The rest of the time, it's mostly a judgment call to decide whether to use implicitly-typed local variables or not.
An interesting discussion is going on about this on Jean-Paul S. Boodhoo's blog. See all the comments.

Cross-posted from http://linqinaction.net
Google killed me

In March and April, Google made a big update to its search algorithm. This update, nicknamed "Dewey", hit many websites. The result for these websites being a drastic decrease in search results ranking. The rankings have even changed a lot over the last weeks, sites moving up and down in search results. This is known as the Google Dance syndrome.

Given the domination of Google in search, this kind of update is something really feared by webmasters. Your very successful website can fall in disgrace all of a sudden because Google decides it should not appear at the top of search results any longer.
This is what happened to my websites, SharpToolbox.com and JavaToolbox.com. When a site used to get 1000 visits, it now receives around 330. 2/3 of the traffic is lost! I hope this will improve, but I don't see any sign of this. It's too bad that you work hard to develop websites, and lose almost everything in one day...

To evaluate the rankings of my sites, I search for keywords such as ".NET tools", "dotnet tools" or "Java tools". SharpToolbox and JavaToolbox now appear several pages behind, when they used to appear on the first page for these keywords. Incidentally, my rankings are still good on Yahoo, and not so good on Live. But this is of minor importance because, 2/3 of the traffic was coming from Google, the rest from referring links or by direct access. Almost none of my traffic is coming from other search engines.

Have you been hit by this Google update too? Would you have ideas on how to survive it?

Université du SI Octo Technology

On July 2 and 3, Octo organises in Paris an event for "geeks and bosses" of information systems. Speakers will include no less than stars such as Neil Armstrong, Michel Serres, Eliyahu Goldratt, and Bjarne Stroustrup.

With Frédéric Schafer, I will give a presentation about the ADO.NET Entity Framework, LINQ and WPF. Here is its description:

Come and see live how to develop an application using the latest .NET innovations

2008 brings a wealth of novelties to the .NET platform, notably in the data access field. Microsoft indeed provide their own solution for objet–relational mapping with the Entity Framework.
 
How does this framework allow us to persist business objects?
How does it integrate with recent object manipulation and presentation frameworks such as LINQ and WPF?
 
We will address these questions in practice, by developing live a sample multi-layer application based on these frameworks.


OCTO organise à Paris les 2 et 3 juillet 2008 un séminaire à l'attention "des geeks et des boss" du Système d'Information.
Pour cette première édition, OCTO Technology sera entouré d’intervenants prestigieux : Neil Armstrong, ingénieur, pilote, astronaute, et premier homme à avoir marché sur la lune, Michel Serres, philosophe et membre de l’Académie Française, Eliyahu Goldratt, père de la théorie des contraintes, Bjarne Stroustrup, inventeur du C++, et de nombreuses autres personnalités du monde de l’IT.
OCTO a souhaité la réunion lors du même événement de tous les acteurs de son métier : Directeurs des Systèmes d'information, Architectes, Chef de projet, Responsables Métier et leurs représentants MOA ou Développeurs.

Pour cette première édition OCTO, ses partenaires et ses speakers proposent plus de 50 sessions (parcours libre) où vous pourrez construire vous même votre agenda personnalisé. Parallèlement l'université du SI propose 3 parcours formation de deux jours.

Avec Frédéric Schafer, je ferai une présentation à sur ADO.NET Entity Framework, LINQ et WPF. En voici la description :

Venez expérimenter en direct les dernières innovations de .NET

2008 vient avec son lot de nouveautés pour la plate-forme .NET, notamment pour l'accès aux données. Microsoft apporte en effet sa réponse au problème du mapping Objet – Relationnel avec Entity Framework.

Comment ce framework nous permet-il de persister nos objets métier ?
Comment s'interface t'il avec les récents frameworks de manipulation et de présentation d'objets que sont LINQ et WPF ?

Nous répondrons à ces questions par la pratique, en développant en direct une application d'exemple multi-couches basée sur ces frameworks.

Plus d'informations sur le blog d'Octo et sur le site officiel de l'événement.

MVP times 5

Microsoft has just recognized me as a MVP for a fifth year, for my contribution to the .NET community (mostly through SharpToolbox.com, Proagora.com, the LINQ in Action book, my posts on the forums, etc.).
I'll be at the MVP Summit in two weeks with hundreds of fellow MVPs -- I'll try to wear this promo t-shirt to be easily identifiable ;-)

More Posts