1. WatiN - Web Application Testing

    I would like to recommend you an amazing testing framework - WatiN. If can make Web Application Testing to be the easiest thing in a world :) …


  2. Exception HRESULT: 0×800A03EC (.NET Excel automation)

    Got the same issue on the same server after several months of correct work. The first idea was that the issue is related to the updates. But it wasn’t… All that I needed to do is just to activate Office… …


  3. Undo/Redo functionality in .NET

    You need to implement Undo/Redo functionality? Seems I have something to show you… …


  4. Ndb v. 1.0.1 was published

    Just uploaded new Ndb maintenance release.

    • Quote tables & columns names in generated SQL queries.
    • Shared Connection support added.
    • IsDbGenerated property added to DbPrimaryKeyFieldAttribute (currently supported by MySql only).
    • DbLinqAttributesLoader supports composite primary keys & IsDbGenerated flag.
    • NdbConsole now able to check mapping attributes and generate xmlreport.
    • Other minor changes
    Also now using new version model. …


  5. Languages table (MSSQL)

    Often I need languages list in database, so I decided to post it here. Hope it will save several minutes for someone ;) …


  6. Notes about temporary tables support in MSSQL

    MSSQL provides wide abilities to use it’s temporary tables. I. Visible locally.

    declare @SomeTableName table ( Id int, Title nvarchar(50) ); create table #SomeTableName ( Id int, Title nvarchar(50) )
    Note that the first table will be in memory (in most cases), but second will be stored in tempDB II. Visible to everyone:
    create table ##SomeTableName ( Id int, Title nvarchar(50) )


  7. Excel 2007 Automation under Windows Server 2008 x64

    Today I’ve run into the strange problem. I developing a windows service which should generate an Excel files. I’ve tested it’s logic using unit tests and all worked fine. But then I started testing for the windows service, I saw the following strange error: …


  8. Mysql Performance Tips

    Some MySql perfomance tips from greate “How to Kill Mysql Performance” presentation

    • Use Explain
    • Use the smallest data type possible
    • Store IP addresses as INT UNSIGNED (The INET_ATON & INET_NTOA functions will help you)
    • Persistent connection is evil
    • Heavy abstraction layer is evil
    • Learn both the benefits and drawbacks of each table engine (slide 21)
    • Clustered layout is faster for lookup by primary key operations (than Non-clustered layout) (slide 26)
    • If you don't pick a primary key, one will be created for you automatically
    • Understand query cache (slide 32)
    • Don't use stored procedures (slide 34)
    • Be aware of deep scan slowdowns
    • Be aware of COUNT(*) in InnoDB table
    • Use ON DUPLICATE KEY UPDATE
    How to Kill Mysql Performance


  9. Using Data Contracts: be aware!

    Just another “have to know” thing. …


  10. About Me

    Hey there! My name is Michael Ayvazyan. I’m an Architect who works at Vayner Systems to help customers build creative software solutions with real business impact. Way back in 2009 I create a tiny open source Database Access library Ndb Library. It was developed in Test First Development in mind and it implements code-centric approach to work with Database. I don’t work on it anymore since Entity Framework team shipped EF Code First as a part of the Entity Framework 4 release. Ndb Library was designed to work with different database engines (MySQL, PostgreSQL, SqLite, MSSQL Server are supported). In the same time it’s pretty easy to add other engines. There is another small open source project MSBuild.Scaffolding I published on Dec 8 2012. It allows to prepare solution for CI build (msbuild) using single Enable-Versioning command. Also I love making music! Check it out at Sound Cloud