Microsoft Gatineau (:D Analytics …)

Buenas

muchos de ustedes conocerán Google Analytics, yo desde hace bastante tiempo lo utilizo en ElBruno.com y la verdad es que siempre me ha gustado como producto. Obviamente nuestros amigos de Microsoft desde hace tiempo tienen su propio producto para este tipo de aplicaciones y por fin después de esperar bastante tiempo me ha llegado la invitación a la fase Beta.

Se trata de Microsoft Gatineau, un servicio copiado de GA para el análisis de información sobre estadísticas de navegación de uno o más websites. Si alguien quiere darse de alta simplemente puede registrarse en http://advertising.microsoft.com/gatineau y esperar que aprueben su petición

Nota: durante la fase de la versión beta, los usuarios del proyecto Gatineau se necesitará para crear una cuenta adCenter. Aunque el uso de proyecto Gatineau es completamente de forma gratuita, hay un cargo único $5 al crear una cuenta adCenter. Si ya tiene una cuenta adCenter, puede utilizar la dirección de correo electrónico asociada con esa cuenta.

Todavía no poseo datos de análisis, pero les dejo un par de screenshots de la interfaz en general:

 

Saludos @ Home

El Bruno

Crossposting from ElBruno.com

[Word 2007] Add-in: Microsoft Math

Buenas

mientras en mi flia siguen esperando la pequeña aplicación que les prometí, nuestros amigos de MSDN me han salvado con un nuevo addin para Word 2007, orientado a las funciones matemáticas. Éste addin agrega funciones de cálculo y capacidades gráficas a la Ribbon en Word 2007.

Con el complemento de Microsoft Math para Word 2007, es posible:

  • gráficar una función, ecuación u desigualdad en 2-D o 3D
  • resolver una ecuación
  • calcular un resultado numérico
  • simplificar una expresión algebraica

He aquí unos pantallazos del AddIn

 

 

Descarga: http://www.microsoft.com/downloads/details.aspx?FamilyID=030FAE9C-704F-48CA-971D-56241AEFC764&displaylang=en

Saludos @ Home

El Bruno

Crossposting from ElBruno.com

[DSL] Roadmap para el futuro de las DSL Tools

Buenas

hace unos días Stuart Kent nos comentaba en su blog parte de las ideas que guían el Roadmap para las Domain Specific Language Tools para Visual Studio. El post completo lo pueden leer en http://blogs.msdn.com/stuart_kent/archive/2007/11/22/dsl-tools-beyond-vs2008.aspx; pero básicamente en la versión actual para Microsoft Visual Studio 2008 se apoya los siguientes conceptos:

  • Evolucionar las capacidades gráficas para el diseñador y la plataforma para la generación de código con el objetivo de proporcionar más funciones, para integrarse mejor con otras partes de la plataforma Visual Studio.
  • Generalizar el enfoque para la creación en las herramientas DSL, para soportar varios tipos de extensión en Visual Studio e integrar el proceso de creación de DSLs con las mismas.

Lamentablemente, con la salida de VS2008 no veremos muchos cambios pero si hay una promesa muy grande de cambios para Rosario (aunque falta mucho …).

Si como yo, están migrando proyectos de DSL de VS2005 a VS2008, seguramente este post les dejará un poco más claro la cantidad de trabajo que todavía tenemos por delante 😀

 

Saludos

El Bruno

Crossposting from ElBruno.com

[VS2008] Instalador para el Team Explorer 2008 (solo como Sylar)

Buenas

si como yo has instalado Microsoft Visual Studio 2008 y necesitas trabajar con un servidor de Team Foundation Server, seguramente has comenzado a buscar el Team Explorer 2008.

Una opcion era descargar el Visual Studio Team System 2008 Team Foundation Server (90-day trial) y esperar a enero cuando se actualicen las licencias y software de las subscripciones de MSDN; ahora tenemos otra más:

ya podemos descargar Visual Studio Team System 2008 Team Explorer directamente desde Microsoft Downloads.

Descarga: http://www.microsoft.com/downloads/details.aspx?familyid=0ED12659-3D41-4420-BBB0-A46E51BFCA86&displaylang=en

Obviamente es necesario una Team Foundation Server Client Access License (CAL) para utilizar Team Explorer y acceder a un Team Foundation Server.

 

Saludos @ Home

El Bruno

Crossposting from ElBruno.com

[EntLib] Migrando Applications Blocks de EntLib 2.0 a EntLib 3.1


Buenas


si has extendido las capacidades iniciales de Enterprise Library 2.0 y quieres migrar las mismas a Enterprise Library 3.1, seguramente te encuentres con el siguiente error despues de actualizar las referencias.


Excepción


—— Build started: Project: XX, Configuration: Debug Any CPU ——

CategorySourceSerializableConfigurationSection.cs(31,12): error CS0305: Using the generic type ‘Microsoft.Practices.EnterpriseLibrary.Common.Configuration.NameTypeConfigurationElementCollection<T,TCustomElementData>‘ requires ‘2type arguments

