Vista and UAC

If you are using Vista you most likely have came across its User Access Control (UAC) system. Vista makes a bold attempt to make you login as a non-administrator on the local computer. This limits the damage illicit code like trojans and viruses can do but it requires you to escalate to administrator privileges as soon as you need to maintain your system.
Local maintenance should be rare but it happens and you will soon get used to having a message box popping up asking for the administrator password. This is all good… except… that messagebox is popping up all the time while you are installing your new Vista system. At least this is the case if you do as me and run as a limited user and not as the administrator user.
Lately I have noticed that I do not really pay attention to what the dialogs say when it’s asking me for administrator privileges. I just assume it is good.
UAC makes your system more secure but you also must stay alert and stay on top of any attacks that might find its way onto your system.
In a way I think this makes XP SP2 even more secure than Vista as it would require you to logon as administrator or select “run as…” for certain executables or it would fail. Vista almost always ask for the proper permissions to do something and many users might feel that if Vista asks for administrator permission they should submit administrator permission.
Vista is working really great but I see an issue with the request for admin rights as soon as a user try to do a for admins only operations.
Check the dialogs!

Change login screen in Vista

If you are a home user of Windows Vista you are most likely greeted by a welcome screen with available logins. This is not always what you would like and the CTRL-ALT-DELETE approach with a window for user name and password suits you better.
To achieve something closer to that you can try this, start gpedit.msc (as administrator)
Browse into
  Local Computer Policy
    Computer Configuration
      Windows Settings
        Security Settings
          Local Policies
            Security Options
There you will find several policies for Interactive Login. Double click “Interactive logon: Do not require CTRL-ALT-DEL”” and set it to disabled.
This should allow you to login in without the fancy login screen you get by default in Vista.

Installing Vista

I am at the moment installing Vista on my computer and it seem to going quite well. Beta 2 did after all work for me so why shouldn’t the final version do? I will need more time to get used to it but what I saw from the beta version is that it is a really solid product.
I am not sure I see the need for current XP users to upgrade to it more than for the bling as it is it priced close to how XP was priced.
The only part I know is missing is to run a development installation of SQL Server 2005. After trying MySQL for a while I know what an excellent and solid product SQL Server is.
Maybe I can change the mind of my collegues, but first I need to check up on the installation. It seems I can’t move the mouse, maybe it did last time too…

MySQL and transactions

At my new job we are using MySQL. Its an excellent product but it is far from competing with Microsoft SQL Server. I learned most of my database skills on SQL Server 7.0/2000 and are now using 2005. It is a really beautiful and mature product with excellent tools to support it.

I know from quite some time ago that MySQL was excellent for speed and the creators idea was not directly in line with how most view a RDBMS. This didn’t stop MySQL from becoming a very popular backend and is in very wide use today.

How I would like to work with a database is very different from how MySQL allow developers to work with it.

If you are doing some work on a database level you usually want to do it close the the data like in a stored procedure. When you update multiple entities in the database you usually want to do it in a transaction.  MySQL 5.0 supports procedures and transactions! I might just be missing the whole concept but so far I have not found a way to detect errors inside a stored procedure. What I want is to run a stored procedure that starts a transaction and it will fire several statements that might fail and if one statement fail I should detect it inside the procedure and roll it back.

At the moment it seems as I have to do it from the client; start a transaction, execute the procedure and commit if it succeeds otherwise roll back.

This is just something I either do not know enough about or is correct about and need to get used to.