February 2007 - Artículos

Buenas,

mientras espero que en un proyecto donde estoy a tiempo parcial, se decidan a migrar las estaciones de trabajo a Microsoft Office 2007; tengo 2 opciones:

La segunda opción es la que me aprobó mi Project Manager, asi que desempolvé parte de mi hemisferio izquierdo y recordé cosas tan básicas como;

  • trabajar con las Toolbars, perdón CommandBars de Office.
  • crear un SmartTag.
  • agregar mis controles a un TaskPane.

He dejado el ejemplo completo de un projecto que implementa estas funcionalidades para Word 2003; pero si lo analizamos por partes podremos ver que:

1. Trabajamos con un proyecto de tipo Office // 2003 Add-ins // Word Add-in

 

2. En el evento StartUp del add-in, agregamos el SmartTag personalizado que hemos creado (línea 7); un UserControl al panel CustomActions (línea 11) e iniciamos la interacción con las Toolbars de Word (línea 15).

1 private void ThisDocument_Startup(object sender, System.EventArgs e) 2 { 3 ActiveDocument = this; 4 5 // Agrego un SmartTag 6 SampleSmartTagEx smEx = new SampleSmartTagEx(); 7 this.VstoSmartTags.Add(smEx); 8 9 // Agrego el UserControl1 al ActionPane 10 UserControl1 uc1 = new UserControl1(); 11 this.ActionsPane.Controls.Add(uc1); 12 this.ActionsPane.Show(); 13 14 // Agrego la configuracion para las toolbars 15 AddToolbars(); 16 }

 

3. Nuestro SmartTag, es una clase llamada SampleSmartTagEx que hereda de SmartTag (línea 5); y dentro de la misma creamos 2 objetos de tipo Action; y cuando inicializamos la clase, los creamos con el texto que mostrarán al desplegarse

Ademas implementamos los handlers de los eventos Click de cada uno (líneas 8 y 10), para insertar texto dentro de Word (línea 25) o mostrar un mensaje (línea 20). Finalmente definimos las reglas que determinan la presentación del SmartTag, utilizando una expresión regular (línea 14) o un texto predefinido (línea 17).

1 class SampleSmartTagEx : SmartTag 2 { 3 private Action popupTextAction, insertTextAction; 4 5 internal SampleSmartTagEx() : base("SampleSmartTagEx", "Prueba de un SmartTag :D") 6 { 7 popupTextAction = new Action("Mostrar Hola mundo"); 8 popupTextAction.Click += new ActionClickEventHandler(popupTextAction_Click); 9 insertTextAction = new Action("Insertar Hola Mundo"); 10 insertTextAction.Click += new ActionClickEventHandler(insertTextAction_Click); 11 this.Actions = new Action[] { popupTextAction, insertTextAction }; 12 13 // Expresion regular para evaluar el lanzamiento del SmartTag 14 this.Expressions.Add(new Regex(@"\b[0-9]\b")); 15 16 // Expresion "fija" para evaluar el lanzamiento del SmartTag 17 Terms.Add("TestEx"); 18 } 19 20 void popupTextAction_Click(object sender, ActionEventArgs e) 21 { 22 MessageBox.Show( "Hola Mundo" ); 23 } 24 25 void insertTextAction_Click(object sender, ActionEventArgs e) 26 { 27 string text = "Hola Mundo"; 28 e.Range.Text = text; 29 } 30 31 protected override void Recognize(string text, Microsoft.Office.Interop.SmartTag.ISmartTagRecognizerSite site, Microsoft.Office.Interop.SmartTag.ISmartTagTokenList tokenList) 32 { 33 // Do nothing and allow the base class to handle the recognition 34 base.Recognize(text, site, tokenList); 35 } 36 37 }

4. Para incluir dentro de un panel un control personalizado, agregamos un UserControl al TaskPane ActionsPane (línea 10).

 

5. Finalmente para agregar una CommandBar personalizada con 2 botones y un combobox

tenemos la función AddToolbars que crea obtiene la comandBar y si no existe, la crea y luego crea cada uno de los elementos que estarán dentro de la misma.

1 Microsoft.Office.Core.CommandBar cmdBar; 2 Microsoft.Office.Core.CommandBarButton firstB; 3 Microsoft.Office.Core.CommandBarButton secondB; 4 Microsoft.Office.Core.CommandBarComboBox cmbBox; 5 6 public void AddToolbars() 7 { 8 try 9 { 10 cmdBar = this.CommandBars["Test"]; 11 } 12 catch (Exception ex) 13 { } 14 if (cmdBar == null) 15 { 16 cmdBar = this.CommandBars.Add("Test", 1, missing, true); 17 } 18 cmdBar.Visible = true; 19 20 try 21 { 22 firstB = (CommandBarButton)cmdBar.Controls.Add(MsoControlType.msoControlButton, missing, missing, missing, missing); 23 firstB.Style = Microsoft.Office.Core.MsoButtonStyle.msoButtonCaption; 24 firstB.Caption = "Button 1"; 25 firstB.Tag = "Button 1"; 26 firstB.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(firstB_Click); 27 28 secondB = (CommandBarButton)cmdBar.Controls.Add(MsoControlType.msoControlButton, missing, missing, missing, missing); 29 secondB.Style = Microsoft.Office.Core.MsoButtonStyle.msoButtonCaption; 30 secondB.Caption = "Button 2"; 31 secondB.Tag = "Button 2"; 32 secondB.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(secondB_Click); 33 34 cmbBox = (CommandBarComboBox)cmdBar.Controls.Add(MsoControlType.msoControlComboBox, missing, missing, missing, missing); 35 cmbBox.Style = MsoComboStyle.msoComboNormal; 36 cmbBox.AddItem("Uno", 1); 37 cmbBox.AddItem("Dos", 2); 38 cmbBox.Change += new _CommandBarComboBoxEvents_ChangeEventHandler(cmbBox_Change); 39 } 40 catch (Exception ex) 41 { 42 throw; 43 } 44 }

 

Además implementamos los eventos Click() de cada uno de los botones y el evento Change() del ComboBox para mostrar un mensaje en cada evento.

1 void cmbBox_Change(CommandBarComboBox Ctrl) 2 { 3 MessageBox.Show(cmbBox.Text); 4 } 5 6 void secondB_Click(Microsoft.Office.Core.CommandBarButton Ctrl, ref bool CancelDefault) 7 { 8 MessageBox.Show("click B"); 9 } 10 11 void firstB_Click(Microsoft.Office.Core.CommandBarButton Ctrl, ref bool CancelDefault) 12 { 13 MessageBox.Show("click A"); 14 }

 

Pues bien, tampoco es tan dificil con Office 2003 ¿no?

y a que seguramente hay muchas cosas más que se pueden hacer con un poquito más de trabajo :D

 

Saludos

El Bruno

Crossposting from ElBruno.com

Buenas,

ayer comenté el lanzamiendo de una serie de Addins para Office 2007 que permiten trabajar con la minería de datos. Hoy voy a demostrar con un pequeño ejemplo como se pueden utilizar los mismos.

Una vez instalado los Addins para minería de datos para Office 2007, es necesario configurar los mismos. Si lanzamos la aplicacion Gettting Started del menú All Programs - Microsoft SQL Server 2005 DM Add-ins - Getting Started; veremos que nos aparece el siguiente wizard:

 

 

El mismo nos permite seleccionar la instancia del servidor que utilizaremos en nuestro startup. Una vez finalizado este paso, deberemos configurar y crear una nueva instancia de bases de datos de Data Mining que será la DB donde almacenaremos nuestras proyecciones y nuestro trabajo desde nuestro cliente Office 2007.

Para esto, también utilizamos un wizard que nos lleva por los siguientes pasos.

1. Welcome

 

2. Definir servidor de base de datos

 

3. Creación de una nueva base de datos o utilización de una DB ya existente

 

4. Seteo de permisos de acceso

 

5. Proceso completo !!!

 

 

Una vez finalizada la configuración de nuestro acceso a una base de datos de Data Mining; podremos comenzar a trabajar y utilizar las herramientas de Data Mining desde el propio Microsoft Excel 2007. En este momento podemos lanzar un archivo de ejemplo DMAddins_SampleData.xlsx (C:\Program Files\Microsoft SQL Server 2005 DM Add-Ins\DMAddins_SampleData.xlsx) y dentro del mismo probar una feature de Data Mining: Estimate Data Wizard.

Esta herramienta permite crear un modelo de estimación basado en datos existentes de una tabla del Excel, de un rango de Excel, o de una consulta de Analysis Services 2005. El modelo extrae patrones de datos y utiliza la información para predecir los factores que afectan valores continuos. Por ejemplo, es posible analizar los factores que se relacionan con los valores numéricos tales como tipos de dato de moneda o de fechas. Si la columa sobre la que queremos aplicar la predicción, por ejemplo, esta relacionada con la cantidad de coches por cliente, es posible analizar factores tales como la cantidad de personas solteras o casadas que tienen coche, el sexo de estas personas y la cantidad de coches por sexo, etc.

El asistente de creación, utiliza el algoritmo de árboles de la decisión de Microsoft, y a partir del mismo crea los gráficos que representan las dependencias y reglas en ventana interactiva.

1. Dentro de la Ribbon de Excel, seleccionamos el Tab Data Mining y hacemos click en el boton Estimate.

 

2. A continuación debemos definir la columna sobre la que queremos estimar los datos y las columnas que servirán como "input Data" para realizar el análisis de estimación. En este caso, trabajaremos sobre la columna "cars" que determina la cantidad de coches que posee una persona o un cliente

 

3. Una vez definidos los parámetros de entrada, podremos comenzar a generar y analizar los datos. Para esto creamos una nueva tabla (Table2 Structure_1) basada en modelo de decisión.

 

4. Finalmente, una vez finalizado el proceso de generación de datos, podremos ver los mismos en 2 modos gráficos:

  - Árbol de decisión

   

  - Red de dependencias

   

 

Como podemos ver las capacidades de mineria de datos son realmente impresionantes y además, a partir de este momento podemos tenerlas incorporadas en Excel 2007. Existen varios modelos de trabajo, además del Estimate Data; y cada uno se puede aplicar en situaciones diferentes. De a poco, las capacidades de Business Intelligence se acercan más a los usuarios finales, ya que todo el mundo sabe como utilizar y representar datos en Excel. Y ahora lo único que necesitamos, es que estos usuarios comiencen a conocer estas nuevas funcionalidades y a explotarlas !!!

 

Saludos

El Bruno

 

 

PD: se que no tiene nada que ver con la minería de datos, ni con Analysis Services, ni siquiera con la informática (aunq desp de ver la audiencia que tengo tal vez si); pero no puedo dejar pasar este EXCELENTE REFRIGERADOR LANZADOR DE CERVEZAS. Ver para creer http://www.metacafe.com/watch/445498/robotic_beer_launching_refrigerator/

Crossposting from ElBruno.com
Buenas

más news interensantes para los que trabajamos con Microsoft SQL Server 2005. Después del Service Pack 2 y gracias a los newsletters internos de Avanade me enteró del release de un set de Addins para Microsoft Office 2007 que permiten interactuar con el modelo de minería de datos de SQL Server 2005 (Data Mining para los entendidos, para los que saben).

Esta descarga es gratis ( a que mola :P ), y se integra dentro de Microsoft Excel y Microsoft Visio:

Overview

The Microsoft SQL Server 2005 Data Mining Add-Ins for Microsoft Office 2007 contain three add-ins. Two for Microsoft Office Excel 2007 and one for Microsoft Office Visio 2007.

  • Table Analysis Tools for Excel: Provides an easy-to-use add-in that leverage SQL Server 2005 Data Mining behind the scenes to perform powerful end user analysis on spreadsheet data.
  • Data Mining Client for Excel: Offers a full data mining model development lifecycle directly within Excel 2007.
  • Data Mining Templates for Visio: Enable powerful rendering and sharing of mining models as annotatable Visio 2007 drawings.

y por aquí podemos encontrar un poco más de información:

 

Si me hago un tiempo, mañana posteo un ejemplito de demo y algo más :D

 

Saludos

El Bruno

 

Source: www.sqlserverdatamining.com.

Crossposting from ElBruno.com

Buenas

hace unos meses salió la 1ra versión de las Power Toys para Team Foundation Server, este mes se ha publicado la versión 1.2 de las mismas.

El download es de solo 4MBs e incluye: 

The Microsoft Visual Studio 2005 Team Foundation Server Power Tool (formerly known as Power Toys) is a set of enhancements, tools and command line utilities that improve the Team Foundation Server user experience. This release includes two new command-line tools for the developer and three non-command line tools: a set of custom check-in policies, a build test task, and a process template editor. This version (1.2) includes some bug fixes to the Team Foundation Power Tool and adds the following functionality:

  • Workspace Command (tfpt.exe) - Use the workspace command for additional workspace operations not supported in the currently shipping Team Foundation Server command line (tf.exe).
  • Treeclean Command (tfpt.exe) - Use the treeclean command to see and optionally delete files in the current directory and all subdirectories that are not under version control.
  • Team System Process Editor - A tool integrated with Visual Studio that provides a convenient method of viewing and customizing process templates. When connected to Team Foundation Server, you can use this tool to customize work item type definitions and global lists on an active project.
  • Check-in Policy Pack - A set of handy check-in policies to address needs customers have expressed.
  • Build Test Tools Task - A tool that allows running unit tests by simply specifying the DLLs, or by specifying a file name pattern in TfsBuild.proj, instead of using .vsmdi files to specify tests to run.

 

para más información consulte a su distribuidor local o  http://www.microsoft.com/downloads/details.aspx?familyid=7324c3db-658d-441b-8522-689c557d0a79&displaylang=en

y he aquí un par de videos interesantes sobre la utilización de las Power Toys por nuestros amigos de Channel9

 

Saludos

El Bruno

Crossposting from ElBruno.com

Buenas,

después de la pequeña explicación de como utilizar el proyecto de ejemplo de AdventureWorks dentro de Analysis Services 2005; mucha gente me ha preguntado:

    • ¿y ahora como sigo?
    • ¿instalo Microsoft SQL Server 2005 a mis clientes para que naveguen los cubos?
    • ¿cambio de profesión y me dedico a la jardinería?
      • Nota: No puedo evitar poner una referencia al excelent post de Rodrigo, donde una vez más compruebo que mi vida como desarrollador es una frustrada sucesion de éxitos relámpagos solo disfrutados por mi humilde persona y por mi gatita .Net.

pues bien, hay muchas formas de atacar una base de datos OLAP. Un dato que siempre tenemos que tener en cuenta es que las bases de datos OLAP, como su nombre lo indican son BASES DE DATOS, esto significa que:

 

  • para las bases de datos relacionales existe un lenguaje que nos permite consultar la información de las mismas (T-SQL); para las relacionales tenemos un nuevo lenguaje que también nos permite consultar esta información: MDX.
  • para las bases de datos relacionales tenemos un set de componentes .Net que nos permiten interactuar con la misma: ADO.NET; en el caso de las multidimensionales existe ADOMD

lo único que cambia radicalmente de un modelo al otro es que al primero lo conocemos por un cilindro y al segundo lo identificamos como un cubo (como el de Rubic pero más fácil porque tiene todas las caras del mismo color).

 

Microsoft Office Excel 2007

Y, ¿qué herramienta utilizo para consultar la información?, empecemos por la herramienta de Business Intelligence más popular del mercado: Microsoft Office Excel 2007. Todos conocemos a Excel y sabemos que el uso indiscriminado de Excel en las organizaciones es una experiencia muy común. Es por eso, que en la versión 2007 de Microsoft Office, se ha potenciado a Excel como herramienta para análisis de datos. Una de las características que han mejorado notablemente es la capacidad de conexión de Excel a diferentes fuentes de datos.

En la siguiente imagen, podemos ver que entre las opciones de conexión que nos ofrece Excel, tenemos la capacidad de conectarnos a un servidor de Analysis Services 2005 y ademas, podremos conectarnos a archivos de texto, bases de datos Access, fuentes OLED, etc.

En nuestro caso nos interesa AS, asi que seleccionaremos la opcion "From Analysis Services" y a continuación seguiremos los siguientes pasos:

1. Selección de servidor y modelo de autenticación

2. Selección de base de datos y (opcional) cubo con el que trabajaremos

3. Datos de Conexión

Y ya tenemos dentro de Excel nuestro TaskPane para trabajar con los datos de un cubo.

 

Navegando la información con Excel 2007

Aqui es donde nuestros estimados/requeridos clientes empiezan a ponerse contentos y a esbozar una sonrisa (que por lo gral es una maquinación de futuros sistemas ERPs completos en un Excel). Como ya es viernes hoy toca tomar un par de cervezas no haré los 25 screenshots necesarios que demuestran como navegar un cubo, sino describiré los mismos y a continuación tiraré de mi estimado SoapBox MSN para que lo vean online.

  1. En el panel PivotTable Field List del listado de campos seleccionar Internet Orders - Internet Order Count (este campo debe aparecer en la seccion inferior Values)
  2. Arrastrar el campo Customer - Location - Country y Customer - Location - City a la sección Row Labels.
  3. Arrastrar el campo Date - Calendar - Date.Calendar a la sección Column Labels.

A partir de este momento podemos comenzar a navegar la cantidad de órdenes de venta por internet que se han vendido filtrando por país, dentro de cada país se hace un subtotal por ciudad, y en las columnas podemos trabajar con la información de tiempo que deseemos.

Por ejemplo, si en la columna superior CY2002, desplegamos la información un subnivel (hacemos click sobre la cruz +), podremos ver que dentro del mismo estamos viendo la información de las ventas, separas por los semestres del año 2002. Si nuevamente desplegamos la información de un semestre (H1 CY 2002) podremos navegar por los trimestres; y luego por los meses, semanas y días hasta ver la información en su nivel más bajo de detalle.

Si, por ejemplo, no deseamos ver la información con un nivel de detalle de ciudad, simplemente sacamos el campo City de la seccion Row Labels y nuestra información se agrupará por país solamente.

 

También es posible trabajar con filtros en los campos, mover campos de las secciones columnas a filas o viceversa, visualizar los KPIs definidos en el cubo, etc. Las capacidades de procesamiento y visualización de información que nos ofrece Excel 2007 son realmente impresionantes.

Aquí tenemos un pequeño walktrough (video) de los pasos anteriores y un formato final del informe con el que queremos trabajar :D (la paleta de colores de AdventureWorks es verde ... lo aclaro antes que alguien haga un comentario sobre la fea elección de los colores :P)

 


Video: Excel Business Intelligence Demo

 

 

Saludos

El Bruno

Crossposting from ElBruno.com
Publicado 23/2/2007 13:25 por El Bruno | con no comments

 Buenas

seguimos con las novedades, ayer fue el SP2 de SQL 2005 y hoy la versión final de Virtual PC 2007.

Tuve la suerte de participar del prograna de Beta Tester de Virtual PC 2007, un poco por necesidad ya que era la única versión que funcionaba con Windows Vista (ademas de Virtual Server); pero además de ser Vista enabled, es compatible con otros OS, con tecnologías 64 bit; e incluye soporte de hard para Intel y AMD.

Si usas Virtual PC 2004; es buen momento para migrar a VPC 2007 y si usas la versión de la imagen, también es buen momento para probar cosas nuevas :D

 

Saludos

El Bruno

Crossposting from ElBruno.com

Buenas

pues si, finalmente el SP2 ha sido liberado :D. La nota de prensa oficial es la siguiente http://www.microsoft.com/presspass/press/2007/Feb07/02-19SQLSP2PR.mspx y (una vez más) las características del mismo:

 

 

Key enhancements to SQL Server SP2 include the following:

Data Mining Add-ins for the 2007 Microsoft Office system enable data mining functionality from SQL Server Analysis Services (SSAS) to be used directly within Excel® 2007 and Visio® 2007.

SQL Server Reporting Services (SSRS) compatibility with Microsoft Office SharePoint® Server 2007 provides integration with the Report Center in SharePoint, enabling the seamless consumption and management of SSRS reports within SharePoint.

SQL Server Analysis Services improvements for Excel 2007 and Excel Services relate to performance and functionality.

Data compression (varDecimal) is an important feature for data warehousing scenarios, requiring less disk storage of decimal data and increasing overall performance.

Manageability enhancements, based on customer feedback, provide management capabilities for database administrators such as improvements in database maintenance plans, enhanced management reports and a new copy database wizard.

Management reports added to SQL Server Express Edition enable customers to get insights into the performance of their Express Edition and SQL Server Compact Edition databases.

Interoperability improvements including Oracle support in the Report Builder feature enable customers to use its functionality on top of Oracle data sources. Customers also have access to SQL Server Reporting Services to build reports on top of Hyperion’s Essbase cubes.

Customers can download SQL Server 2005 Service Pack 2 immediately from http://www.microsoft.com/sql/sp2.mspx.

 

A instalarlo !!!

 

Saludos

El Bruno

Crossposting from ElBruno.com
Publicado 19/2/2007 21:36 por El Bruno | 2 comment(s)
Archivado en:

Buenas

en las últimas semanas, tuve la oportunidad de pasar bastante tiempo en las oficinas de Avanade; parte de este tiempo lo invertí en entrevistas técnicas a futuros adictos a la cerveza como yo empleados de Avanade. En casi todos los casos les terminaba comentando mi teoría del Programador Vago y las premisas del mismo. A pedido de uno de ellos que lee mi blog se ve que tiene mucho tiempo libre y poco criterio para elegir, comentaré la parte relacionada a los grupos de trabajo y el nivel en general.

 

Supongamos que tenemos un grupo de trabajo formado por un Programador Senior (A) y 3 Programadores Junior (B, C y D). Por lo general cuando dentro de este tipo de equipos, si alguien (un cliente) tiene alguna duda / sugerencia / queja / recompensa / ostia / etc.; el primer interlocutor que busca es el Programador Senior (A). Esto acarrea una carga de trabajo adicional para el Programador Senior que reporta pocas satisfacciones (es la forma políticamente correcta de decilo) y aisla de la realidad a los demas participantes del equipo.

 

Frente a este escenario, un Programador Vago, si alguna vez tiene que cumplir el rol de Programador Senior, opta por la siguiente solución:

Es necesario subir el nivel de todos los integrantes del grupo de trabajo para que el mismo quede nivelado.

Para esto se enfrenta a la siguiente pregunta: ¿cómo se logra este objetivo? existen diversos métodos: apoyar a tus compañeros, promover el trabajo en equipo, incentivar la formación, compartir información, etc. Cuando la persona más experimentada, es consciente que parte de su trabajo es la formación interna; el equipo tiende a nivelarse. (y no sólo formación técnica)

 

De esta manera, frente a un equipo nivelado; cuando alguien (el pesao del cliente) vuelve con alguna duda / sugerencia / queja / recompensa / ostia / etc.; el frente de ataque de esta persona se ha multiplicado por 4 (pues si ... lamentablemente el Senior tiene que seguir currando); y reporta los siguientes beneficios:

  • El cliente no tiene un solo punto de referencia para un proyecto, todo el equipo se convierte en esta referencia; eliminamos la clásica dependencia que se demuestra con la frase: no podemos responder eso porque Josecito está enfermo.
  • El Programador Senior puede tener un dado y cuando hay que resolver algún problema o tomar alguna decisión; recurrir al dado para "delegar" la tarea entre sus súbditos: B, C o D. Esto le brinda más tiempo para sus asuntos personales, con lo que seguramente podrá jugar más a la XBox seguir perfeccionandose.
  • Pasado un tiempo, cada uno de los Programadores Junior tendrá en su haber nuevos skills que les permitirán progresar como profesionales, subir de nivel, aumentar sus ingresos y (obviamente) con esos nuevos ingresos, comprarse una XBox continuar con su formación.

 

Este es un ejemplo muy simple pero bastante útil de una forma interesante de trabajar. Además es una de las premisas por la que me manejo, otra por ejemplo; es la necesidad imperiosa de hacer las cosas solo una vez (no esucho razones :D).

 

Saludos

El Bruno

PD: esto que parece una obviedad no es una realidad en muchos casos. (Lamentablemente) He conocido personas que por no delegar, se convierten en cuello de botella de muchos procesos en las organizaciones y generan mas de un problema. Todo ocasionado por el típico miedo a perder parte del poder que brinda la información y el conocimiento.

Crossposting from ElBruno.com

Buenas

este finde estoy estrenando una nueva cámara de fotos: Sony T-10. Después de tener durante casi 4 años una cámara digital de Sony, de registrar mas de 8 GBs de fotos y de comprobar que Sony hace cámaras de muy buena calidad, no creo que cambie de marca (además debo confesar que la chica de la foto me ha ayudado a decidirme, aunque mi modelo es de color negro)

En mi caso, la fotografía es un hobby y no está orientada a sacar fotos de calidad profesional, sino que me gusta tener a mano una cámara para poder capturar momentos que me gusta recordar, la T-10 se adapta perfectamente.

Por ejemplo, ahora que vuelvo a desembalar el Lego Mindstorms; tengo una nueva pieza para el mismo: una wireless camera TP-IP201W. Los que sean seguidores de Coding4Fun, hace un mes habrán visto el artículo de Brian Peek sobre un coche radiocontrolado con una camara wireless. Pues bien, a partir de ese momento se me ocurrieron un par de variaciones sobre este modelo y me conseguí esta webcam para poder comenzar hacer este par de pruebas.

 Al igual que la T-10 la webcam es bastante pequeña (pesa solo 200 gramos); y se puede montar casi perfectamente sobre el Tribot; aunque estoy probando otros modelos para aprovechar el 3er servomotor y los otros sensores del Lego. Cuando tenga el modelo armado, publicaré el tutorial del mismo y tal vez (solo tal vez) lo publique en la web para que el control del Lego sea "público" :D 

 

Saludos

El Bruno

Crossposting from ElBruno.com
Publicado 18/2/2007 21:28 por El Bruno | con no comments

Después de un nuevo viaje relámpago a Barcelona; de a poco veo que tendré que volver al fabuloso mundo de MOSS 2007. Esto requerirá grandes dosis de cerveza un poco de paciencia, mucha RAM para las máquinas virtuales y este Optimus Prime que mola q t mueres, para decorar el escritorio.

Por un par de meses, tendré que hacer una suplencia (al estilo Gago en el Real Madrid) y la mayoría de los proyectos en los que me veré involucrado serán de MOSS 2007.

El primer marrón punto interesante fue comenzar a ver esta guideline que nos cuenta el proceso de migración de SPS 2.0 a SPS 3.0. El mismo se puede descargar desde aquí.

 

Upgrade Toolkit for Windows SharePoint Services Sites and Templates Guide

Overview

The Toolkit serves three main purposes:

  • To provide IT professionals with the guidance and tools they need to upgrade customized Windows SharePoint Services 2.0 sites and site templates to function in a Windows SharePoint Services 3.0 environment.
  • To provide a set of upgraded application templates for Windows SharePoint Services based on those currently published for Windows SharePoint Services 2.0 on TechNet.
  • To provide instructions for installing these application templates in a Windows SharePoint Services 3.0 environment.

The 60 page guide covers the following topics:
  • Ch 1: Introduction. Introduces the Upgrade Toolkit for Windows SharePoint Services Sites and Templates, explaining its purpose, scope, audience, and contents.
  • Ch 2: Planning Your Template Upgrade. Examines the site and site template upgrade process from beginning to end and gives you necessary information for planning your upgrade strategy. It explains that the upgrade process has two stages: one to perform before your Windows SharePoint Services environment is upgraded to Windows SharePoint Services 3.0, and one to perform after the upgrade.
  • Ch 3: Preparing a Site Template Based on a Customized Site Definition. If you determine, based on Chapter 2, that one or more of your site templates are based on customized site definitions, this chapter will familiarize you with upgrade definition files and new site definitions.
  • Ch 4: Stage 1: Before Upgrading to Windows SharePoint Services 3.0. Describes the Stage 1 site template upgrade steps that you must perform before starting the Windows SharePoint Services 3.0 upgrade.
  • Ch 5: Stage 2: After Upgrading to Windows SharePoint Services 3.0. Describes the Stage 2 site template upgrade steps that you must perform after finishing the Windows SharePoint Services 3.0 upgrade.
  • Ch 6: The Upgraded Application Templates for Windows SharePoint Services. Lists and describes the function of each of the upgraded application templates for Windows SharePoint Services and gives you detailed instructions for installing the application templates in a Windows SharePoint Services 3.0 environment.
  • Ch 7: Troubleshooting. Provides workarounds and fixes for problems you may encounter.
  • Appendix: Glossary. Lists the relevant terms used in this solution accelerator.

Also included in this toolkit are:
  • A set of command scripts to streamline some of the server tasks during the site and template upgrade
  • A set of upgraded application templates for Windows SharePoint Services 3.0. To get these templates, click here.

To view this solution online at TechNet, click here.

 

Saludos

El Bruno

Crossposting from ElBruno.com
Publicado 16/2/2007 20:13 por El Bruno | con no comments
Archivado en:

Buenas

aprovechando que hoy no llueve y que tengo mucho sueño paso un rato largo en La Finca, encuentro un par de novedades interesantes relacionadas a la nueva versión de VS y a su relación con Sharepoint 2007.

Chris Rathjen en su blog nos cuenta los detalles más interesantes y he aqui mi pequeño resumen ( y opiniòn ):

  • Soporte para WSS 3.0 y obviamente soporte para WSS 2.0.
    Recién me lo acaban de preguntar: WSS 3.0 son los nuevos servicios de Sharepoint
  • Soporte para WSS instalado en un server diferente al de TFS.
    Esto es super importante, ayuda a separar y desmodularizar un poco más nuestro actual server de TFS donde tenemos todo integrado: TFS, Build Server, Reporting Server, Sharepoint ... :D

 

Espero ansiosa ansioso este release para empezar a probar y a jugar con todo esto !!!

 

Saludos

El Bruno

Crossposting from ElBruno.com

Buenas,

usualmente después de muchas cervezas me levanto a la noche para ir al baño. Anoche, me di un golpazo contra la esquina de la cama, y decidí no levantarme más (mucho más peligroso es tener este televisor asesino escondido debajo de la cama a la espera de la pantorrila de algún noctambulo desprevenido; ideal para aquellos que tienen miedo y miran debajo para asegurarse que no está el chico del 6to Sentido)

Hoy pensaba escribir un paso a paso, para mostrar la creación de un proyecto de Analysis Services 2005; pero como todavía arrastro una resaca el dolor; partiré de un ejemplo mucho más simple.

Si realizamos una instalación de Microsoft SQL Server 2005, y seleccionamos el material adicional en Client Components. nuestro SQL se instalará con las bases de datos relacionales AdventureWorks y AdventureWorksDW.

 

Adventure Works

Estas bases de datos sirven de ejemplo para trabajar y realizar pruebas en entornos transacciones y multidimensionales (OLTP y OLAP). Son la base de AdventureWorks, es una empresa que se dedica a la venta de bicicletas por internet y estas dbs son el resultado de una aplicación de ejemplo que tira contra las mismas.

Si las analizamos un poco más y vemos la estructura interna de las mismas, veremos que son bastantes simples, se puede comprender el modelo de datos simplemente viendo un esquema de la DB y además ya vienen con un set  de datos de ejemplo, lo sufientemente completo como para comenzar a trabajar.

Ahora bien, si dentro de SQL Server Managment Studio (herramienta explicada here) agregamos nuestra base de datos relacional y nuestra instancia de Analysis Services 2005; veremos que no tenemos ninguna base de datos dentro de la segunda:

 

Muchos se preguntarán

¿porqué nuestra base de datos de Analysis Services está vacía?

¿porqué no trae ninguna base de datos de ejemplo?

Pues la solución mas adelante, pero para comenzar comencemos navegando el directorio:

C:\Program Files\Microsoft SQL Server\90\Tools\Samples\AdventureWorks Analysis Services Project\Enterprise

ya que en el mismo esta el archivo Adventure Works DW.dwproj. Este archivo es un proyecto de BI, de Analysis Services 2005.

 

 

Adventure Works - Solución de BI

Es el proyecto ejemplo de BI para Adventure Works, con el que podremos dar nuestros primeros pasos para conocer SQL 2005 Business Intelligente Development Studio (Visual Studio 2005).

(Este proyecto está pensado para la versión Enterprise de SQL Server Analysis Services, si estamos trabajando con la versión Standard deberemos abrir el proyecto situado en C:\Program Files\Microsoft SQL Server\90\Tools\Samples\AdventureWorks Analysis Services Project\Standard)

Una vez abierto el Proyecto podremos navegar dentro del mismo y en el panel Solution Explorer (conocido ya para todos los que utilizamos Visual Studio 2005) encontraremos una división específica de Analysis Services para cada uno de los elementos que componen una base de datos de BI:

  • Data Sources
    Representan las fuentes de datos que alimentarán a nuestro proyecto de BI. Al utilizar los proveedores .Net, podremos trabajar contra diferentes bases de datos como Microsoft SQL Server, Oracle y DB2. Los Data sources contienen informacion relacionada con la conexión a una base de datos (user, contraseña, etc)
  • Data Source Views.
    Estas "vistas" permiten seleccionar aquellos elementos que necesitemos de una determinada DataSource. Por lo general, no necesitamos todas las tablas de una base de datos, y es por este motivo que se han creado los Data Source Views. La utilización de DSVs permite ademas consolidar el modelo de datos ya que es posible incluir objetos (tablas, vistas, queries) de diferentes Data Sources en un mismo DSV.

  • Cubes.
    Los cubos son la base de un proceso de BI. Representan una colección de medidas (measures) y dimensiones.
  • Dimensions.
    Una dimensión representa un set de datos específico sobre el que queremos trabajar. Cada dimensión contiene una serie de jerarquías; las mismas pueden ser Attribute Hierarchies o User Hierarchies. Un ejemplo de una dimesión, puede ser la dimesión Time; donde encontraremos las los atributos Año, Mes, Día  y una jerarquía Año-Mes-Día. 

  • Mining Models.
    La minería de datos (Data Mining) es un proceso que consiste en el análisis de información utilizando algoritmos que permiten descubrir patrones e información relacionada. Los modelos de minería contienen información sobre un set de datos al cual se le ha aplicado un algoritmo para analizar o precedir información.
  • Roles.
    Los Roles permiten controlar el acceso a los diferentes objetos de una base de datos de BI. Las acciones más comunes que podemos controlar son lectura, escritura y procesamiento.

  • Assemblies.
    Estos archivos son ensamblados (assemblies) .Net generados con algun lenguaje de Visual Studio, como por ejemplo Visual Basic .Net o también pueden incluir componentes COM. Estos objetos luego son utilizados para operaciones que deben realizarse en el server. Se pueden asociar ensamblados a nivel de base de datos o a nivel de server en AS2005.
  • Miscellaneous.
    Esta sección se utiliza para agregar cualquier tipo de archivo adicional a nuestro proyecto de BI.

Ademas, podemos ver que dentro de Visual Studio, podemos inspeccionar cada uno de los elementos utilizando el Properties Pane. (si comienzan a cambiar, aconsejo/obligo un BackUp)

En este momento, podríamos ver la configuración y la definición que posee un cubo; por ejemplo el cubo Adventure Works.cube. Sin embargo, el mismo todavía no ha sido procesado por lo que no prodremos navegar por la información del mismo. Lo mismo se aplica a las dimensiones, donde no tenemos todavía información disponibles para trabajar.

 

Despliegue de un proyecto de BI

Pues bien, siguiente paso: A PROCESARLO !!!

El proceso y despliegue (o deploy, q mola más) de un proyecto de AS, se realiza en 2 fases, donde primero se despliega la información de configuracion de cada uno de los objetos de la solución y luego se procesan los mismos. Para esto, debemos seleccionar la solución y en el menu contextual de la misma seleccionar la opción Process.

 

 

Nota: antes de realizar el deploy del proyecto, es recomendable revisar la información de despliegue para ver a que servidor estamos "apuntando" y con que tipo de reglas nos estamos manejando. Esto se puede consultar desde las propiedades del proyecto, y podremos ver:

En este caso el proyecto esta configurado para realizar el deploy en el servidor local (localhost) y sobre la base de datos (Adventure Works DW). Además solo se realizará el deploy de los cambios realizados y las operaciones de deploy no se realizarán de manera transaccional. Como la base de datos no existe en nuestro Analysis Services es necesario crearla desde el SQL Server Managment Studio.

Ahora si A PROCESAR !!!

Nota: si estamos trabajando con la version Standard de SQL, podremos ver el siguiente error:

Errors related to feature availability and configuration: The 'Perspectives' feature is not included in the 'Standard Edition' SKU.

Esto se debe a que esta versión no soporta perspectivas para los cubos (traduzco que te mueres) y es necesario eliminar las perspectivas del cubo antes de procesar el mismo. Como no solo las perspectivas son exclusivas de la versión Enterprise; recomiendo abrir el proyecto para la versión Standard que está en el directorio C:\Program Files\Microsoft SQL Server\90\Tools\Samples\AdventureWorks Analysis Services Project\Standard.

 

Proceso de la información de un proyecto de BI

Una vez hecho el deploy de la información del cubo, podremos ver el siguiente formulario que nos permite dar comienzo al proceso de los datos del cubo, para comenzar presionar Run.

Este proceso puede tardar un par de horas minutos y durante el mismo, podremos ver el progreso y como se procesan cada una de las partes de la solucion; data minings, cubos, dimensiones, measure groups, y las consultas MDX que se están ejecutando para completar la información.

Cuando se ha finalizado el proceso, ya podremos ver en la seccion "browse" de un cubo la información con la que cuenta el mismo :D

Y ya tenemos nuestro primer cubo. Para la próxima entraré un poco mas en detalle sobre cada uno de estos elementos y tal vez me anime con MOLAP, ROLAP, etc.

 

Saludos

El Bruno

Crossposting from ElBruno.com

Buenas

mientras mi amigo Nacho se sigue peleando con Microsoft Office InfoPath 2007; mi amigo David está más tranquilo preparando una presentacion de MOSS 2007. Estaba buscando un poco de info de infopath (recursividad 100%) y encontré este poster de InfoPath 2007 que está muy bueno para decorar la oficina (en color, tamaño A3, junto la clásica bailarina y los parlantes del perro enojado)

El mismo se puede bajar desde aquí (http://geeks.ms/files/folders/elbruno/entry10258.aspx) y hasta que Rodrigo no me diga nada, le seguiré comiendo espacio en disco con los files en Geeks.

 

Saludos

El Bruno

Crossposting from ElBruno.com
Publicado 12/2/2007 11:16 por El Bruno | 1 comment(s)
Archivado en:

Buenas

mientras envidio a mis compañeros q participan en la Beta de Mobile 6.0 y no me animo a instalarlo en mi Mobile (porque me quedaría sin teléfono cada 2 por 3 :P); me encuentro con este excelente artículo donde nos cuentan q trae de nuevo Mobile 6.0 para los desarrolladores.

El artículo completo se puede leer desde aquí (What's new for Developers in Windows Mobile 6.0); y rápidamente me animo a destacar:

  • Device Emulator 2.0: fundamental para el desarrollo de aplicaciones mobiles un buen emulador; en este caso el nuevo emulador es 100% compatible con el 1.0 y además (esto es super interesante) ejecuta las aplicaciones sobre el mismo runtime que en los dispositivos; thanks !!! (ahh y tiene mas dispositivos para emular, simula la duración de la batería, simula características de GPS, etc)
  • SQL Server Compact Edition: en Mobile 6 ya viene instalado por defecto, excelent !.
  • Internet Explorer @ Mobile: la nueva versión soporta las capacidades mínimas de ejecución de JavaScript, con lo que las aplicaciones que lo utilicen (por ejemplo si usan AJAX) empezarán a ser compatibles.
  • UI Development: tenemos nuevos controles como un WebBrowser, una serie de DataCalendars controls, Notification Controls, etc.
  • Velocidad de ejecución: creo que la siguiente tabla explica por si misma los avances en este sentido:

Task

.NET CF 2.0 Performance Improvement over .NET CF 1.0

Overall Runtime Execution

1 1/2 times faster (on average)

Method Dispatching

2 1/2 times faster

DataSet Loading

3 to 4 times faster

XmlTextReader Reading

3 times faster

Garbage Collector Memory Recovery

7 times faster

Garbage Collector Large Object Recovery

4 times faster

 

Y si la pregunta en este punto es ¿por donde empezar?; pues aqui estan los links mas importantes:

 

 

Saludos

El Bruno

Crossposting from ElBruno.com

Visual Studio Solution - Get the CodeBuenas

desde hace tiempo, y Architecture Journal de por medio, sigo los artículos de Software As A Service, para los que estén interesados existe mucha información disponible en MSDN Architecture Center.

Nuestros amigos de Patterns and Practices han dado un paso más y ya poseemos una aplicación de ejemplo que aplica estos conceptos: Litware Inc. Como puntos interesantes de esta aplicación puedo comentar q se utiliza bastante .Net 3.0; el proyecto está abierto en CodePlex; y según comentan en skyscrapr.net existen un par de behind the scenes relacionados con la creación de este ejemplo.

Aqui les dejo un poco de información relacionada al respeco

 

 

Saludos

El Bruno

Crossposting from ElBruno.com

Buenas,

desde hace unos días tengo en mi blog una nueva feature completamente inútil pero llamativa que permite previsualizar el contenido de un link externo en una pequeña ventana emergente (ventana emergente: una forma un poco mas complicada de decir popup). Como tengo que probar el Windows Media Encoder en Windows Vista y no sabía por donde empezar, decidí promocionar Snap.

Este site es un nuevo buscador y presta la interesante capacidad de previsualizar los resultados de las búsquedas. Esto no es novedad (alguna vez lo vi en alguna beta de google creo); pero si me gustó la interesante propuesta de agregar un pequeño script que genera para cada link que tengamos en nuestra página un pequeño previsualizador como muestra el siguiente video:

 


Video: El Bruno Snap Preview Demo

 

 

Si no pueden ver el video; este es link de acceso: El Bruno Snap Preview Demo

 

 

Saludos

El Bruno

 

PD: A ver si alguien me dice porque no funciona la vista previa en este link http://wpf.windowsvistamagazine.co.uk/ttpdownload/browserapp.xbap :D

Crossposting from ElBruno.com

Buenas,

hace un tiempo escribí este post y como me lo han pedido ciertas personas que después de varias cervezas no pueden hacer una búsqueda en Live Search, lo transcribo y lo dejo en el oficial. He aquí el plagio a mi mismo.

------------------------------------------------------------------

Everyday hay un pequeño problema que nos da satisfacciones cuando lo podemos solucionar, el del dia de ayer, estuvo centrado en la creación dinámica de bases de datos sin utilizar ISQL y Sql scripts. Una solución fue usar SqlCommand, y ejecutar un script para el DROP y el CREATE de la Base de datos

 

1 DROP DATABASE MyDBPrueba 2 CREATE DATABASE MyDBPrueba

Sin embargo, uno de los problemas que tiene la ejecución de este script se da cuando hay algún usuario conectado a la Base de Datos; en este caso no se puede DROPPEAR la misma.

La solución a este problema puede ser este SQL script que elimina todos los procesos asociados a una base de datos.

 

1 USE master; 2 DECLARE curkillproc 3 CURSOR FOR SELECT 4 spid,dbs.name AS dbname 5 FROM 6 master..sysprocesses pro, 7 master..sysdatabases dbs 8 WHERE 9 pro.dbid = dbs.dbid AND 10 dbs.name = 'MyDBPrueba' 11 FOR READ ONLY 12 13 DECLARE @varspid AS integer 14 DECLARE @vardbname AS varchar(256) 15 DECLARE @numUsers AS integer 16 17 SET @numUsers = 0 18 OPEN curkillproc 19 FETCH NEXT FROM 20 curkillproc 21 INTO @varspid, @vardbname 22 WHILE @@fetch_status = 0 23 BEGIN 24 EXEC('kill ' + @varspid) 25 SET @numUsers = @numUsers + 1 26 FETCH NEXT FROM curkillproc 27 INTO @varspid, @vardbname 28 END 29 CLOSE curkillproc 30 DEALLOCATE curkillproc 31 SELECT @numUsers as NumUsersDisconnected

Si lo traducimos a una function C#, puede quedar de la siguiente manera

/// <summary> /// Disconnects the users from data base. /// </summary> /// <param name="sqlConnection">The SQL connection.</param> /// <param name="databaseName">Name of the database.</param> /// <param name="commandTimeout">The command timeout.</param> /// <returns>The number of users disconected.</returns> private int DisconnectUsers(SqlConnection sqlConnection, string databaseName, int commandTimeout) { string query = string.Format(CultureInfo.InvariantCulture, "USE master; \r\nDECLARE curkillproc \r\nCURSOR FOR SELECT \r\n spid,dbs.name AS dbname \r\n FROM \r\nmaster..sysprocesses pro, \r\n master..sysdatabases dbs \r\n WHERE \r\n pro.dbid = dbs.dbid AND \r\n dbs.name = '{0}' \r\n FOR READ ONLY \r\n \r\n DECLARE @varspid AS integer \r\n DECLARE @vardbname AS varchar(256) \r\n DECLARE @numUsers AS integer \r\nSET @numUsers = 0 \r\n OPEN curkillproc \r\n FETCH NEXT FROM \r\n curkillproc \r\n INTO @varspid, @vardbname \r\nWHILE @@fetch_status = 0 \r\nBEGIN \r\n EXEC('kill ' + @varspid) \r\n SET @numUsers = @numUsers + 1 \r\n FETCH NEXT FROM curkillproc \r\n INTO @varspid, @vardbname \r\n END \r\nCLOSE curkillproc \r\nDEALLOCATE curkillproc \r\n SELECT @numUsers as NumUsersDisconnected \r\n", databaseName); SqlCommand cmd = new SqlCommand(query, sqlConnection); cmd.CommandTimeout = commandTimeout; try { return (int)cmd.ExecuteScalar(); } catch { throw; } }

 

Espero que les sea útil.

Saludos

El Bruno

PD: No hace falta que recuerde que en el caso de eliminar todas las conexiones abiertas contra una base de datos, debemos tener un cuidado especial para no reventar algún proceso importante contra la misma. Y que este código es un rejunte de conocimiento recolectado de diferentes artículos leídos en la Web, si puedo reuno a todas las "sources" :D.

Crossposting from ElBruno.com
Publicado 8/2/2007 12:36 por El Bruno | con no comments

Buenas

Cuando hace un tiempo escuché por 1ra vez la palabra ASLP, me dije a mi mismo que algo que tiene todas las letras en mayúsculas tiene que molar y mucho. (efectivamente así es :D)

Mis companeros de Avanade Seatlle, junto con diversos equipos distribuidos por el mundo han creado Avanade Software Lifecycle Platform (ASLP); una plataforma/metodología basada en Visual Studio Team System para el desarrollo de aplicaciones que integra las mejores prácticas y las herramientas internas de Avanade para éstas tareas.

La misma ha sido puesta como referencia en el Visual Studio Home - Why Visual Studio; y se puede leer una pequeña introducción a la misma desde aquí.

Dentro de este artículo podemos ver las diferentes áreas a las que afecta el ciclo de desarrollo y cómo se ha realizado la creación de un nuevo Process Template que se adapte a la metodología interna de desarrollo de Avanade (ACM.Net; Avanade Connected Methods for .Net).

También es posible ver

  • la integración con Project y Project Server para el perfil de Project Manager
  • las diferentes etapas y perfiles que se utilizan
  • la implementación de Continuous Integration como un requisito indispensable
  • la implementación de políticas predefinidas para compilación, check-in, etc
  • la integración de las herramientas internas de Avanade dentro de la metodología
  • etc.

Realmente es un orgullo que el esfuerzo de muchos equipos distribuidos se cierre después de un año largo de trabajo y que el mismo, sirva de referencia como valor de negocio para otras personas que se sientan inspiradas :D

 

Saludos

El Bruno

Crossposting from ElBruno.com

Buenas

pocas veces presto atención a los Warnings de los Sistemas Operativos (tampoco le presté atención a mi madre y terminé trabajando en informática); pero este es interesante:

 

Cuando queremos instalar o desinstalar Microsoft SQL Server 2005 en Windows Vista; el hermano menor del UAC Program Compatibility Assistant nos recomienda instalar el SP2 de SQL 2005. (un Service Pack que todavía no existe porque sino Daniel Matey en su CNN personal, nos hubiese avisado :D)

Sin embargo, como me llamó la atención, le di un par de vueltas más y llegué a este artículo Microsoft SQL Server 2005 on "Microsoft Windows Server Longhorn" or Microsoft Windows Vista, que con ese pedazo de título me asustó antes de hacer un click.

En el mismo nos sugieren instalar el SP2 para SQL Server 2005 cuando utilicemos Vista o Longhorn; y como el mismo todavía no está liberado nos sugieren las descargas de la CTP de diciembre como para estar al día:

 

Y algunos se preguntarán porque me llamó la atención este warning; pues porque es un Warning y la mayoría de nosotros solemos saltarnos el color AMARILLO y sólo asustarnos con el ROJO; cuando el 1ro también sirve para muchas cosillas; sin ir mas lejos los animo a revisar los warnings de compilación en Visual Studio y seguramente aprenderán conceptos interesantes :D

 

Saludos

El Bruno

Crossposting from ElBruno.com
Vista edicion solo para gente fashion Buenas

seguramente a todos aquellos que tengan la copia de Vista Ultimate firmada por Bill Gates que los propietarios de laptops Toshiba no encontrarán nada novedoso en esta funcionalidad; pero hoy luego que Windows Update bajara un nuevo set de drivers para mi notebook Dell Latitude D610; cuando conecté un monitor en la salida del mismo, me encontré con estas agradables opciones:

 

1. Duplicar escritorio

 

2. Dos monitores diferentes; alineación izquierda

 

3. Descativar el display de la notebook y mostrar la salida sólo en el monitor.

 

Esto no es novedoso, ni nada por el estilo, pero antes a estas configuraciones las realizaba directamente desde Display Settings :-).

Ahora es mas intuitivo (mi papá contentísimo)

 

Saludos

El Bruno

Crossposting from ElBruno.com
Publicado 5/2/2007 15:41 por El Bruno | 3 comment(s)
Archivado en:
Más artículos Página siguiente >