Oren Eini

CEO of RavenDB

a NoSQL Open Source Document Database

Get in touch with me:

oren@ravendb.net +972 52-548-6969

Posts: 7,565
|
Comments: 51,184
Privacy Policy · Terms
filter by tags archive
time to read 1 min | 181 words

I am in the middle of looong install of VS SP1, so I can't code... When I can't code, I tend to write. Since I just has a series of post criticizing Microsoft (with another one that I'm busy writing now), I wanted to stop and thank the Office 2007 team.

Office 2007 is a wonderful application suite, I am currently writing an IoC presentation in PowerPoint, and I am loving what I can do with it. Just take a look at my current slide:

(Image from clipboard).png

I am extremely annoyed with the two-four "standard" presentation themes (all of which are mostly blue), and I really like that I can create visually pleasing results in such ease. The same goes for Word 2007, I wrote my MSDN article with it, and it produced a very good looking document with very little effort.

Office 2007 makes my life easier, and to the Office team, you did a hell of a good work.

time to read 1 min | 78 words

You know you are in a bad shape when installing a patch takes longer than installing an OS. The SP1 Setup has been running for over two hours now, and it is not done yet. About 30 minutes ago it prompt me to close SQL Management Studio, so I assume it is still alive.

(Image from clipboard).png

Microsoft, this has better be worth it...

time to read 1 min | 164 words

Okay, here is an interesting challange spurred by a a comment Alex has left on my previous post about linq.

Given this model, how would you build it using Linq for SQL (is it possible?) and Linq for Entities? I don't really care about the table layout (in other words, feel free to build something that can make your life easier), only that the model will be able to express the required complexity cleanly. A couple of notes, this is a temporal model, which include most of the usual database semantics (1:M, N:M, M:1).

The two gotchas for the OR/M implementation is that Rule is an abstract class that has several implementations, and that a rule is always attached to an entity (which may be of several urelated type Contract/Employee/Department, etc).

I would be interested to see how both Linq implementations handle this task...

Any takers?

time to read 6 min | 1019 words

Bryan Kirschner (MS - OSS Labs, Port 25) has posted a comment to my previous post about MS and OSS. He raises several interesting points in this comment, which I would like to answer here.

If the community of .NET OSS developers feels like we don't care, I'm doing a bad job.

I am sorry to say this, but I do think that Microsoft don't care at best, actively resisting it at worst.  Off the top of my head, here are two examples of actions that I would call nefarious:

  • Refusing the Mono's BoF in the PDC (link)
  • Microsoft consultanting service that won't help you if your entired stack is MS-Approved (link)

I am ready to accept that Microsoft is a huge company and such things are deviations from the official Microsoft policy, if Bryan (or any official from Microsoft) is willing to make such a statement, by the way.

More disturbing is the complete and utter silence with regard to OSS tools in the Microsoft world from Microsoft. There are very few articles on MSDN about using OSS software, mostly centered around NUnit and dated a year or more ago. The only recent one that I could was written by me :-)

There are no Microsoft products (that I know of) that uses OSS products, when they need functionality that exist in an OSS product, they have to build their own version, even when there are not licensing issues.

There are other examples that bothers me as well, MS Test using [TestClass] and [TestMethod] instead of the [TestFixture] and [Test] is just... not wise decision in my opinion, why break the API?

[papers] ...that basically says financial support of OSS has been (the way I read it) self-interested outsourcing of some dev & exploiting projects for commercial profit.

I feel that I should repeat this again, I don't think that Microsoft ought to financially support OSS projects on the Microsoft platforms. If Microsoft feels like sending gobs of money to OSS developers, I would be very happy :-), but that is not something that I strive for. I, personally, "exploit" OSS projects for commercial profit. And my company has saw nothing but benefits from this effort. We are able to do quite a bit because we can rely on a rich set of tools and features (some of which were contributed by yours truly). I got bug fixes from other people that implements features that I needed later on, so everyone (including the community at large) benefited from that. [Would I open source the code that calculate the amount of work an employee had done in a month, no, I wouldn't. But I did added my patch for NHibernate that made such a calculation efficent.]

That's (not financing OSS projects) just business--but my gut is that isn't what'll make our communities feel great

What I am looking for from Microsoft is first of all recognition in at least some OSS projects. What do I mean by that? Well, to start with, why not publish some official documentation about NRandomProject instead of publishing anouncement of the avilability of Microsoft Random Product in 18 months.

This is a sore point for me, I had a client that I had a lot of trouble getting into using NHibernate, mostly because when they asked Microsoft, they were told "Wait for Linq". That was 8 months ago or so, by the way.

