January 29, 2005

Enterprise Library download

The long awaited Enterprise Library is out. You can download it from here. From the same page:

The Enterprise Library Application Blocks
Application blocks help to address the common problems that developers face from one project to the next. They are designed to encapsulate the Microsoft recommended best practices for .NET applications. They can be plugged into .NET applications quickly and easily. For example, the Data Access Application Block provides access to the most frequently used features of ADO.NET, exposing them through easily-used classes. The application block also adds related functionality not directly supported by the underlying class libraries.
The application blocks that comprise the Enterprise Library are the following:

  • Caching Application Block. This application block allows developers to incorporate a local cache in their applications.

  • Configuration Application Block. This application block allows applications to read and write configuration information.
  • Data Access Application Block. This application block allows developers to incorporate standard database functionality in their applications.

  • Cryptography Application Block. This application block allows developers to include encryption and hashing functionality in their applications.

  • Exception Handling Application Block. This application block allows developers and policy makers to create a consistent strategy for processing exceptions that occur throughout the architectural layers of enterprise applications.

  • Logging and Instrumentation Application Block. This application block allows developers to incorporate standard logging and instrumentation functionality in their applications.

  • Security Application Block. This application block allows developers to incorporate security functionality in their applications. Applications can use the application block in a variety of situations, such as authenticating and authorizing users against a database, retrieving role and profile information, and caching user profile information.


January 27, 2005

.NET Interoperability and SQL 2005 Express

The last two days I gave a session about .NET and COM Interoperability during the bi-monthly Software Architects and ISV Club meetings. It was quite interesting to present a session for two mostly different types of auditory. The first one were with senior management people that were not so excited about what new technologies can offer. The second meeting gathered top-notch developers, both experienced and very eager to new ideas. Since my session was prepared for such developers I did not find any problems explaining what is STA and MTA and how it affects performance in .NET interoperability scenarios. This was a daunting task for me the previous day :)

One thing that I have learned during Plamen Hristov's presentation is that SQL Server 2005 Express Edition will be FREE for download and use. You can actually xcopy deploy the database. The only requirements are that the server must have SQL Server 2005 Express Edition and you must connect to a predefined SQL instance. Just to make your day happier, there will be merge modules for SQL 2005 Express Edition. Now I think I can finally skip MS Access database as an option for small projects.

Stacey finds the missing piece in WSE

Bill Stacey definitely kicks arses. In his article he explains how SCT (SecureContextToken) works and how it can be used without installing X509 certificates. He also provides sample code. I haven't played with it yet, but it seems to be the missing piece in the WSE architecture that many developers have been looking for it on microsoft.public.dotnet.framework.webservices.enhancements.

MTOM is W3C Recommendation

As Matt Powell points out, MTOM has become W3C Recommendation. We are all waiting to see its implementation in WSE 3.0.

January 18, 2005

WSE send encrypted password

William Stacey points out one major problem when using SendHashed and SendNone options. They are both vulnerable to dictionary attack. As he offers to present a solution using custom UsernameTokenManager and Crypto API, I would recommend that you implement SecureConversation and use option SendPlainText. This way your calls can be automatically authorized depending on their group membership. The only drawback is that you must have server certificate, but you can always generate one with makecert.exe util.

January 15, 2005

New Year pictures

I have uploaded the pics from New Year's day. They are marvellous. You can find them at my MSN Spaces.

January 12, 2005

Malware online version and TITAN

Microsoft released today its new tool Malicious Software Removal Tool codenamed "TITAN".

There is online version that installs an ActiveX control on your machine. I tried it and it said that I am not infected. That's good. I am little surprised that it took so little time to scan my system. It definitely did not scan all the files in my system.
Here is the list of the viruses that it searched for:

Win32/Berbew, Win32/Doomjuice, Win32/Gaobot, Win32/Msblast, Win32/Mydoom, Win32/Nachi, Win32/Sasser, Win32/Zindos

There is also a version that can be downloaded (KB890830), but MS says that it will be delivered by Windows Update for Windows XP systems.

AntiSpyware included in Microsoft Platform Test maybe

I have always thought that spyware gets to your machine only when you browse xxx or warez sites. Because of this I did not thought for installing the Microsoft AntiSpyware Beta 1 when it went online. However the voice inside told me "what if ..." so I finally installed and run this marvelous application. The results:





Obviously many programs that I only installed to give them a try left theirs browser helper objects on my machine i.e. did not uninstall correctly.
I dream for a day when Microsoft Platform Test for ISV Solutions will become required for all desktop applications to run. Just an idea. May be Microsoft Platfrom Test should include running the AntiSpyware program in order to pass certification.

January 09, 2005

13 Symptoms of Unhappiness

I found this little gem in a presentation of Sam Guckenheimer. He explains how each problem can be solved with VSTS. Also from this presentation:

"Happy families are all alike; every unhappy family is unhappy in its own way."
Tolstoy, Anna Karenina


13 Symptoms of Unhappiness


  • It's the code, stupid!

  • Actually it's the requirements!

  • No, the problem is that you neglected the architecture!

  • Architecture, schmarchitecture. I just want a working build.

  • What good is that the way we mix up versions?!

  • Not code versions, but the environments, don't you get it?

  • Ever heard of security?!

  • Yeah, but you ignored performance, duh!

  • So what if it worked in the lab -- it's still unmanageable!

  • Oh, and did we mention testing?

  • Since you're not measuring it, you can't manage it anyway!

  • With a process like that, what do you expect?

  • It's our culture - you'll never change that.


January 04, 2005

Outlook Express rebirth

These days I rediscover Outlook Express as a newsgroup client. I was using a not so smart program that created a database on my hard disk of about 350MB. Silly me. The program even did not handle Bulgarian language well. Outlook Express is not so feature rich client but it works and it is light. I still want to see some improvement from Microsoft though. After all it is been years since they have not changed anything!
Do you know any "Outlook Express as a news client" tips?