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.

  • Blog migated!

    Last night, http://weblogs.asp.net has been migrated to CS 2.1, and this of course gives a lot more features to the blogs at this site, including this blog! The skin I had on the .Text powered version of this blog couldn't be migrated as CS 2.x works differently, so I picked this one from the skins available. I'll try to update this skin a bit later on, when I have more time ( at the moment it's a little hectic with LLBLGen Pro v2 in beta now so I hope to have a more custom skin soon, but when I'm not sure. )

  • (.NET 2.) Dictionary(Of Key, Value) performance trick

    (I used the VB.NET notation in the title so it won't nag about illegal characters like < and >)

    In .NET 2.0 you'll have this new generic Hashtable variant called Dictionary<TKey, TValue>. It can be used as a Hashtable but now strongly typed and it doesn't use boxing anymore with value types. That's great and all, though there's one thing that's different from the hashtable: retrieving a value with a key that's not there. If the key value isn't present in the Dictionary, you'll get an exception when you do:

    MyClass myValue = myDictionary[key];
    and key is not present in myDictionary, while with the hashtable, you'll get back a null value. See my old blogpost about that.

  • The 'Fire upper management' debate over at Mini-microsoft

    First, dig in and have a good read in the comments over at Mini-microsoft: Vista 2007. Fire the leadership now!. It's a good read, though with over 450+ comments, it can be a bit time consuming. While reading the comments, and also the ones in the slashdot threads Windows Vista 5342 screenshots and Microsoft's Not So Happy Family, I started to wonder about some things, which in general come down to the software engineering process coupled to the inevitable sales force.

  • (Dutch) Dotned.nl meeting: VB.NET vs. C#, the battle!

    (Dutch, sorry :)). Morgen (donderdag), vindt er weer een meeting plaats van de Nederlandse .NET gebruikersgroep, dotned, en ik zal daar tezamen met Maurice de Beijer een presentatie verzorgen met als titel: VB.NET vs. C#, the battle. Maurice is een VB.NET MVP en zoals men wellicht weet ben ik een C# MVP en we zullen de strijd met elkaar aangaan omtrent de vraag die ons allen bezighoudt: welke van die talen is nou de beste? Maar we houden het luchtig

  • (Dutch) DevDays 2006

    Dinsdag en Woensdag ben ik op de DevDays 2006 in Amsterdam, dus voor diegenen die face-to-face over C# of .NET of andere zaken willen bomen, kom langs! Ik ben veelal op de Microsoft stand aanwezig of in verschillende sessies, maar omdat alle MVP's herkenbare kleding dragen die 2 dagen moet het niet moeilijk zijn me te vinden. Tot dan!

  • Tips for writing Debugger Visualizers in VS.NET 2005

    VS.NET 2005 comes with a new feature, called Debugger Visualizers. A debugger visualizer is a small piece of code which visualizes the object currently hovered by the mouse in a debug session, of course after you hit a breakpoint. While the VS.NET 2005 debugger is a great improvement over its slow little brother in VS.NET 2003, sometimes you still want to look at the data inside an object in a more convenient way than the debugger shows you. With visualizers you can.

  • LLBLGen Pro: the book!

    As a developer, IMHO you can't receive a bigger 'thank you' from your customers besides they being very happy than when they write a great review about your work or do the ultimate: write a whole book! . Joseph Chancellor wrote a book about Visual Studio.NET 2005, SQL Server 2005 and LLBLGen Pro called Rapid C# Windows Development. It walks the reader through a complete windows forms application for .NET 2.0 using the AdventureWorks database for SqlServer 2005 and LLBLGen Pro, from scratch to deployment and beyond.

  • The most frustrating thing on earth

    You know what's the most frustrating thing on earth? Writing code for design time databinding. If you've never tried it, and want to feel how frustration can flow throw a human body, please give it a try. If you're lucky you'll do everything right the first time, but as the documentation lacks and the code to write isn't that simple, you probably will make a few mistakes here and there. But that's not that bad, right? You have exceptions with stacktraces and debuggers, right?