Andres Aguiar's Weblog

Right here, right now

Stories

May 2004 - Posts

SqlResultSet, MARS and SQLCLR

In the current version of the .NET framework, if you need to open two DataReaders at the same time, you need to open two connections. This will be not necessary in Yukon because it will support 'MARS'.

MARS is not available when you want to run your code as a CLR stored procedure. If you need to have two open statements inside Yukon, you had two options. One was using SqlResultset (which used a cursor). This wasn't very good but sometimes it could be acceptable. The other one was to connect to the same SQL database you are running into using SqlClient, which sounds like a hack to me.

SqlResultset is not going to be shipped on Whidbey, so now the only options ares to create a new SqlClient connection, or using the 'CREATE CURSOR' T-SQL statements, which is similar to the SqlResultset, but more difficult to write.

 

Mark Fussell, XmlAdapter and O/R mapping

Mark is a Lead Program Manager in the XML group (or in the WebData group?). Sometime ago I found this document by Mark Fussell Object/Relational mapping, and was kind of interested on how it felt to do the trip from O/R mapping to XML. It's an interesting one, and I think it's a trip in the right direction.

I found Mark today in the Exhibit Hall, I asked him what happened with the XmlAdapter in Whidbey, he told me it's not going to ship, we talked a little about it (he have some customers that were interested in using XML instead of DataSets as the input/output of Business Logic Layer, and the stuff around the XmlAdapter provided the change tracking functionality that we needed to do it), and then I asked him about his previous O/R mapping work.

It was a different 'Mark Fussell' ;), so I still don't know how it feels to do that trip ;).

O/R mapping BOF

In the PDC I was not able to get into the O/R mapping BOF because of my 'Exhibitor' badge. This time it seems 'all badges' are allowed in the BOFs so I made it.

Scott Bellware hosted it and asked if someone from the ObjectSpaces team would like to talk about the reasons why it's not going to ship in Whidbey, Luca Bolognese was there and explained it. He said that they currently have 3 O/R mapping technologies in development (MBF / WinFS/ ObjectSpaces) and doing long-term thinking it made sense to have only one API instead of shipping one now and deprecate it later.

Most of the heads of the ObjectSpaces team were there, and Andrew was writing something that looked as a blog post during the BOF (he was sitting next to me so I spied him ;), so you can probably read more in his weblog.

The people from the ObjectSpaces team also said that the API will probably change a lot.

Most of the people was curious about what O/R mapping really is and some people were really using it. The discussion was about how difficult was to map the db to an object model, how 'transparent' can persistence be, and the fact that noone wants to write ADO.NET code manually anymore.

Scott asked if there were any O/R mapping ore data persistence vendors in the audience, I raised my hand and explained that DeKlarit was not an O/R mapping tool, but it solved similar problems in a different (of course, better ;) way.

 

First notes from TechEd

- We built the DeKlarit booth today, so I got to see the exhibit hall. It's huge. I think it's the biggest I've ever seen.

- I'm in the Marriot next to the Convention Center. The hotel is nice but the high speed internet sucks. I think I'll switch to dialup if it doesn't get better. Luckily I'm probably not the only one complaining.

- I went to the Code Generation BOF. We build a code-generation tool so I did not want to participate in the discussion because it would seem that I was promoting it. I was really not very impressed with the kind of thing people is building. We've been writing code generation tools for 15 years so we've got past the 'how should I store my metadata/how I encode my business rules' discussion a long time ago. Our approach was to store the metadata in a database and create a declarative language for the rules.

 

 

Searching stupidity

'In Search of Stupidity' is a quite interesting and entertaining book, in particular if you were using computers in the time where you needed to type Ctrl+K Ctrl+S to save a document.

The thesis of the book is that Microsoft is the only company that did not do big stupid things, while their competitors did.

It seems that IBM did not learn the lesson.

Linux is unmaintainable

An interesting study from the Vanderbilt University,  Three Unexpected Results in Open-Software Engineering, reaches to three conclusions:

1. Linus's Law is not applicable to open-source software development

2. Linux in unmaintainable

3. The LST result is false   (I did not know what the 'LST' was, but it's explained in the powerpoints).

Remember... don't blame the messenger! ;)

 

'Close Other Tabs' in VS.NET

Some time ago I suggested that VS.NET should have a 'Close Other Tabs' feature like the one in FireFox. Whidbey has it.

If you want to use it in VS.NET 2003 you can download the VS.NET Addin that Gaston wrote!

Unfortunately my machine was the beta tester and I cannot get it to work! I'll keep digging in my registry ;)

 

Java is not Fault Tolerant

I just installed DeveloperExpress' CodeRush.

In the EULA it says:

NOTE ON JAVA SUPPORT.  Certain SOFTWARE PRODUCT(S) may contain support for programs written in Java.  Java technology is not fault tolerant and is not designed, manufactured, or intended for use or resale as on-line control equipment in hazardous environments requiring fail-safe performance, such as in the operation of nuclear facilities, aircraft navigation or communication systems, air traffic control, direct life support machines, or weapons systems, in which the failure of Java technology could lead directly to death, personal injury, or severe physical or environmental damage.

As it's a .NET application and it does not clarifies anything about the CLR, I guess I can use the CLR for those tasks ;)

 

Jeffrey Ullman Courseware

From the home page of Jeffrey Ullman in Stanford you can get to his Lecture Notes, including powerpoints with audio, so it's like attending one of his classes.

Very interesting material if you want to refresh your skills on database modeling (or learn about it).

If you are using DeKlarit, the one on functional dependencies will help you to understand how the DeKlarit database normalization engine works. There is also a paper on the Universal Relations concept, that is also used in DeKlarit.

 

What is a database?

This quote is at the beginning of 'Temporal Data and the Relational Model'.

"The database is not the database -the log is the database, and the database is just an optimized access path to the most recent version of the log."

B.M. Schueler

An interesting thing of working with developers is that they always try to find generic answers to questions, so one of them came up with this generalization of the previous one ;):

"The Present is not the Present - the Past is the Present, and the Present is just an optimized, compact representation of the Past."

 

More Posts