Compile complete —
5 errors, 0 warnings
========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ==========

Nota: en mi infinita ignorancia y acostumbrado a la actualización de 1.1 a 2.0, pensé que simplemente actualizando las referencias del proyecto / solución a Enterprise Library 3.1 todo funcionaba pero una vez más la realidad me puso a trabajar un poco más de la cuenta.


 


Pues bien, la excepción en tiempo de compilación hace referencia a



Microsoft.Practices.EnterpriseLibrary.Common.Configuration.NameTypeConfigurationElementCollection


en la línea 6 del siguiente fragmento de código:


1 /// <summary>
2 /// Gets the CategorySource providers.
3 /// </summary>
4 /// <value>The CategorySource providers.</value>
5 [ConfigurationProperty(CategorySourceSerializableConfigurationSection.providersProperty_)]
6 public NameTypeConfigurationElementCollection<CategorySourceConfigurationElement>
7 CategorySourceProviders
8 {
9 get
10 {
11 return (NameTypeConfigurationElementCollection
12 <CategorySourceConfigurationElement>)
13 this[CategorySourceSerializableConfigurationSection.providersProperty_];
14 }
15 }

Cómo a esta información no la tenía muy fresca en mi memoria me tuve que poner a leer (y aprender !!!) de nuevo el funcionamiento del namespace Microsoft.Practices.EnterpriseLibrary.Common.Configuration y después de una serie de pruebas solucioné el problema agregando el 2do argumento que también hace referencia al mismo tipo que el 1ro. Por ejemplo:


1 /// <summary>
2 /// Gets the CategorySource providers.
3 /// </summary>
4 /// <value>The CategorySource providers.</value>
5 [ConfigurationProperty(CategorySourceSerializableConfigurationSection.providersProperty_)]
6 public NameTypeConfigurationElementCollection<CategorySourceConfigurationElement, CategorySourceConfigurationElement>
7 CategorySourceProviders
8 {
9 get
10 {
11 return (NameTypeConfigurationElementCollection
12 <CategorySourceConfigurationElement>)
13 this[CategorySourceSerializableConfigurationSection.providersProperty_];
14 }
15 }

La base de este comportamiento es que el 1er parámetro define el tipo de NameTypeConfigurationElement que contiene la colección, y el 2do parámetro es el tipo para la configuración personalizada de la colección que se implementa para el Application Block. (en versiones anteriores no era necesaria esta distinción)


Finalmente viernes a la tarde problema solucionado !!!!


 


Saludos @ Here


El Bruno


Crossposting from ElBruno.com

[TFS2008] Cambios en las licencias (no es gratis, pero casi …)

Buenas,


interesante cambio en parte del licenciamiento de Team Foundation Server, a partir de la versión 2008 la creación de nuevos elementos de trabajo y la visualización de los los elementos de trabajo no es necesario comprar una CAL.

He aquí parte de la noticia:

Licensing Changes in Team Foundation Server / CAL 2008



Microsoft has made one licensing change in the Team Foundation Server CAL requirement with the release of VSTS 2008. The change is as follows: You do not need a CAL to access work item tracking functionality, to create new work items or view and update work items you opened.

You may do the following:

· Open a new work item of any type within the system. 

· Access to work items opened only by you.  You cannot view or access a work item opened by anyone else.

· Edit any work item you opened to clarify the original entry, change work item fields, or make annotations to the discussion of the opened work item. You cannot resolve, close or change the work item state in any way.


The change will only apply to TFS 2005 when customers are exercising downgrade rights from TFS 2008. TFS 2005 customers that purchased Software Assurance with their licenses will be able to apply this new licensing exception to their 2005 version.


Fuente: http://blogs.msdn.com/adamga/archive/2007/11/20/tfs-for-defect-tracking-licensing-change.aspx


 


Saludos @ 23g9kj


El Bruno


Crossposting from ElBruno.com

[VS2008] SDK Released !!!

Buenas

una vez instalado Microsoft Visual Studio 2008, ya comienzo a migrar algunos proyectos y a probar como se comportan en el nuevo IDE. Muchos de los últimos proyectos en los que estoy trabajando están orientados a extender capacidades del IDE de VS, por lo que necesitaba el SDK.

Nuestros amigos de Visual Studio eXtensibility sólo un día después del lanzamiento del RTM han lanzado Visual Studio 2008 SDK 1.0 y Visual Studio 2008 Shell para que podamos comenzar a migrar y a aprender las nuevas características de esta version. Ambas herramientas son bastante complejas como para detallarlas en un post, pero si quieres más información puedes navegar Visual Studio 2008 Shell overview y Visual Studio 2008 Shell details.

 

Saludos @ Madrid

El Bruno

Crossposting from ElBruno.com

SQL Server y el sentido comun

Buenas,

