February 2006 - Posts

What is WinFX– an Executive Summary

Here you will find a *very high level* overview of WinFx. Good as a first step on selling the use of WinFx in that next projecto to your CIO. Courtesy of the nice guys at IDesign (also authors of these very usable coding standards).

Posted by Edgar Sánchez with 2 comment(s)
Filed under: ,

Sysinternals, Web searching, and Win Fx February CTP (or January CTP or something else)

This morning I installed WinFx February CTP in the recommended order (Runtime, Win SDK, VS Extensions) and everything went smoothly. This afternoon, I used VS 2005 in a customer project (you know, the ones you're actually paid for doing) and something funny happened: when I tried to add a web reference in a pretty standard project I got this message Some of the files required for Web references are not installed. I blinked, tried again (I know, I know, totally silly but old habits die hard), and again... as usual, no miracle happened so I started to mumble something about idiots installing CTPs in their development machines but then I remembered the Web, I searched for "Some of the files required for Web references are not installed." and I got a few pointers, one of them gave a list of files that should exist and I was about checking when I read another pearl:

Yes, some file is missing so I recommend you:

  1. Start Sysinternals Filemon
  2. Repeat the operation that failed
  3. See what files weren't found in Filemon screen

So I did and lo and behold D:\Program Files\Microsoft Visual Studio 8\Common7\Packages\1033\wsdl.xsl wasn't there, may be the WinFx installation deleted it (or the January CTP uninstall), may be (as Joel likes saying) some cosmic rays hit my hard drive, I don't know, I just copied the file from a machine nearby and, after only 5 minutes, I was up and running again, long live Sysinternals! long live the Web! and above all long live the guy that wrote that entry!

PS. While writing this blog I found (another Web search) that Filemon has saved many people already, this just proves that I'm not as above the average idiot early adopter as I thought.

ASP.NET, servlets and JSP

A dirty little secret: altough I'm firmly in the .NET development camp, I still do J2EE development and training for a handful of our customers and for good reasons too:

  1. I really believe in using the best tool for the job and, in some scenarios, servlets, JSP, Hibernate, etc. are just what the doctor ordered (or forced you to swallow ;-) )
  2. I believe even more in having a wide perspective, and knowing and practicing some J2EE gives you a better appreciation for .NET advantages (and its low points also, for sure)

So, why I'm talking about this? Because the good guys at MSDN Webcasts are doing a long and deep series on ASP.NET 2.0 development starting this week. Me personally, I'll be doing a couple of webcasts in march on ASP.NET 2.0 from the servlets/JSP perspective, even though I haven't got the details yet I can promise that:

  1. You'll be supposed to know servlets/JSP
  2. I'll do my best to do it developer-to-developer with as few marketing as possible

And talking about marketing, the good guys at MSDN Webcasts will give me some cute little prices if you go there thru here, so give me a hand, will ya?

Posted by Edgar Sánchez with no comments
Filed under:

Programming .NET Components

I guess this blog is kind of late, indeed I've been meaning to write about it ever since I got my copy of Programming .NET Components, 2nd Edition by Juval Löwy some weeks ago. Let me tell you that Juval has a deep understanding of the .NET Framework, he's also an accomplished teacher and this shows in his writing: detailed yet readable. One pearl: it's easy to say you never have to (actually you can't) destroy an object instance, you just loose all references to it and wait until the garbage collector does its thing, the truth of course is darker and more convoluted, you have to understand things like finalizers, IDispose, the Dispose pattern, the GC passes, etc. Fear not, in Section 4.5 Deterministic Finalization, Juval masterly explains the why's and how's of a bullet-proof object dispose implementation (by the way, do yourself a favor and read the whole Chapter 4. Life Cycle Management). This book will especially appeal to people creating a business layer but have information valuable for programmers working in any other layer. I think that it will be especially illuminating for Java experts trying to understand the inner guts (as they very much like doing) of .NET Framework. Highly recommended.

Posted by Edgar Sánchez with no comments
Filed under:

Turing, Eliza and IM agents

Many people think Alan Turing is the father of Informatics because this English mathematician proposed the model in which almost every digital computer is based (they're all Turing machines). In the 50's, Turing proposed a  test to find out whether a computer was intelligent: make a human talk to several "people", if the human can't tell whether she's talking to a human or a machine then the computer is intelligent (or at least silly in a convincingly human way). In the 60's, several programs were written so they could interact with a human through a screen and a keyboard (a chat, basically), one of the most popular implementations was Eliza which played the role of a psychologist asking you questions, although it was a very simple program (in fact, it didn't have any intelligence -artificial or natural- whatsoever), it was very good at deceiving people at least during the first interactions. Fast forward to 2006: most people chat like crazy with other people through Instant Messenger, what almost nobody knows is that you can write a chat robot, that is, a program that has an e-mail address which you can reach and talk to with IM. To test the idea add this guy encarta@converseagent.com as a contact in IM and make him some questions (in English only, unfortunately):

Where is Guayaquil?

Guayaquil, in full Santiago de Guayaquil, city in western Ecuador, capital of Guayas Province. The city is situated on the Guayas River, near the....

Let me take you to a map of Guayaquil, Ecuador. =>

How many people live in Ecuador?

13,363,593 people live in Ecuador.

Sing a song

Do re mi fa sol la ti do.

Cómo te llamas?

I think you're trying to speak in spanish to me, but I don't speak it yet. Sorry!

As you can see this bot (that's how they are called) not only knows a lot of trivia but shows some sense of humor and even apologizes for not speaking Spanish (some humans would do good emulating it.) It is not only fun but useful and, at least for me, impressive. Here you will find several ideas for writing bots and, more intriguing, the e-mails of several bots. Finally, the best part, a pointer to an SDK that you can use for creating a bot yourself. Alas, if I only had the time for writing a bot that can talk about the Ecuadorian soccer team (we'll be in Germany 2006, of course, go Ecuador!)

Posted by Edgar Sánchez with 1 comment(s)
More Posts