Attention: We are retiring the ASP.NET Community Blogs. Learn more >

Frans Bouma's blog

The blog of Frans Bouma, creator and lead developer of LLBLGen Pro and ORM Profiler.

  • Relationships

    No, this is not a piece of text about a broken/just started relationship between two people :). 'Relationships' should be read in a geeky context: relationships between attributes and entities in databases / object hierarchies, you know, the kind of relationships a computer-savvy person feels comfy with.

    On April 18, Edgar (Ted) Codd died. This man is probably not the man you remember as the 'hero' you adored and who convinced you computers were your future, but it is the man who invented the concept of 'relationships' in our world, the software developers world, which resulted in the concept of Relational Databases. Now, as we say in The Netherlands, "Over de doden niets dan goeds", which means something like "Say only good things about the people who died", I shouldn't be saying this but in the last couple of days I'm seriously starting to doubt the quality of the form Codd defined the concept of a relational database as we know today. I think it is seriously flawed, and when I say seriously, I mean: really seriously, as much that we should start using other models today, instead of keeping this flawed model around any longer.

  • Borland's prices are too high?

    S.B Chatterjee wrote: "Borland has announced their C#/.NET Builder tools along with the prices. $69 for a personal edition and $999 for a professional version. That's fourteen times as much! jeez... I don't see developers flocking for that one. I'll stick with my VS.NET (under MSDN Universal, of course)."

  • Hotmail: 48 spammails per day, per mailbox

    According to News.com, Microsoft blocks per day 2.4 billion (that's 2,400,000,000) email messages targeting Hotmail subscriber in-boxes. If you take into account that Hotmail has roughly 50,000,000 active users, that means that per mailbox, 48 (2,400,000,000 / 50,000,000) spam-messages were on their way to enlighten the eagerly awaiting mailbox-owner that those days of a whimpy penis and denty tits can be over for good.

  • It's not all bizznizz apps

    Every day I check the image of the day over at flipcode.com, which is the place for Joe Geek and Family to show off their sunday-afternoon graphics software. It's amazing what people come up with from time to time, and today, a programmer from Belgium send in his 3D-terrain renderer/generator using OpenGL and C#. It's a great way showing off what you can do with C# and .NET besides the always charming n-tier / remoting / webserices / webapplication-oriented software. It utilizes the great work of the csgl guys who, as you all know, wrote a library for C# to work with OpenGL. As a former OpenGL junkie myself, I always get a "those were the days" feeling, while reading about graphics software. ;)

  • Speaking of patterns...

    A lot of patterns do share a 'trick' that can be hard to grasp for new OO-developers. It's the trick which is made possible by polymorphism: you define a virtual method in a base class B, override it in a derived class D, and suddenly code in class B will call code in class D. To me this sounded confusing at first (hey, I'm raised with Kernighan-Ritchie C, the non-ANSI version, bite me :P). However it's a very neat way to 'plug in' code later (in a derived class) while defining the flow of the code now (in the abstract / base class).

  • A pattern in patterned confusion.

    Chad Osgood talked this morning about a semi-rant from Bruce Eckel about patterns and the Gang of Four (GoF) book in particular. Reading the snippet from Bruce, I do not see why he (Bruce) critisizes the GoF book that much. As an example he shows the diagrams of the strategy pattern and the state pattern. They look familiar indeed, but they are semantically different, and that's why they form different patterns. When swapping algorithms you use the strategy pattern. When swapping state objects you use the state pattern. A different world altogether. The UML-ish diagrams may look familiar, but they're not.

  • I'm alive!

    These days, it's hard to claim you're truely a geek when you don't have your own blog. And, if I might add, the blog has to be placed on a blogspace which holds some value. I'm very happy that I can conquer those suits at upcoming birthday parties again, when they start ventilating their coolness because they 'blog': I now too have my blog, and on one of the major blogspaces!