desde hace unos días sigo con cautela un blog donde un compañero ha descubierto algunas de las capacidades extendidas que posee Microsoft SQL Server 2005. Como muchos saben SQL Server posee una serie de stored procedures extendidos que brindan unas funcionalidades muy interesantes, pero que en muy pocos casos he encontrado la necesidad de utilizar (en realidad creo que nunca)

Por mencionar algunos podría hablar de xp_fileexist, para verificar si existe un archivo; o xp_regread para leer una entrada del registro de windows; o inclusive xp_terminate_process para destruir un proceso a partir de su ID (que peligro !!!). Sin embargo el más peligroso de todos a mi humilde entender es xp_cmdshell. Como la realidad siempre supera a la ficción, simplemente me remitiré a una pequeña experiencia para ilustrar este caso.

Hace unos años, cuando trabajaba con el amigo Iteya y mis semanas se repartían entre Córdoba y Buenos Aires; me llamaron de un proyecto para revisar un problema que tenían con COM+, algunas transacciones y SQL Server. En este tipo de escenarios y cuando de acceso a datos y transacciones hablamos, yo soy bastante práctico; mis premisas son la siguientes:

  • La base de datos solo debe realizar acciones de INSERT, UPDATE, DELETE o SELECT
  • Se debe acceder a la base de datos utilizando Procedimientos Almacenados
  • Los procedimientos almacenados no deben tener lógica dentro de los mismos (ni siquiera un IF)
  • La gestión de las transacciones es responsabilidad de a lógica de negocios … aunque bueno este es un tema aparte 😀

Volviendo a esos días, la frase con la que me recibieron fue: “existen casos donde se lanza un proceso de actualización de datos dentro de una transacción, pero si algo falla, el Rollback no elimina los datos“. Frente a este escenario, me puse a revisar un poco la configuración del sistema, un poco el código de las clases de negocio y todo parecía estar en orden, sin embargo dentro de un procedimiento almacenado encontré la siguiente línea:

set @command = ‘c:Procesador.exe’ + @CommandID
exec master..xp_cmdshell @command

Desde mi más profunda ignorancia pregunté que era “Procesador.exe”; y me encontre con una aplicacion desarrollada en FOX que recibía un parámetro y realizaba algunas acciones de acuerdo al mismo y de la que se esperaba que “mágicamente” utilizase el contexto transaccional en el que se estaba ejecutando la lógica de negocios. Obviamente si en algun momento la transaccion “se cortaba” los datos que había procesado la aplicación de FOX quedaban en ese estado, pero esto era un misterio para el equipo de desarrollo.

Por suerte en las oficinas de informática de las grandes empresas, usualmente no se encuentran motosierras ni sables láser colgados en las paredes, porque creo que después de ver este escenario, mi primer instinto hubiese sido tomar un sable láser y comenzar con la colección de mancos. Pero opté por un pequeño gráfico y de un par de horas explicando como funciona COM+, que son los contextos transaccionales, etc.; y además les dejé las siguientes preguntas para una autoevaluación para los procedimientos que comienzan con xp_

  • Si necesito leer el registro de Windows desde mi servidor de base de datos, ¿estoy seguro que no necesito comenzar a separar en un par de layers para asegurar el aislamiento de las capas de mi app?
  • ¿Cuál es la razon aparente para verificar si existe un archivo desde el servidor de DB?
  • etc.

y como una buena práctica para evitar problemas a futuro, recomiendo realizar un search por “xp_” en un database script para verificar si no estamos tentando al destino.

 

Saludos @ VS2008 Download home

El Bruno

Crossposting from ElBruno.com

[VS2008] Is here !!! (recomiendo ademas, unas cervezas y una buena peli para esperar mientras se descarga)

Buenas

finalmente después de mucho esperar y de errores como los siguientes

Free Image Hosting at www.ImageShack.us

Microsoft Visual Studio 2008 está disponible para descargar para los suscriptores de MSDN.

Sin embargo como bien dice el amigo Pablo, la descarga está muy lenta asi que paciencia, recomiendo la peli de Transformers y algo de la 2da temporada de House para la dulce espera.

 

Saludos @ Madrid

El Bruno

Crossposting from ElBruno.com

[VS2008] Mas cerca de lo que piensas … (aunque no tan cerca como quisieras)

Buenas

La descarga de Microsoft Visual Studio 2008 está más mucho más cerca que el lanzamiento oficial del año entrante junto con Microsoft SQL Server 2008 y Microsoft Windows Server 2008 (si los servidores de MSDN nos dejan).

Segun el equipo de MSDN Suscriptions, la misma estará disponible very soon un very soon que se está dilatando bastante según publican en su blog oficial.

La siguiente frase me hace pensar que tal vez los desarrolladores somos demasiado ansiosos y que cuando finalmente nos habilitan un link de descarga, basicamente asesinamos a los servidores

We are using two different platforms to make these downloads available – to improve discoverability and reliability, and to balance demands on the systems

Veremos que tal se comportan las descargas en el very soon future.

 

Saludos @ Home

El Bruno

Crossposting from ElBruno.com