jueves, septiembre 16, 2004

SQL 2005 Express

This application is a good replacement for SQL Query Analyzer... try it, if you just have installed VS2005 Beta 1, you will need it.

QA Replacement Application
Due to the lack of GUI tools distributed with the first releases of SQL Server 2005 Express (download) the QA Replacement Application was created. This application does not have all the functionality of Query Analyzer but as time goes on it gets closer. QA Replacement allows the user to run scripts, create DDL from dragging objects to the editor, see the event profiler for executing T-SQL and viewing the Show Plan for query executions.

...and here you can get some samples.

martes, septiembre 14, 2004

Virtual PC 2004 versus Visual Studio 2005

Mi experiencia instalando Visual Studio Beta 1 en una Virtual PC 2004. =)

Tenía una máquina virtual donde instalé Windows 2003 Standard, con una partición es de 2.5GB (hmmm, puede que no sirva).
A pesar de que el disco virtual estaba configurado para ser "dinámico", el límite es el definido por la particion configurada inicialmente al instalar el SO. Así que obviamente la instalación de VS2005 no puede completarse.

Siguiente paso, tratar de adquirir mas espacio en el disco virtual, y el primer intento es convertir el disco a Dynamic Disk; se supone que es mas útil para la adminisitración de volúmenes.
Esto no resultó, nunca lo había hecho antes...ja, pero está claro que no tiene nada que ver con el manejo de particiones. Buscando alternativas, me parece que Partition Expert de Acronis es una buena herramienta para el manejo de particiones.

Perfecto, tenía una partición de 2.5Gb, ahora una de 5GB, ... tuto bene.

Oops, necesité suspender la máquina virtual, en plena instalación de VS2005, para ir a casa...

Llegué, reinicié y todo ok =) VPC 2004 rocks!!

Estaba pensando que debería haber tomado el tiempo de instalación, pero pensandolo bien, no vale la pena, ya que mientras se realizaba la instlación, seguí trabajando y el procesador andaba a 100%.

Bien, ya tengo la VPC con W2003 y VS2005 !!!

Actualización 2004/09/15
Ahora estoy haciendo un merge del disco de la máquina virtual "base", y la extensión de VS2005.
Quedó OK.

jueves, septiembre 09, 2004

MBI Uninstall

This .note is for the MBI users group.
MBI is a great product for an enterprise application middle-tier, but usually developers have to deal with the install/uninstall problems. So here is a step-by-step list you can use to uninstall MBI "manually" to install a new version:

1. Run Regedit to open Registry Editor, and delete these keys:
      HKEY_LOCAL_MACHINE\SOFTWARE\MCS.
      HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\fwkserver
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\fwkserver

2. Reset your PC. Check that "Framework dispatcher service" does not appear in services list.

3. Open "Computer Management" console, go to "Services and Applications" -> "Message Queuing" -> "Private Queues", and delete MBI related queues.
      fwk__log
      fwk_output
      mbi_actions

4. Open "Visual Studio .Net Command Prompt" (at Visual Studio .Net Tools), go to "\Program Files\fwkdevend" and execute these instructions:
      regsvcs -u fwkbtsaic.dll
      regsvcs -u fwkcore.dll

      regasm shmlib.dll /unregister
      regasm fwkbtsaic.dll /tlb:fwkbtsaic.tlb /unregister
      regasm fwkclient.dll /tlb:fwkclient.tlb /unregister
      regasm fwkcommon.dll /tlb:fwkcommon.tlb /unregister
      regasm fwkcore.dll /tlb:fwkcore.tlb /unregister

5. Remove from GAC the followings assemblies:

      interop.pipecomplib
      interop.mscscore

      shmlib
      fwkbtsaic
      fwkclient
      fwkcommon
      fwkcore

      Note: You can use "gacutil /u [assemblie]" if you have installed .NET SDK.

6. Delete "fwkdevend" directory from "Program Files", and restart your pc, just to be sure =)

... then you can reinstall MBI or install a new version.

lunes, septiembre 06, 2004

MS: Thanks Linux <- ¿?


This one is good, not to fight anyone, just for reading and then think "where do you want to go today?"... =)
"The article"

domingo, septiembre 05, 2004

Patterns and .Net framework

I was watching some saved webcasts, and i found this one - Pattern Based Development for the Enterprise - presented by Craig Utley.

Well, this webcast is about three design patterns: singleton, factory and observer, and I remembered that a few time ago I didn´t know how .Net framework take care about singleton implementation, and maybe you don´t either, so here you have my .notes =)

As you probably know, Singleton pattern solve the need to have a single instance of a particular object (or a specific maximum number of objects).

There are some approaches, like this classical GOF implementation (using Double-Check Lock in multithreading applications):


class Singleton 
{
    public static Singleton Instance() {
        if (_instance == null) {
            lock (typeof(Singleton)) {
                if (_instance == null) {
                    _instance = new Singleton();
                }
            }
        }
        return _instance;      
    }
    protected Singleton() {}
    private static volatile Singleton _instance = null;
}


... and here you have the .Net Fx simplified version:

sealed class Singleton 
{
    private Singleton() {}
    public static readonly Singleton Instance = new Singleton();
}


worried about lazy initialization?, well, .Net Fx takes care about this during JIT process, it will initialize the Instance property when any method uses it. In other words, the class get constructed and instantiated when any static member of the class is used. By the other hand, .Net Fx addresses thread-safe initialization too. the framework internally guarantees thread safety on static type initialization.