Monday, 6 February 2012

CSS Specificity Quiz

Did this quiz on CSS specificy ... and the Gnome scored 100%, so is very pleased.
If you don't get 100%, try reading this tutorial ... simple and straightforward.

SQL Server distributed transactions

SQL Server distributed transactions are a little more restrictive than you might think.  Moved an app from 2 database on the same server to the live environment where the two databases were on separate servers.  First had to configure DTS on both machines (setting the security correctly for network distribution).  Then had to remove the explicit nested transaction from the stored procedure which was doing the distributed work.  Then had to change the remote table to have a timestamp field else the cursor wouldn't compile any more.  Its a lot more straightforward in Oracle!

Friday, 3 February 2012

Dynamic in-line scripts in IE8

If you add an in-line JavaScript script to an HTML page in IE8 using document.write() during initial load, it doesn't execute: if such script isn't in-line (i.e. has a src element) then everything behaves fine.  As IE (various versions) have odd behaviour with dynamic scripts (whether or not written using document.write) this isn't a complete surprise - but it is inconvenient!

Thursday, 2 February 2012

Refreshing LINQ

Today I learned that you can force an update of a record from the database using LINQ, where it has been changed by another user.  Just use the Refresh method of the DataContext.

Wednesday, 1 February 2012

NLog - auto-reconfiguration and bundling logs for email.

Today I learned that NLog normally needs to be told to reload its configuration file when it changes (thought automatic reloading was the default).  To enable automatic reloading, add autoReload="true" to the <nlog> tag.  Documentation here.


Also learned that NLog buffering is implemented using the BufferingWrapper target which means I don't need to spam logs any more.