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.

  • VS.NET 2005 Express: find / replace accept only single line strings

    I filed it here, so you can vote on it . Early in the whidbey alpha program proposed screenshots were posted of the new search/replace dialogs. I then mentioned it would be great (because I ran into this limitation a couple of times) if the find/replace dialog would accept multi-line search and replace strings, so you could search for 2 lines for example and / or replace with a multi-line string. A lot of people in the whidbey alpha group agreed.

  • VS.NET 2005: dialogs will not be resizable :(

    I filed a suggestion last week about the fact that a lot of the VS.NET 2005 dialogs are fixed size and often (read: always) too small to show all the content they contain and that these dialogs should be made resizable.

    Here's the response I got:
    Thanks for the suggestion. This is a know limitation of our current architecture, and one of the first things I want to tackle in the next version.

  • Tech-ed 2004 impressions.

    Tech-ed 2004 is my first Tech-ed / Microsoft conference ever, I didn't know what to expect however it turned out to be really cool. It's Thursday evening now, just before the party starts. Yesterday I hosted the O/R mapper BoF session and it went really well. At first I had to warm the audience up a little, most people were waiting for others to answer the questions. What surprised me was that so little people had actually worked with an O/R mapper, about 15% or so of the audience of roughly 50-60 people. The number one issue most people seemed to have was what are the advantages of an O/R mapper over the dataset approach. Related to that was the discussion about which situations are best for an O/R mapper and which situations are probably better handled with a more set based approach. The session progressed really well after the slow start (which I filled with a short lecture about O/R mapping in general) and it turned out there wasn't enough time to handle all the questions people had. A session worth repeating!

    Currently I'm typing this on my laptop in one of the wireless work areas on Tech-ed, and it's also my first experience with wireless networking, which was kind of a struggle at first, due to me not having configurated my VPN settings correctly, ah well ;)

    The network is very good, a little slow sometimes, but that's fine. At least there aren't any situations like we had in the old days on demoparties where your computer suddenly switched off because some person pulled the power plug out of the socket, forgetting that his powersocket block was powering a whole set of computers next to him. :).

    The sessions are nice and there is a truckload of different material to choose from. They graded the sessions with numbers so you can see if a session is at the level you expect it to be (so you don't end up in a session where they try to explain what an object is when you expect some lowlevel CLR hacking info and vice versa). Not always are these levels matching the real session level but that's ok. Overall there is always something to learn.

    In the MVP lounge I met Thomas Tomiczek of EntityBroker and we had some nice discussions about O/R mapping, C# and .NET. It was great to meet him. I also ran into Lorenzo Barbieri, a fellow weblogs.asp.net blogger, great to see the faces behind the names you see and discuss with every day :)

    Ok, I'm a little exhausted now so I'll end this little Tech-ed impression by showing a picture of the main hall where we have our lunch. :)

    lunch hall

  • LLBLGen Pro v1.0.2004.1 released!

    After 3 months of development, we finally released a new LLBLGen Pro version, v1.0.2004.1! This update was focussed on upgrading the GUI with various new features like creation of relations and custom properties (name-value pairs, usable to generate gui elements at runtime for example), updating our database provider model to make sure all logic and gui elements is located in the driver assemblies, adding various small enhancements under the hood and add support for Oracle 10g and Firebird 1.x/Interbase 6.0.

  • VC++ New DLL project humor

    I started a little C++ Dll test project this morning and a good start for that is to fire up VS.NET 2003, create a new Win32 project and specify that it is a DLL.

    VS.NET creates an initial .cpp file for you with some plumbing code. Here's the code it generated, no editing has been done on my part:

    // TestLibrary.cpp : Defines the entry point for the DLL application.
    //
    
    #include "stdafx.h"
    #include "TestLibrary.h"
    BOOL APIENTRY DllMain( HANDLE hModule, 
                           DWORD  ul_reason_for_call, 
                           LPVOID lpReserved)
    {
    	switch (ul_reason_for_call)
    	{
    	case DLL_PROCESS_ATTACH:
    	case DLL_THREAD_ATTACH:
    	case DLL_THREAD_DETACH:
    	case DLL_PROCESS_DETACH:
    		break;
    	}
        return TRUE;
    }
    
    // This is an example of an exported variable
    TESTLIBRARY_API int nTestLibrary=0;
    
    // This is an example of an exported function.
    TESTLIBRARY_API int fnTestLibrary(void)
    {
    	return 42;
    }
    
    // This is the constructor of a class that has been exported.
    // see TestLibrary.h for the class definition
    CTestLibrary::CTestLibrary()
    { 
    	return; 
    }
    
    Now, take a good look at function 'fnTestLibrary'. . It's always good to see there are still developers with a good sense of humor around

  • .NET Tool/Control vendors/creators: new directory site: www.developerfood.com!

    A good friend of mine, Scott Wallace, has created a new .NET tool/control directory site: http://www.developerfood.com! If you are a tool / control vendor or a freeware/open source tool/control programmer, feel free to add your tool/control to the directory. The site is free, doesn't sell the controls / tools it lists nor is it affiliated with a tool/control vendor.