Archives
-
Hunting down bad try..catch blocks
Way too often developers take the easy solution to use try..catch blocks to silence and ignore exceptions.
-
ISBN-13 to ISBN-10
If for some reason you need to convert an ISBN-13 to ISBN-10 (one being that Amazon doesn't support ISBN-13 in product affiliate links) then you need not only to remove the first three characters. You also need to recompute the checksum.
-
LINQ in Action samples source code
LINQ in Action won't be available as a paper book before January, but the e-book is already available in preview, and of course .NET 3.5 and Visual Studio 2008 are there. This is why we are now able to publish the complete source code for all the samples included in the book (this includes updated source code for LINQ to Amazon). Feel free to download it even if you don't own the book (yet) and provide feedback in the book's forum.
-
Use the power of let in your LINQ queries
Often, when you try to find out how to write the correct LINQ query you need, you end up being confused because it becomes too complex. In such situations, you should remember that the let clause is here to help you.
-
LINQ in Action forum
Did you know that a forum dedicated to LINQ in Action is available? It was already available from the book's web page at Manning, but we've just added a link to it in the top menu of this site so it can be found more easily. You can use this forum for posting comments about the book and for discussing about LINQ with the authors (Steve, Jim, and I).
-
ParallelFX CTP, Parallel Extensions to the .NET Framework
As announced by Somasegar, the first preview of ParallelFX (Parallel Extensions to the .NET Framework) is now available.
-
LINQ in Action status update
All the chapters of LINQ in Action have been sent to the publisher after several waves of reviews. During the last days, we tested all the code samples with Visual Studio 2008 to ensure everything is up-to-date.
-
Visual Studio 2008 now available
All you need to work with LINQ (Visual Studio 2008 and .NET 3.5) is now finalized!
The final release of Visual Studio 2008 Team Suite is now available for download for MSDN subscribers. Hopefully, all editions of VS 2008 will be released for everyone soon. -
LINQ in Action TechEd Europe coupon code
At the occasion of TechEd Europe in Barcelona, Manning is offering you to save 30% off the list price for LINQ in Action!
-
The future of CAB, Acropolis, Windows Forms, and WPF composite applications
If you are using CAB and wonder about Acropolis or WPF Composite Client, you should read this post. If you are using Windows Forms and consider using WPF, you should read the post too.
Ward Bell writes a great follow-up to yesterday's announcement about the future of CAB, Acropolis, and WPF composite applications. -
Change of plans for Acropolis and WPF composite client support from Microsoft
Back in June, Microsoft announced Acropolis. Now, the Acropolis team and the Patterns & Practices team announce new plans.
I haven't looked at Acropolis after July, and this new change of plans confirms that this was a wise decision. These days, I don't really have time to spend on moving targets like Acropolis was. -
Let's meet at TechEd Europe in Barcelona
This year, I'll be at TechEd Europe for the first time. It will be a good occasion to meet if you are there as well.
You'll be able to find me at the Ask The Experts (ATE) booths, where I'll probably be discussing about LINQ. -
C# 3.0 and VB.NET 9.0 language specifications
The language specifications for the upcoming versions of the C# and VB.NET languages have been published by Microsoft.
The Word document for C# 3.0 contains no less than 519 pages. Something to keep you busy for the week-end...
The equivalent document for VB.NET 9.0 contains only 338 pages, but it's only a pre-version of the specification. The author, Paul Vick, lists what's in and what's out in this post. -
LINQ to SQL: What is NOT in RTM (V1)
Dinesh Kulkarni, now ex-program manager on the LINQ to SQL project, gives on his blog a list of what will not be included in the first version of LINQ to SQL. These are important restrictions to know if you haven't followed the story about LINQ to SQL so far and you plan to use it.
Cross-posted from http://linqinaction.net -
Logic behind LINQ to SQL's Attach() set of APIs
Dinesh Kulkarni, program manager on the LINQ to SQL project, presents the logic behind LINQ to SQL's Attach() set of APIs. Attaching and detaching objects to and from a DataContext is something that seems to be a source of confusion, based on the questions in the forums. Attaching is a useful feature especially in multi-tiered system, which often involve stateless ASP.NET applications or web services. Dinesh explains when you need to attach objects and the various options.
-
Querying non-generic collections with LINQ to Objects
We will soon publish excerpts of the LINQ in Action book. One of them will probably show you how to query non-generic collections. Before it becomes available, let me show you an overview of what it presents.
-
Reflexil, C# code injection in assemblies
Nice to see that some old ideas start to come to life! Reflexil is not exactly like my Patcher suggestion, but it has some features of it.
Here is the description taken from the Reflexil site: -
LINQ support on .NET 2.0
We have a forum for LINQ in Action, where current and future readers can post questions related to the book or to LINQ in general. Here is one question we received recently:
-
.NET reverse engineering tool for understanding projects
Here is a query I received from a user of SharpToolbox.com:
-
LINQ in Action gets its first review
As Jim wrote, all the chapters of our LINQ book are now available through Manning's Early Access Program (MEAP). The book is now in final review and the paper version is due later this year or in January. This is great to get close to completion on this project!
Go an see the result by yourself (the first chapter is available for free in PDF). -
Sending the LINQ to SQL log to the debugger output window
When debugging LINQ to SQL code, did you wish you could easily see the SQL that gets executed? Of course there is the DataContext.Log property that is available for that. You can assign any TextWriter to this property. Console.Out is a good candidate for example, but it doesn't help much for web applications and doesn't integrate with Visual Studio nicely. Fortunately, Kris Vandermotten has a nice solution: DebuggerWriter. It's an implementation of TextWriter that writes to the debugger log.
-
Visual Studio 2008 and .NET 3.5 still planned for the end of the year
You may have seen a lot of messages about the launch date for Visual Studio 2008, SQL Server 2008 and Windows Server 2008. According to this announcement, Microsoft has planned a grouped launch event in Los Angeles for February 27, 2008.
This does not mean that all the products will be released at that same date. Some may be released after the event, others may be released before. -
I'm on proagora.com. Are you?
I've just updated my profile on proagora.com.
-
Rationalize your build process with code mobility
Patrick Smacchia, C# MVP, author of the best-seller Practical .NET2 and C#2 and creator of NDepend, has started to blog.
-
Goodbye Acropolis, I hardly knew you
Ok, well, this is a catchy title, but this is the way I feel right now. When Acropolis was announced, it was supposed to become the industrialized replacement for the CAB (Composite UI Application Block) and the SCSF (Smart Client Software Factory). Unfortunately, the design focus seems to have shifted a bit. When I see the announcement of the second preview of Acropolis (July 2007 CTP), I'm very disappointed to see that the main new "features" revolve around the "fun" aspects of software applications more than around "enteprise" features. If Acropolis is here to help you create bling-bling applications, well it's not the application framework we need.
-
Quick LINQ link list
Some quick links about LINQ:
-
PageMethods introduction in French
If you don't know PageMethods, you can learn more about it on the project's home page or on CodePlex. But if you prefer to read French, Améthyste has a great introduction for you.
-
LINQ presentation
I gave my first presentation about LINQ, C# 3 and VB 9 yesterday. During one hour and a half, we covered the basics of the new language features, LINQ to Objects, LINQ to XML and LINQ to SQL. Most of the time was spent with several code samples in Visual Studio. All the questions I got show the interest for LINQ and the language evolutions.
If you wish your team to get up-to-speed on these technologies, you can contact me and we'll prepare a presentation for your company. -
LINQ in Action, the book is available as an early access edition
How much do you know about LINQ? With Visual Studio "Orcas" 2008 and .NET 3.5 Beta 1 ready, and Beta 2 around the corner, it's the right time to get started with LINQ!
-
proagora.com - new community site for .NET and Java
A new website dedicated to .NET and Java is born! Here is the latest project I've been working on:
-
Acropolis is around the corner
If you are working with the CAB (Composite UI Application Block) or the SCSF (Smart Client Software Factory), you should check out Acropolis. If you are not using CAB or SCSF but you need to develop Windows applications, you should take a look at Acropolis too!
-
Silverlight support for LINQ
Microsoft has published the details of Silverlight at MIX07. Apparently, this is going to be huge!
You can get an overview of what's in the box for developers by taking a look at the developer reference poster.
It's interesting to note that the supported languages are C#, VB, JScript, IronPython, VB10 (soon), IronRuby (soon). It's funny to see that they use "soon" for VB 10 (VBx), while VB 9.0 is still not ready...
LINQ is supported by Silverlight, but support for LINQ to XML is coming soon. Microsoft's XML Team has a word about this in this blog post.
Cross-posted from http://linqinaction.net -
Jasper and Astoria, projects to keep an eye on
Microsoft has just announced two new projects at MIX '07: Jasper and Astoria (codenames). Both tools are available for download as CTPs (Community Technology Previews, aka alphas).
-
ADO.NET Entity Framework not in Orcas
Microsoft has just announced that the ADO.NET Entity Framework will not be shipped with Orcas (Visual Studio 2007(?) and .NET Framework 3.5). The previous news were that the ADO.NET EF would be released with Orcas, but without the designers, which would be released at some point afterwards. Finally, Microsoft has decided to ship the ADO.NET Entity Framework "during the first half of 2008 as an update to Orcas".
-
Using configSource to split configuration files
As Nikhil Kothari writes in his blog, he's started to use the configSource attribute to split configuration files into smaller pieces.
-
i4o, indexed LINQ to Objects
LINQ to Objects is a great improvement in .NET 3.5 to query in-memory collections. It offers a nice declarative query syntax, strong-typing and support for a rich set of operations. One of the things that LINQ to Objects does not offer is indexing. Indexing collections of objects could greatly improve the performance of queries. Some people realized this and Aaron Erickson even extended LINQ to Objects to provide support for indexing. i4o (indexes for objects) is the solution he proposes. i4o is available on CodePlex and described in Aaron's weblog.
-
New LINQ flavors: LINQ to Flickr, LINQ to NHibernate, LINQ to LDAP
In the spirit of LINQ to Amazon now comes LINQ to Flickr. Mohammed Hossam El-Din (Bashmohandes) proposes an implementation that is very close to what I created with LINQ to Amazon, except that this time it's the Flickr API that is used thanks to the FlickrNet library. I'm quite sure we will soon see more LINQ flavors appear to query various data sources. There is already work started to create LINQ to NHibernate and LINQ to LDAP APIs, for example.
-
PageMethods is now open source
I've been quiet lately about PageMethods because other projects kept me busy and contrarily to what I wished, I haven't been able to create PageMethods Pro last year.
-
Vote for SharpToolbox at the asp.netPRO Readers' Choice Awards
It's the period of the year when asp.netPRO runs the asp.netPRO Readers' Choice Awards. It's time for you to vote for your preferred ASP.NET products and resources for 2007.
-
MVP in 2007
My fourth year as a Microsoft MVP starts today :-)
You can expect a lot of continued or new .NET community projects this year, including SharpToolbox.com, the LINQ in Action book, LinqInAction.net, proagora.com, PageMethods and more...
-
Change tracking, the ADO.NET Entity Framework and DataSets
Andres Aguiar started an interesting discussion about disconnected operation and change tracking in the ADO.NET Entity Framework.
-
Using LINQ to solve puzzles
The diagram below provided by Luke shows a mobile. It consists in a bunch of weights (A-M) hanging from a system of bars. Each weight has an integer value between 1 and 13, and the goal is to figure out what each weight must be for the the diagram below to balance correctly as shown:
-
My experience writing the LINQ in Action book
As we are about to reach an important step with the LINQ in Action book that will make the first bits public, we start to look back at what we did and how it happened.
-
Great presentations involve a mix of passion and communication
Krzysztof Cwalina points to a fascinating presentation. Full of passion, content, and visual power. Very instructive. See by yourself.
This is one more great presentation from TED. -
Update on the status of the LINQ in Action book
After several months of work, the project reaches a new milestone. Steve and I have the pleasure to announce that Jim Wooley has joined us. Jim will take care of the chapters about LINQ to SQL. With the new preview of Orcas, we'll be able to make a lot of progress because it contains support for almost all of LINQ's features, including LINQ to SQL.
-
Visual Studio Orcas March 2007 CTP
Microsoft has just released a new Orcas preview.
-
Which type should I use in C# to represent numbers?
Luca Bolognese, from the Microsoft C# team, has an interesting post that aims at providing answers to the following question: Which type should I use in C# to represent numbers?
Luca and the C# team try to provide a simple algorithm that can help when you are confused about the numeric types in .NET. It may not address every scenario, but it can be useful when you are lost between byte, short, int, uint, long, float, double, decimal, and their friends. -
Ohad Israeli's Developer's Toolbox
Ohad Israeli has made available the slides for the Developer's Toolbox presentation he gave recently. It's a good introduction to a bunch of tools he uses for .NET development. The PDF is here.
If you need more tools of the same kind, remember to visit http://SharpToolbox.com -
1001 tools and libraries for .NET
I can't believe how time flies! I've been so busy with several projects lately...
-
PLINQ presentation: A query language for data parallel programming
Joe Duffy works on parallel libraries, infrastructure, and programming models in Microsoft's Developer Division. This involves doing prototyping on PLINQ, a set of extensions to LINQ that automatically optimizes and parallelizes query operations based on dynamic runtime information.
-
Exception handling and resource protection with try..finally
Paul Sheriff has just published an example he uses to recommend the use of try..finally blocks. Here is his example:
-
LINQ to XSD - Typed XML programming with LINQ
I haven't written about LINQ to XSD yet on this blog. So, here goes...
-
Visual Studio Orcas January 2007 CTP
The new pre-release of Visual Studio "Orcas" is now available!
-
Am I just a blog chain victim?
Ok, well actually that makes more than five points. I guess one thing I could add is that I don't know how to count correctly. Math and me, you know...
-
Wes Dyers' reports from the C# compiler front
If you are the kind of guy fascinated by the C# language and LINQ who wants to know more about what's happening under the hood and how Microsoft is building these new toys, you should read Wes Dyer's blog. Wes is a developer on the C# compiler team. On his blog he relates his journey with the C# compiler towards version 3.0.
-
Converting a CSV file to XML using LINQ to XML and Functional Construction
Steve has published on his blog a sample from the book we are working on together. This example shows how LINQ to XML makes it easy to convert a CSV file into an XML document.
-
Hooked on LINQ
Troy Magennis has started a community resource web site about LINQ: Hooked on LINQ.