I want to see a Microsoft product that is using an OSS product because it was the best of breed tool to solve their needs. I want to see OSS speakers at conferences that are not talking about integration with Microsoft technologies. It is cool to see that you can use Team System from Eclipse, but it has very little value to me.

My main goal is to stop having to justify the use of an Open Source tool vs. a commercial (not neccecarily Microsoft, btw) one. This is a general problem in the Microsoft space, and I believe that the main cause of it is Microsoft itself. A change in the behavior in Microsoft would bring about a lot more trust in the very idea of using OSS in commercial settings.

Let me put it another way, if I was a Microsoft employee and wanted to use Ruby On Rails in a project (customer facing one). Assume for the purpose of the question is that this is a project that hits RoR sweet spots very well, and the team wants to use this to cut down the effort needed by using RoR. What would happen? Note that I am specifically not asking about the Port25 team, I know that Port25 has a lot more leeway in this specifically because you are the OSS labs.

I have the very strong feeling that the team wishes would be overruled for a Microsoft Centric solution (with biztalk in the middle, just to make someone happy :-) ).

For that matter, I would be happy to see any Microsoft software that is using an OSS libraries/tools that were not developed by Microsoft (and the BSD sockets code doesn't count)...

time to read 1 min | 195 words

(Image from clipboard).png

So I went to see Eragon today, after reading the book about a year or so ago.

This is visually a very impressive movie. The dragon is easily the most realistic looking and beautiful creature that I have seen recently. There are some really amazing scenes with regards to special effects (the fights with the dragons is wonderful, for instnace).

There are several problems with this movie, every now and then a character says something that is cliche that I cringe ("We can do it, together!", etc), or acting in a completely stupid way (but he is 17, he is allowed).

The bigger problem is that there is about an hour of missing scenes in the movies. The hero goes from being a hubmle farm boy to a dragon rider in a matter of 10 minutes or so, and the dragons grows from the size of a dog to the size of your house in a matter of seconds. There is very little character development, and there is a lot of plot missing.

time to read 2 min | 245 words

Can someone please make sense of the following statement? (Found here, on the LINQ Chat log):

Q:What is the key difference between ADO.NET Entities and LINQ 2 SQL?
A: LINQ to SQL is an ORM over your relational database schema plus some mappings. LINQ to Entities is an ORM over a conceptual object-less model (ERM) that is a mapping over your relational database schema.

And:

Q: Is there still an effort to integrate LINQ to SQL and LINQ to Entities?
A: There is an effort on going to align these products, but not to integrate them together.

Can someone please explain me the business sense behind the decision to push two (and let us not forget Linq For DataSet, which I haven't heard about lately) competing frameworks that does the same thing? Can anyone come up with a good explanation for the use cases where I would want to use one and where I would want to use the other?

This has a positioning conflict written all over it.

time to read 2 min | 205 words

Take a look at this:

One of the coolest new capabilities we're building for Enterprise Library v3 is the Application Block Software Factory. As its name ever-so-subtly suggests, this will be a software factory for building your own application blocks.

For some unknown reason, I was strongly reminded of this:

When we stepped back and looked at the global tool infrastructure, we determined that people were frustrated with having to manage and operate a hammer factory factory, as well as the hammer factory that it produced. That kind of overhead can get pretty cumbersome when you deal with the likely scenario of also operating a tape measure factory factory, a saw factory factory, and a level factory factory, not to mention a lumber manufacturing conglomerate holding company.

And that is all I am going to say about it today.

time to read 1 min | 122 words

I have the following structure in a common.build file:

  • Clean
  • Compile
  • Test
  • Zip
  • Publish

What I would like to do is to be able to stick additional points in the middle for projects to execute their own stuff. For instance, I need a Merge step for Rhino Mocks that most other projects do not need.

Any ideas?

FUTURE POSTS

No future posts left, oh my!

RECENT SERIES

  1. Production Postmortem (52):
    07 Apr 2025 - The race condition in the interlock
  2. RavenDB (13):
    02 Apr 2025 - .NET Aspire integration
  3. RavenDB 7.1 (6):
    18 Mar 2025 - One IO Ring to rule them all
  4. RavenDB 7.0 Released (4):
    07 Mar 2025 - Moving to NLog
  5. Challenge (77):
    03 Feb 2025 - Giving file system developer ulcer
View all series

RECENT COMMENTS

Syndication

Main feed Feed Stats
Comments feed   Comments Feed Stats
}