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

January 2004 - Posts

Coding unit tests is even harder than you think

Jamie Cansdale has put a nice application online he calls Code Blog. This application expects you to write an implementation based on a set of unit tests.

This app shows how difficult Test-Driven Development (TDD) is.
Just look at the submissions for sorting a list (first challenge). They all work, but one was coded specifically for the test and won't work with something else but an ArrayList, and the other two depend on what you really want: a copy of the list or the list itself being sorted?
Jamie discussed about this.

If you look at the current challenge, for the TestToPlain8220() method, you'll realize that it's possible to code for that specific value "“", but the resulting method would not work with "‛" or "”"...

Just simple examples that TDD is hard, very hard. You have to accept that your unit tests will never be 100% complete. Code passing your tests cannot be considered bullet proof. It's just code that works with your tests.

389

There have been a lot of additions and updates lately at the SharpToolbox. The counter is now at 389 tools and libraries. Many additions are still in the pipe. Maybe it's time you subscribe to the RSS feeds to know when new tools are added or old ones are updated...

Note: The data on the SharpToolbox doesn't change many times a day. If you use some RSS reader software, setting the refresh interval to 1 day should be enough.

Win32 to .NET API mapping

One for your bookmarks:

Microsoft Win32 to Microsoft .NET Framework API Map
Looking for the managed counterpart for a Win32 function? Discover .NET Framework APIs that provide similar functionality in managed code to Microsoft Win32 functions.

Posted: Jan 26 2004, 11:35 PM by Fabrice Marguerie | with no comments
Filed under:
Web browser market: is the battle over for everyone?

I don't like seeing "web browser" and "market share" in the same sentence. This is typical. This is why there is no new release of Internet Explorer. Microsoft was there to take Netscape down, but there is no Microsoft when standards compliance and user friendliness are concerned.

Is the web browser dead? It is dead as a product. From a user perspective you should see things differently. How much do you use your browser? Think about it.
I guess Microsoft is working on something big secretly to keep their mouth shut and take no action regarding the web browser. And don't tell me I have to wait until 2006 and Windows Longhorn!
Other players such as Mozilla are doing a great job on standards, user friendliness, extensibility and efficiency. You should support them for that reason.
I don't really count players such MyIE2 or AvantBrowser in as they rely on IE and so have the same problems regarding standards.

Firebird is my web browser of choice since 2002. It works well, there is no reason for sticking to Internet Explorer... except laziness/inertia. Microsoft's biggest advantage in many markets.

Mike Woodring's .NET Sample Page

While searching for a particular code sample, I found back Mike Woodrings great .NET sample page. This web page contains many very technical code samples which are very useful one day or another.

This page should be in your bookmarks and you should mine the samples if you're a geek. I won't go into the details of what you'll find there, go see by yourself! You can start with a look at the AssemblySettings class for example which is the counterpart of AppSettings but per assembly.

A case where interface versioning works

In some situations, interface versioning is not a problem. I'll expose a scenario in order to show you a case where it works fine and it's simple.
We'll take an application with plug-ins as an example.

Read more...

Xen, X#, ROX, Relational-Objects-XML, Research, C#, Data

Paschal collected links and information about Xen (X# relative).

Keep in mind that this is research, but interesting nonetheless.

Posted: Jan 21 2004, 02:13 PM by Fabrice Marguerie | with no comments
Filed under:
Power of blogs / CSV files
I'm still amazed by the power of weblogs when I see that this post (Manipulating CSV files) is number two or three on search engines when you search for CSV files. What do you know, maybe my small experience with CSV files can actually help someone out. Well, I just added two links to the post for more information about the Schema.ini file since this is where people are landing when they are in need for that kind of information.
Webloggers haven't got a mind

It's funny to notice that some are starting to realize that geeks are humans too... The strange part is that they seem to be disappointed about that.

Let's take Chris Sells as an example. For a while, there were only posts about Winforms or Longhorn on his weblog. Then comes a political post, and all of a sudden Chris Sells is not an honorable man any more.
Apparently some people forgot that weblogs are personal and that their author can think outside of .NET and even outside of the computer space. Seeing the negative response by some, Chris Sells reminds these people that this is his weblog and that he writes about what he wishes.
This is just an example, it can happen to you too.

Some have a bad reaction when they see something not technological on a weblog they categorized by themselves as "technological". Some weblog authors label non technological posts as being "Off-Topic" (or OT). There are categories on weblogs, they can be used to tag posts more efficiently. What does off-topic mean for a personal weblog? Nothing!
Side note to ScottW: .Text doesn't display the categories a post belong too. That would be a nice and easy improvement.

I'd also add that I don't read weblogs according to their author's political opinions. Some replied to Chris Sells' post with a puerile "unsubscribing now" comment. Go on, unsubscribe, that's why RSS is great. You can unsubscribe whenever you want. No one forces you to read a weblog. But think twice. Do you "unsubscribe" a friend because he said something you disagree with? Personally, I think I'd subscribe twice if that was possible. It's more interesting to read about differing opinions that make you think as opposed to consensual ones.

One-two, one-two, sound check... (part 2/2)

The voice recordings are available in french for this presentation about the Asynchronous Invocation Application Block.


La seconde partie de la présentation sur le bloc d'invocation asynchrone de services enregistrée lors de ce séminaire Microsoft auquel j'ai participé le 2 décembre a été mise en ligne par Brainsonic.

Posted: Jan 20 2004, 10:49 AM by Fabrice Marguerie | with no comments
Filed under:
More Posts Next page »