March 2007 - Artículos

 Buenas

hay días en que todo nos sale mal, se te pasa el autobus, te cierran en bar de la esquina, o se te desconfigura el Visual Studio. Si se te pasa el autobús, no hay mucho problema porque una vez atrasado lo mejor es hacer tiempo en un bar, pero si cuando llegas está cerrado; ya tienes q empezar a buscar otro ... asi que hay q trabajar un poco.

Esos problemas, tienen fácil solución, pero cuando el IDE de Visual Studio 2005 comienza a hacer cosas raras, es mejor tomarselo con calma e ir a alguno de los bares que ya conocemos a tomar una cerveza. De algo de esto nos hablaba el amigo Luis en su blog, y a mi también me ha pasado algo parecido, cuando por ejemplo sigo estos pasos:

  • Instalar Visual Studio 2005
  • Instalar SQL Server 2005
  • Instalar Visual Studio 2005 Team Edition for Data Base Professionals
  • Desinstalar SQL Server 2005
  • Tratar de abrir la ventana de nuevos proyectos de Visual Studio
    • El pedazo de error de componentes, no instalados que recibimos es mas que interesante.
  • Instalar nuevamente SQL Server 2005
  • Tratar de abrir la ventana de nuevos proyectos de Visual Studio
    • Ahora el error es mas parecido a una representación gráfica de Frank Miller que otra cosa ... :S

 

Hasta aquí llegamos y ya hemos destruido nuestro IDE de trabajo y no quedan mas cervezas para destilar las penas; y la pregunta es ¿cómo podemos resetear el mismo a su estado original, sin tener que reinstalar todo? La respuesta puede estar en alguno de los modificadores de línea de comando para DevEnv.

La lista completa la podemos ver en http://msdn2.microsoft.com/es-es/library/xee0c8y7(VS.80).aspx y entre las mas interesantes tengo q remarcar:

  • /ResetSettings
    Restaura la configuración predeterminada de Visual Studio. Opcionalmente, restablece la configuración del archivo .vssettings especificado.
  • /ResetUserData
    Esta configuración no esta declarada dentro de la lista de comandos, pero reinicia todas las configuraciones asociadas al usuario.

 

Les dejo el tip, y recuerden que si lo utilizan deberán comenzar a reconfigurar el IDE para las preferencias de cada uno, cosa que siempre es mucho mas útil que no poder trabajar pero menos agradable que salir de cañas con los amigos.

 

Saludos

El Bruno

Crossposting from ElBruno.com
Publicado 30/3/2007 14:30 por El Bruno | 3 comment(s)
Archivado en:

Buenas,

perdón por el Off-Topic pero la verdad es que me ha llamado mucho la atención este video.

 

 

Esta nueva interfaz gráfica de trabajo ha salido de los laboratorios de Microsoft y parece que estará disponible para Mobile (o algo asi).

Es mas sin ir tan lejos, parece que si alguien está interesado en participar en la creación de este nuevo iPhone UI puede aplicar para trabajar en Seattle.

Ya no hay excusas para comprarse un iPhone quejarse, a trabajar a Redmont y a mejorar Mobile.

 

Saludos

El Bruno

 

Fuentes:

Crossposting from ElBruno.com
Publicado 27/3/2007 17:56 por El Bruno | 1 comment(s)
Archivado en:

Buenas,

recién llegado a Barcelona (sumando puntos aéreos como la selección) y mientras sigo son poder instalar el SP2 de SQL Server 2005, por algunos errores en la creación/modificación de Perfomance Counters en Vista; de nuevo la gente de Microsoft me tienta con algunas Features Packs adicionales para Microsoft SQL Server 2005.

Las mismas se pueden descargar desde Feature Pack for Microsoft SQL Server 2005 - February 2007 y contienen los siguientes items:

 

  • Microsoft ADOMD.NET
  • Microsoft Core XML Services (MSXML) 6.0
  • Microsoft OLEDB Provider for DB2
  • Microsoft SQL Server Management Pack for MOM 2005
  • Microsoft SQL Server 2000 PivotTable Services
  • Microsoft SQL Server 2000 DTS Designer Components
  • Microsoft SQL Server Native Client
  • Microsoft SQL Server 2005 Analysis Services 9.0 OLE DB Provider
  • Microsoft SQL Server 2005 Backward Compatibility Components
  • Microsoft SQL Server 2005 Command Line Query Utility
  • Microsoft SQL Server 2005 Datamining Viewer Controls
  • Microsoft SQL Server 2005 JDBC Driver
  • Microsoft SQL Server 2005 Management Objects Collection
  • Microsoft SQL Server 2005 Compact Edition
  • Microsoft SQL Server 2005 Notification Services Client Components
  • Microsoft SQL Server 2005 Upgrade Advisor
  • Microsoft .NET Data Provider for mySAP Business Suite, Preview Version
  • Reporting Add-In for Microsoft Visual Web Developer 2005 Express
  • Microsoft Exception Message Box
  • Data Mining Managed Plug-in Algorithm API for SQL Server 2005
  • Microsoft SQL Server 2005 Reporting Services Add-in for Microsoft SharePoint Technologies
  • Microsoft SQL Server 2005 Data Mining Add-ins for Microsoft Office 2007
  • SQL Server 2005 Performance Dashboard Reports
  • SQL Server 2005 Best Practices Analyzer

 

Sobre algunos ya escribí, como por ejemplo los SQL Server 2005 Data Mining Add-In for Office 2007, pero hay otros que realmente me intrigan como son el Microsoft SQL Server 2005 Best Practices Analyzer y el Microsoft Exception Message Box. Cuando tenga un tiempo y los pruebe, postearé al respecto claro, si no me llego/suicido cervezas y bacalao en los dias siguientes en Lisboa.

Mas detalle como siempre:

 

Instructions

    Download the appropriate file by clicking one of the links below, then run the downloaded file to install that package.
    Each package indicates the audience(s) for which it was intended, as follows:
      Customer: An individual may want to install this for additional licensed functionality such as interoperability.
      Partner: An ISV may want to ship this as a redistributable component as part of their application.
      Developer: A programmer may want to install this to support application development.

    Microsoft ADOMD.NET
      ADOMD.NET is a Microsoft .NET Framework object model that enables software developers to create client-side applications that browse metadata and query data stored in Microsoft SQL Server 2005 Analysis Services. ADOMD.NET is a Microsoft ADO.NET provider with enhancements for online analytical processing (OLAP) and data mining.
      Note: The English ADOMD.Net setup package installs support for all SQL Server 2005 languages.
      Audience(s): Customer, Partner, Developer

    Microsoft Core XML Services (MSXML) 6.0
      Microsoft Core XML Services (MSXML) 6.0 is the latest version of the native XML processing stack. MSXML 6.0 provides standards-conformant implementations of XML 1.0, XML Schema (XSD) 1.0, XPath 1.0, and XSLT 1.0. In addition, it offers 64-bit support, increased security for working with untrusted XML data, and improved reliability over previous versions of MSXML.
      Audience(s): Partner, Developer

    Microsoft OLEDB Provider for DB2
      The Microsoft OLE DB Provider for DB2 is a COM component for integrating vital data stored in IBM DB2 databases with new solutions based on Microsoft SQL Server 2005 Enterprise Edition and Developer Edition. SQL Server developers and administrators can use the provider with Integration Services, Analysis Services, Replication, Reporting Services, and Distributed Query Processor. Run the self-extracting download package to create an installation folder. The single setup program will install the provider and tools on x86, x64, and IA64 computers. The package includes product updates in the form of an integrated Service Pack 1. Read the installation guide and Readme for more information.
      Audience(s): Customer, Developer

    Microsoft SQL Server Management Pack for MOM 2005
      The Microsoft SQL Server Management Pack enables you to monitor SQL Server 2005 and SQL Server 2000 in an enterprise environment. Included are enterprise-level capabilities to monitor resource availability and configuration, collect performance data, and test default thresholds. Local and remote connectivity checks help ensure database availability.
      With the embedded expertise in the SQL Server Management Pack, you can identify issues and manage issues before they become critical. This Management Pack increases the security, availability, and performance of your SQL Server infrastructure.
      The Microsoft SQL Server Management Pack Guide that is included describes the content of the management pack and how to deploy it.
      Audience(s): Customer

    Microsoft SQL Server 2000 PivotTable Services
      PivotTable Services 8.0 is the OLE DB provider for SQL Server 2000 Analysis Services and is used to connect with an Analysis Services 2000 server. PivotTable Services does not work with SQL Server 2005 Analysis Services. Therefore, client applications that need connect to Analysis Services in both SQL Server 2000 and SQL Sever 2005 will need to install both PivotTable Services 8.0 and Analysis Services 9.0 OLE DB Provider in a side-by-side configuration.
      Audience(s): Customer, Partner, Developer

    Microsoft SQL Server 2000 DTS Designer Components
      The Microsoft SQL Server 2000 Data Transformation Services (DTS) package designer is a design tool used by developers and administrators of SQL Server 2005 servers to edit and maintain existing DTS packages until they can be upgraded or recreated in the SQL Server 2005 Integration Services package format. After installing this download, SQL Server 2005 users can continue to edit and maintain existing DTS packages from the Object Explorer in SQL Server 2005 Management Studio and from the Execute DTS 2000 Package Task Editor in Business Intelligence Development Studio, without needing to reinstall the SQL Server 2000 tools. The DTS package designer in this download was formerly accessed from the Data Transformation Services node in SQL Server 2000 Enterprise Manager.
      Audience(s): Customer, Developer

    Microsoft SQL Server Native Client
      Microsoft SQL Server Native Client (SQL Native Client) is a single dynamic-link library (DLL) containing both the SQL OLE DB provider and SQL ODBC driver. It contains run-time support for applications using native-code APIs (ODBC, OLE DB and ADO) to connect to Microsoft SQL Server 7.0, 2000 or 2005. SQL Native Client should be used to create new applications or enhance existing applications that need to take advantage of new SQL Server 2005 features. This redistributable installer for SQL Native Client installs the client components needed during run time to take advantage of new SQL Server 2005 features, and optionally installs the header files needed to develop an application that uses the SQL Native Client API.
      Audience(s): Partner, Developer

    Microsoft SQL Server 2005 Analysis Services 9.0 OLE DB Provider
      The Analysis Services 9.0 OLE DB Provider is a COM component that software developers can use to create client-side applications that browse metadata and query data stored in Microsoft SQL Server 2005 Analysis Services. This provider implements both the OLE DB specification and the specification’s extensions for online analytical processing (OLAP) and data mining.
      Note: Microsoft SQL Server 2005 Analysis Services 9.0 OLE DB Provider requires Microsoft Core XML Services (MSXML) 6.0, also available on this page.
      Audience(s): Customer, Partner, Developer

    Microsoft SQL Server 2005 Backward Compatibility Components
      The SQL Server Backward Compatibility package includes the latest versions of Data Transformation Services 2000 runtime (DTS), SQL Distributed Management Objects (SQL-DMO), Decision Support Objects (DSO), and SQL Virtual Device Interface (SQLVDI). These versions have been updated for compatibility with SQL Server 2005 and include all fixes shipped through SQL Server 2000 SP4.
      Audience(s): Customer, Partner, Developer

    Microsoft SQL Server 2005 Command Line Query Utility
      The SQLCMD utility allows users to connect, send Transact-SQL batches, and output rowset information from SQL Server 7.0, SQL Server 2000, and SQL Server 2005 instances. SQLCMD is a replacement for ISQL and OSQL, but can coexist with installations that have ISQL or OSQL installed.
      Note: Microsoft SQL Server 2005 Command Line Query Utility requires Microsoft SQL Server Native Client, also available on this page.
      Audience(s): Customer, Partner, Developer

    Microsoft SQL Server 2005 Datamining Viewer Controls
      The Data Mining Web Controls Library is a set of Microsoft Windows Forms controls that enable software developers to display data mining models created using Microsoft SQL Server 2005 Analysis Services in their client-side applications. The controls in this library display the patterns that are contained in Analysis Services mining models.
      Note: Microsoft SQL Server 2005 Datamining Viewer Controls requires Microsoft SQL Server 2005 Analysis Services 9.0 OLE DB Provider and Microsoft ADOMD.NET, also available on this page.
      Audience(s): Partner, Developer

    Microsoft SQL Server 2005 JDBC Driver
      In its continued commitment to interoperability, Microsoft has released and supports a new Java Database Connectivity (JDBC) driver for SQL Server 2005. The SQL Server 2005 JDBC Driver download is available to all SQL Server users at no additional charge and provides access to SQL Server 2000 and SQL Server 2005 from any Java application, application server, or Java-enabled applet. This is a Type 4 JDBC driver that provides database connectivity through the standard JDBC application programming interfaces (APIs) available in J2EE (Java2 Enterprise Edition).
      Audience(s): Partner, Developer

    Microsoft SQL Server 2005 Management Objects Collection
      The Management Objects Collection package includes several key elements of the SQL Server 2005 management API, including Analysis Management Objects (AMO), Replication Management Objects (RMO), and SQL Server Management Objects (SMO). Developers and DBAs can use these components to programmatically manage SQL Server 2005.
      Note: Microsoft SQL Server 2005 Management Objects Collection requires Microsoft Core XML Services (MSXML) 6.0 and Microsoft SQL Server Native Client, also available on this page.
      Audience(s): Customer, Partner, Developer


    Microsoft SQL Server 2005 Compact Edition
      Microsoft SQL Server 2005 Compact Edition is the next version of SQL Server Mobile adding the desktop platform. SQL Server Compact extends the SQL Server Mobile technology by offering a low maintenance, compact embedded database for single-user client applications for all Windows platforms including tablet PCs, pocket PCs, smart phones and desktops. Just as with SQL Server Mobile, SQL Server Compact is a free, easy-to-use, lightweight, and embeddable version of SQL Server 2005 for developing desktop and mobile applications.
      Audience(s): Customer, Partner, Developer

    Microsoft SQL Server 2005 Notification Services Client Components
      The SQL Server 2005 Notification Services Client Components package provides client APIs that enable subscription management and event submission within custom applications that include SQL Server 2005 Notification Services functionality. The subscription management APIs allow developers to create subscriptions and subscribers, and manage subscriber devices. The event submission APIs allow users to specify events using the event APIs or stored procedures.
      Audience(s): Partner

    Microsoft SQL Server 2005 Upgrade Advisor
      Upgrade Advisor analyzes instances of SQL Server 7.0 and SQL Server 2000 in preparation for upgrading to SQL Server 2005. Upgrade Advisor identifies deprecated features and configuration changes that might affect your upgrade, and it provides links to documentation that describes each identified issue and how to resolve it.
      Audience(s): Customer, Developer

    Microsoft .NET Data Provider for mySAP Business Suite, Preview Version
      SQL Server 2005 includes support for accessing SAP data by using the Microsoft .NET Data Provider for mySAP Business Suite. This provider lets you create an Integration Services package that can connect to a mySAP Business Suite solution and then execute commands to access data via supported interfaces. You can also create Reporting Services reports against a server running the mySAP Business Suite.
      You can use the Microsoft .NET Data Provider for mySAP Business Suite in the SQL Server Import and Export Wizard and in various Integration Services features (including the Script task, the DataReader Source component, and the Script component), as well as the data processing extensions in Reporting Services.
      The Microsoft .NET Data Provider for mySAP Business Suite is not included in SQL Server 2005. The preview version is licensed as pre-release software as outlined in the License Terms. See the Readme included with the download for information on the prerequisites for using the Microsoft .NET Data Provider for mySAP Business Suite.
      Audience(s): Customer, Partner, Developer

    Reporting Add-In for Microsoft Visual Web Developer 2005 Express
      The Reporting Add-In for Microsoft Visual Web Developer 2005 Express includes a ReportViewer control, an integrated report designer, and a comprehensive API that lets you customize run-time functionality. You can use the control to add interactive real-time data reports to your ASP.NET Web applications. Reports can use data from any ADO.NET DataTable or custom Business object. You can create reports that combine tabular, matrix, and visual data in free-form or traditional report layouts. An integrated report designer is included so that you can create the custom reports that bind to the control.
      The Reporting Add-In is the same reporting component that is included with other editions of Visual Studio, but without support for Windows Forms applications. For more information including product documentation and samples, see the
      ReportViewer Controls (Visual Studio) topic on MSDN.
      Audience(s): Developer

    Microsoft Exception Message Box
      The exception message box is a programmatic interface that you can use in your applications for any tasks for which MessageBox may be used. The exception message box is a supported managed assembly designed to elegantly handle managed code exceptions. It provides significantly more control over the messaging experience and gives your users the options to save error message content for later reference and to get help on messages.
      Audience(s): Developer

    Data Mining Managed Plug-in Algorithm API for SQL Server 2005
      The Managed Plug-in API is a Microsoft .NET object model that enables software developers to create plug-in data mining algorithms for SQL Server 2005 by using CLI-compliant languages, such as Visual C# 2.0. The object model is available as source code and it needs to be built on the developer’s computer. The package includes a step-by-step tutorial, a compiled HTML help file (.chm), as well as a sample plug-in algorithm developed in C#.
      Audience(s): Partner, Developer

    Microsoft SQL Server 2005 Reporting Services Add-in for Microsoft SharePoint Technologies
      Microsoft SQL Server 2005 Reporting Services Add-in for SharePoint Technologies allows you to take advantage of SQL Server 2005 Service Pack 2 (SP2) report processing and management capabilities in SharePoint. The download provides a Report Viewer web part, web application pages, and support for using standard Windows SharePoint Services.
      Audience(s): Customer, Partner, Developer

    Microsoft SQL Server 2005 Data Mining Add-ins for Microsoft Office 2007
      Microsoft SQL Server 2005 Data Mining Add-ins for Microsoft Office 2007 allow you take advantage of SQL Server 2005 predictive analytics in Office Excel 2007 and Office Visio 2007. The download includes Table Analysis Tools for Excel, Data Mining Client for Excel, and Data Mining Templates for Visio.
      Audience(s): Customer, Partner, Developer

    SQL Server 2005 Performance Dashboard Reports
      The Microsoft SQL Server 2005 Performance Dashboard Reports are a set of Reporting Services report files that run within SQL Server 2005 SP2 Management Studio and later versions. These reports let SQL Server users more easily identify when a performance problem is occurring, and to identify the most likely cause. If more assistance is needed, the administrator can accurately describe the problem to technical support. This results in faster problem resolution.
      Audience(s): Customer, Developer

    SQL Server 2005 Best Practices Analyzer
      The SQL Server 2005 Best Practices Analyzer (BPA) gathers data from Microsoft Windows and SQL Server configuration settings. BPA uses a predefined list of SQL Server 2005 recommendations and best practices to determine if there are potential issues in the database environment.
      Audience(s): Customer

 

Saludos

El Bruno

 

PD: el de la foto parece que es el héroe local de Alemania para SQL Server 2005 :D

Crossposting from ElBruno.com
Publicado 26/3/2007 13:43 por El Bruno | 1 comment(s)
Archivado en: ,

Buenas

pues si, en la informática no todo es lo que parece. Por ejemplo, existen personas que frente a un error inhumano/catastrófico/destrastrozo/demencial del que dependen la vida de millones de personas en algún lugar del mundo, directamente se tiran de cabeza al código y lo primero que quieren hacer es comenzar a depurar la solución (I want to eat code, I want to eat code !!!).

Mi gran amigo "el sentido común" frente a estas situaciones, me obliga a cuestionarme puntos como por ejemplo, ¿esto funcionaba y dejó de funcionar? ¿o tal vez nunca funcionó?; porque la mayoría de las veces, cuando es algo que de repente dejó de funcionar, la solución no suele estar en el código. Lo mas probable, es que alguna configuración se haya perdido, algún Service Pack u Hot Fix actualice algo que se nos escape, etc  ... y lo que en un principio parecía un error se convierte en un pequeño permiso que se eliminó por error.

Repito --> no todo es lo que parece (y mucho menos un sábado, como bien demuestran los recuerdos de noches muy largas q terminan en resultados catastróficos, o no :P)

 

Saludos

El Bruno

 

PD: la imagen como ejemplo es impresionante, pero mas impresionante es la nueva publicidad de Voll-Damm

 

Crossposting from ElBruno.com
Publicado 24/3/2007 22:13 por El Bruno | con no comments

Buenas

han pasado varios meses desde que hablé de las herramientas necesarias / metodología para la migración de Visual Source Safe a Team Foundation Server. Una de las imprescindibles era Visual Studio 2005 Team Foundation Server MSSCCI Provider, que permite la integración de los siguientes productos para trabajar con Team Foundation Server

  • Visual Studio .NET 2003
  • Visual C++ 6 SP6
  • Visual Visual Basic 6 SP6
  • Visual FoxPro 9 SP1
  • Microsoft Access 2003 SP2
  • SQL Server Management Studio
  • Sparx Systems Enterprise Architect 6.0
  • Sybase PowerBuilder 10.5

Pues bien, después de plagiarme como algunos periódicos online llega el momento de participar en un marrón proyecto que utiliza parte en PowerBuilder 10.5. Creo que no hace falta que entre en detalle sobre las virtudes que posee TFS y mas aún si podemos integrar dentro de nuestro ciclo de vida de desarrollo, equipos de otras herramientas como pueden ser desarrolladores de PowerBuilder.

Aqui en este punto la pregunta fué;

¿la integración con TFS es sólo un nuevo gestor de versiones de código fuente?

Y cómo bien he aprendido, en lugar de responder con toda la teoría al respecto, prefiero armar una pequeña demo mostrando las ventajas de Team Foundation Server y PowerBuilder.

 

Team Explorer, MSSCCI Provider y PowerBuilder

Lo primero que debemos hacer es instalar en las máquinas de desarrollo de PB, el cliente Team Explorer y el VSTFS MSSCCI Provider. A partir de este momento ya podremos comenzar a trabajar desde el IDE de PB con nuestro estimado Team Foundation Server.

 

Ejemplo paso a paso

Por ejemplo a partir de un nuevo Workspace o uno ya existente debemos seguir estos pasos:

 

  1. Sobre las propiedades del Workspace seleccionamos la pestaña "Source Control" y dentro de la misma seleccionamos el provider Microsoft Team Foundation Server MCCSSI.


  2. A continuación seleccionamos el Team Project con el que queremos trabajar (ademas de seleccionar el servidor de TFS correspondiente). Esta selección se realiza con las ventanas de seleccion propias de Team Explorer. Para este ejemplo, como los ejemplos del Workspace trabajan contra la base de datos de AdventureWorks, seleccionaré un Team Project llamado AdventureWorks.


  3. Una vez asociado el Workspace con el Team Project, podremos ver que en cada uno de los items del Workspace tenemos las opciones de interacción con TFS.


  4. Cuando seleccionamos la opcion Add to Source Control, debemos completar las opciones propias de TFS asociadas a este proyecto. Además si queremos, a partir de este instante podemos asociar cada una de estas opciones con WorkItems de TFS.


  5. Dentro de Visual Studio, en el Source Control Explorer podremos ver los archivos propios del Workspace de Powerbuilder que hemos agregado en el paso anterior.


  6. Nuevamente dentro del IDE de Powerbuilder, si queremos realizar un Check Out de algun elemento del Workspace, podremos ver que en las opciones avanzadas de Check Out tenemos las opciones de Lock: Shared Checkout, Check In y Check Out.


  7. Una vez realizadas algunas modificaciones en la DataWindow dw_adv_employee, y después de hacer CheckIn de las mismas; podremos ver en el histórico las diferentes versiones que se han generado.


  8. Finalmente podremos realizar una comparación entre estas versiones para ver las diferencias entre las mismas


  9. Finalmente si hemos asociado nuestros cambios de codigo a WorkItems asignados a nuestro usuario de TFS, podremos ver en el detalle de los WorkItems, la historia de cambios que han sufrido esta tarea y como ha evolucionado durante el tiempo


  10. Otro ejemplo mas, sobre el WorkItem cerrado los Changesets asociados


 

Conclusión

Partiendo de este simple ejemplo, puedo enunciar:

  • Es importante conocer las opciones de integración del conector MSSCCI, ya que utilizando el mismo podemos agregar herramientas adicionales a Visual Studio al ciclo de vida de desarrollo que manejamos con Team Foundation Server
  • Utilizando este conector y Team Foundation Server; una vez más queda reforzada la capacidad de interacción entre equipos multidisciplinarios de TFS. Pensemos que a traves de TFS se puede lograr la colaboración e interacción de diferentes equipos utilizando una misma metodología.
  • La metodología de desarrollo tal vez es nueva para los desarrolladores de PB (en este caso), pero la herramienta sigue siendo la misma; por lo que la curva de adaptación es muy leve.
  • A q mola, ¿no?

 

Saludos

El Bruno

 

PD: despues hablaré si puedo sobre las posibilidades de integracion de aplicaciones entre Powerbuilder y .Net, aunq creo q hay un NDA de por medio.

Crossposting from ElBruno.com

Buenas

yo se que todo el mundo, tiene su set / colección / array de máquinas virtuales para demos / pruebas / desarrollo / producción con las que enfrentan todos sus problemas del día a día problemas hasta las 18:30 a partir de allí la solución es unas margaritas en alguna playa tropical.

Como yo soy un campeón, de repente necesito algo muy básico y me encuentro con que no tengo ni siquiera un W2003 simplón para largar de ahí con la configuración que "I need". Entonces recuerdo que existían varias VMs disponibles para los suscriptores de MSDN y pensé a ahorrarse tiempo Bruno!!

 

 

Pues bien, si lo que deseas es una VM para AHORA !!! mejor q se la pidas a alguien, porque son pesaditas (hablamos de GBs) y claro, eso no se baja en 1 seg.

Si como yo, te acuestas con una resaca impresionante inquietud y te levantas con menos GBs en el disco, pero con una VM a la q solo le falta activarla; las del MSDN son una opción más que interesante. Lo dicho, 5 min de descompresión y un ISA Server 2006 instaladito, ¿un show, no?

 

Saludos

El Bruno

 

PD: por favor, un poco de conciencia social y no hagamos como un par de amigos que se bajan estos GBs utilizando "gratis" el wifi de algún vecino incauto, que no sabe porq su conexión se pone un poco mas lenta, cuando hay un par de File Transfer Manager descargándose todo internet :D a través de las mismas.

Crossposting from ElBruno.com

Buenas

esta imagen es la última imagen oficial de Visual FoxPro que veremos por parte de Microsoft. A partir de ahora, no se liberarán nuevas versiones de Fox posteriores a la 9.0, aunque se continuará dando soporte hasta el año 2015. Para las evoluciones de Fox se pasará el proyecto completo a CodePlex para que la comunidad de desarrolladores se encargué de continuar con las evoluciones del mismo.

¿Qué pensarán personas que desde hace mas de 10 años utilizan uno de los mejores RAD que han existido?, pues no sé, pero recuerdo los días en que los desarrolladores Visual Basic 6 envidiábamos a los desarrolladores de Fox, por algo tan simple como la herencia. Visual Fox 6 no tenía intellisense, no estaba tan preparado para generar com, pero era orientado a objetos, algo que personalmente en mis comienzos me apasionaba. Con la llegada de Visual Studio .Net, las cosas se emparejaron y Microsoft decidió seguir evolucionando Fox paralelamente a .Net hasta el día de hoy.

Pues bien, adios a un grande (o eso creo, ya que una comunidad libre evolucionando un producto que seguramente será comparado con un animal del desarrollo como Visual Studio, mal lo veo.)

 

Saludos

El Bruno

 

Fuente: http://www.eweek.com/article2/0,1895,2103695,00.asp

Crossposting from ElBruno.com

Buenas,

desde hace unos meses vengo posteando sobre el dinero que malgasto en chorradas mis juguetes/hobbies: LEGO Mindstorm, WirelessWebCam, Business Intelligence,etc., sin embargo todavía no había tenido tiempo de "orquestar" todos los componentes en una única solución.

Mi idea original era:

  • integrar la webcam y el bot
  • aprovechar alguna de las librerías que me permiten interactuar con el LEGO Mindstorm para controlar el mismo; sin cables
  • diseñar y crear un cliente que obtenga las imágenes de la webcam, para mostrarlas en tiempo real (lo mas cercano a tiempo real posible); sin cables
  • diseñar y crear un repositorio donde registrar todos los movimientos del bot, asi como las imagenes que se obtienen de la webcam
  • diseñar y crear un cliente que me permita reproducir en un entorno visual el histórico de movimientos e imágenes de una sesión con el Lego

Pues después de robarme un par de horas de sueño, finalmente me animé con la siguiente propuesta:

 Y empece a desglosar las partes y las tareas en ...

 

LEGO + WebCam

La primera tarea fue bastante simple, debido a que estoy limitado a las piezas actuales que poseo del Lego. Tuve mis dudas sobre si montar la "cpu" del Lego por detrás o por encima de la webcam (estorbaba la antena) pero finalmente decidí montarla arriba del mismo.

Para ver el resultado lo mejor que puedo hacer es dejar un par de imágenes para que vean el bot final (click sobre las mismas para ampliar la imagen): 

Free Image Hosting at www.ImageShack.us Free Image Hosting at www.ImageShack.us Free Image Hosting at www.ImageShack.us Free Image Hosting at www.ImageShack.us

 

VB.Net / Lego / Wireless WebCam

Simplemente me hice referencia a mi mismo, a anteriores posts, Lego y .Net, WebCam y .Net, ya escribí un par de veces sobre como acceder y manejar los servicios del bot (utilizando Microsoft Robotics Studio o Nxt# - Mindstorms for .Net) y además cómo implementar un cliente para obtener las imágenes de la webcam utilizando algunas features de System.Net.WebClient.

Era necesario desarrollar un par de interfaces visuales para poder integrar toda la solución. Una de ellas que permita controlar el bot y la siguiente que permita visualizar el histórico:

 

Free Image Hosting at www.ImageShack.us Free Image Hosting at www.ImageShack.us

El primer tab permite controlar los movimientos del bot y ver en tiempo casi real las imágenes que muestra la cámara montada sobre el mismo. La 2da pestaña (o 2do tab) repite el historico de movimientos realizados por el lego, mostrando la dirección en la que se estaba moviendo y las imágenes que se capturaron con la webcam. (al final un video de demo :D)

 

Lego History Repository

En este escenario, apliqué un principio por el que me guío siempre: "cuando más simple, mejor". En mi base de datos sólo poseo una tabla RobotHistory donde registro las acciones que realiza el bot y ademas he creado 3 procedimientos almacenados para trabajar con los datos de la misma, AddHistory, ClearHistory y GetHistory. (los nombres de los SPs lo dicen todo ¿no?)

Estos son los campos de la tabla RobotHistory:

  • HistoryId representa el id autonumérico
  • HistoryDate almacena la fecha y hora de la acción
  • HistoryAction representa el tipo de acción
  • MoveDescription un string para mejorar la experiencia del usuario en la vista del histórico
  • WebCamImage un campo del tipo image para almacenar las imágenes que se obtienen de la WebCam.

 Free Image Hosting at www.ImageShack.us

 

Para interactuar con los procedimientos almacenados y para ahorrarme un par de líneas de desarrollo, utilice el módulo de acceso a datos de Enterprise Library.  Por ejemplo para invocar el siguiente procedimiendo almacenado que inserta un registro en el histórico de movimientos:

ALTER PROCEDURE [dbo].[AddHistory] ( @HistoryAction int = 0, @MoveDescription varchar(250) = '', @WebCamImage image = null ) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements. SET NOCOUNT ON; --Insert Values INSERT INTO RobotHistory (HistoryAction, MoveDescription, WebCamImage) VALUES (@HistoryAction, @MoveDescription, @WebCamImage) -- Return Id SELECT @@Identity as HistoryId END

 

implementé un código vb.net que crea 2 sobrecargas sobre una misma función AddHistory, para poder recibir los datos necesarios para el SP y opcionalmente una imagen o el array de bytes que corresponde a esa imagen:

''' <summary> ''' Adds the history. ''' </summary> ''' <param name="HistoryAction">The history action.</param> ''' <param name="MoveDescription">The move description.</param> ''' <param name="WebCamPic">The web cam pic.</param> ''' <returns></returns> Public Shared Function AddHistory(ByVal HistoryAction As DataActions, ByVal MoveDescription As String, Optional ByVal WebCamPic As System.Drawing.Bitmap = Nothing) As Integer Dim ms As New IO.MemoryStream If Not WebCamPic Is Nothing Then WebCamPic.Save(ms, Drawing.Imaging.ImageFormat.Bmp) End If Return AddHistory(HistoryAction, MoveDescription, ms.GetBuffer()) End Function ''' <summary> ''' Adds the history. ''' </summary> ''' <param name="HistoryAction">The history action.</param> ''' <param name="MoveDescription">The move description.</param> ''' <param name="WebCamPic">The web cam pic.</param> ''' <returns></returns> Public Shared Function AddHistory(ByVal HistoryAction As DataActions, ByVal MoveDescription As String, ByVal WebCamPic() As Byte) As Integer Dim db As Microsoft.Practices.EnterpriseLibrary.Data.Database = DatabaseFactory.CreateDatabase() Dim ds As DataSet = db.ExecuteDataSet("AddHistory", HistoryAction, MoveDescription, WebCamPic) Return ds.Tables(0).Rows(0)(0) End Function

 

Para identificar todas las acciones posibles que se podian realizar, trabajé con una enumeración bastante simple que representa los valores que se registrarán en la base de datos y me permitirán consultar el historial de movimientos e imágenes del bot.

 

Public Enum DataActions As Integer GoFoward_ButtonClick GoFoward_ButtonDown GoFoward_ButtonUp GoBackward_ButtonClick GoBackward_ButtonDown GoBackward_ButtonUp TurnLeft_ButtonClick TurnLeft_ButtonDown TurnLeft_ButtonUp TurnRight_ButtonClick TurnRight_ButtonDown TurnRight_ButtonUp Stop_ButtonClick Stop_ButtonDown Stop_ButtonUp Save_Movie End Enum

 

 

Bot in action !!!

Pues una vez que he ensamblado todas las partes, solo me queda poner todo en acción y tratar de no olvidarme el bot fuera porque los gatitos lo destruyen. A continuación comparto 2 videos con la captura de la aplicación en ejecución, donde se puede ver como se controla y se ven las imágenes del bot y además otro video con la filmación del bot en vivo respondiendo a las acciones que le envío. (si estás trabajando con una buena conexion a internet, aconsejo poner play en ambos videos al mismo tiempo y pueden ver la escena casi en simultáneo)

App in action


Video: LegoWithWebCam

 

 

 

Live Bot (versión Youtube disponible aquí)


Video: LegoWithWebCamLive

Para finalizar, simplemente comentar que desde hace mucho no me divertía tanto como con el Lego Mindstorm y con algún que otro gadget que tengo por ahi. Es cada vez más fácil lograr integrar todos estos productitos (aunque sea para una chorrada divertida como este post) y gracias a estos pequeños retos personales, nos podemos dar el lujo de aprender un poco de tecnologías que aunque parece imposible, tal vez apliquemos en los proyectos donde nos encontremos.

El código fuente completo de la solución se puede descargar desde aquí (gracias geeks again) y en futuros posts explicaré como hice el módulo que repite el histórico del bot y como llevar esta solución completa a Microsoft Robotics Studio.

 

Saludos

El Bruno

PD: despues de mostrarselo a un amigo, ya me ha empezado a sugerir cambios y modificaciones que refuerzan la frase "nada es imposible para la persona que no tiene que hacerlo"; ¿estará relacionado con el cargo de brown dispatcher que ejerce este amigote? jejeje :D

Crossposting from ElBruno.com

 Buenas

obviamente no hablaré de información financiera relacionada con Microsoft, sino de algunos detalles mas que interesantes que encontré aqui. Como por ejemplo:

 

... Hoy he conseguido hacerme con una colección de datos completamente prescindibles sobre Microsoft. Redmond es la sede de la empresa, una pequeña ciudad que vive y respira porque en ella trabajan unos 30.000 empleados de la compañía de Bill Gates. Comparten 2.600.000 metros cuadrados de edificios y oficinas y todos los empleados tienen, además de gimnasio y áreas deportivas, bebidas gratuitas durante la jornada de trabajo. ¿En qué se traduce esto? Atentos a esta pequeña colección de pornografía estadística para amantes de lo "geek":

Cada año los empleados consumen 7.233.984 latas de refresco. La marca preferida es Cocacola Light. La marca menos deseada es Pepsi Light sin cafeína.

Se bebe mucha agua, sobre todo con sabores. Cada año se consumen 3.774.264 botellas de agua Talking Rain. El sabor preferido es de lima-limón, aunque le sigue en popularidad el agua mineral común.

Quienes programan el código fuente de Windows también se rinden a los encantos de la leche. Beben 3.587.208 cartones cada 365 días. La mayoría la emplean en el café. Cada semana se sirven más de 10.000 tazas de café con leche.

Completan el capítulo de alimentación 2.116.150 bolsas de té al año y 3.721.968 latas de zumo. ¿Para comer? Bueno, hay varias cafeterías repartidas por el campus de la compañía —22- y en ellas se sirven todo tipo de platos, desde pasta hasta sushi. Por poner un ejemplo cada día se hacen 1.833 sandwiches.

Y para los fetichistas de los datos de la vida en la oficina aquí van dos revelaciones más, regalo de la casa:

Los servicios de reprografía realizan 30.586.014 copias A4 al año, suficientes para dar tres veces la vuelta al mundo si las ponemos una detrás de otra.

Se reciben 24.937 solicitudes de salas de reunión al mes.

Y un último dato antes de despedirme:

Una copia de Windows Vista Ultimate Edition ronda en el mercado los 600 euros. En la tienda del empleado de Microsoft cuesta unos 40 euros pero, claro, hay que trabajar allí para aprovecharse de la rebaja. —como curiosidad, una copia de Windows XP cuesta 30 euros-.

...

 

Curioso ¿no?

 

Saludos

El Bruno

Crossposting from ElBruno.com

15 Year Anniversary

 

Buenas

es altamente recomendable no tratar de afeitarse con un sable laser jedi darse una vuelta cada tanto por Microsoft Research. Estan en época festiva (cumplen 15 años) y entre las cosas interesantes que encontré, me llamó mucho la atención Community Technologies Visualization Components.

Este set de componentes visuales para .Net se puede descargar desde http://research.microsoft.com/research/downloads/Details/dda33e92-f0e8-4961-baaa-98160a006c27/Details.aspx y contiene los siguientes ejemplos:

 

  • BubbleChartGenerator BubbleChartControl
  •  

  • PianoRollControl
  • SpireChartGenerator SpireChartControl 
  •  

  • ThreadTreeGenerator ThreadTreeControl ThreadTreeScrollBar 
  • TimeSeriesChartGenerator TimeSeriesChartControl 
  • TreemapGenerator TreemapControl 

Los ejemplos son bastante interesantes, y especialmente me llamó la atención las capacidades gráficas del BubbleChart y me resultó fascinante el nuevo Treeview. A ver en que proyecto colamos estos componentes ;)

 

Saludos

El Bruno

Crossposting from ElBruno.com

Buenas

directo al grano: el nuevo emulador para Devices para Visual Studio está liberado desde el lunes. Los usper ultra frikis que deseen probarlo deben estar babeando ya que promete y mucho (emula dispositivos bluetooth como headphones !!!!)

Se puede descargar desde http://www.microsoft.com/downloads/details.aspx?FamilyID=dd567053-f231-4a64-a648-fea5e7061303&displaylang=en

Y una vez más hago un plagio descarado de la página del download les comento los detalles del mismo:

Overview

Microsoft Device Emulator 2.0 is the second publicly released version of the Device Emulator for ARM-based Devices. This emulator is also being released with the Windows Mobile 6 SDK and the Adaptation Kit (AK) releases of Windows Mobile 6 and Windows Embedded CE 6.0.
Device Emulator 2.0 release contains the same executables and DLLs as the 1.0 release that came with Visual Studio 2005. This version of the Emulator has upgraded performance and some new features. This install will replace the emulator installed with Visual Studio 2005.

 

New features in 2.0

  1. Greatly improved performance at executing ARM instruction - reduces cold-boot time and improves application execution speed
  2. High-resolution input:
    • On TabletPC machines - Tablet Ink is passed into the guest OS at high resolution (1024x1024)
    • When Zoom 2x is enabled, the input resolution is doubled
  3. Ability to change more emulator options on-the-fly:
    • The NE2000 emulator's binding to a host network adapter
    • The /funckey value
    • Open and close the serial port 0 console window
  4. Additional peripheral device and driver support in Windows Embedded CE 6.0
    • Battery Emulation
    • Headset and Speakerphone Emulation
    • Carkit
  5. Customer Experience Improvement Program - opt-in method of providing anonymous customer feedback. This data will help us gather metrics about the DeviceEmulator - what configuration options are used, data about unsuccessful launches, information about error conditions, etc. As you opt to send us your data, we'll use this data to help tune V2 and future emulators to better suit your needs.

 

Saludos desde un lugar far far away ...

El Bruno

Fuente: blog de Jason

Crossposting from ElBruno.com

Buenas

primero a lo importante, que pedazo de clásico !!! lejos el mejor partido que he visto en mucho tiempo :D.

Y cuando vuelvo a la realidad del soporte, me encuentro con la (ya clásica) pregunta:

¿cómo configuro mi Visual Studio Team Edition for Database Professionals para que utilice mi SQL Server local cuando no tengo instalado SQL Express?

Pues bien, como casi todo en Visual Studio, la respuesta está dentro de las configuraciones de Visual Studio. En este caso, desde el menu Tools - Options abrimos la configuración y seleccionamos la sección: Database Tools. En esta sección deberemos reemplazar el valor por defecto (.\SQLEXPRESS) por el nombre de nuestro servidor de bases de datos, o para el valor por defecto, dejaremos un espacio en blanco (como muestran los siguientes ejemplos).

 

Ahora bien, la 2da pregunta que sigue a la anterior es:

¿cómo configuro las opciones para la generación automática de datos?

Las opciones para esta configuración, para este caso se encuentran dentro de la sección Database Tools - Data Generator. Por ejemplo, la siguiente imagen muestra las opciones de "mapeo" entre los tipos de datos de SQL y los datos propios de .Net para la generación automática de datos.

 

Estas opciones son bastante simples, pero sirven para ahorrarse 20 min de búsquedas en internet (como siempre utilizando Live Search y ayudando a los que más lo necesitan)

 

Saludos

El Bruno

Crossposting from ElBruno.com

Excelente anuncio de EDS ... una forma de reirse de nuestro día a día.

 

Saludos

El Bruno

Fuente: Blog de Dario

Crossposting from ElBruno.com


Buenas

hace casi un mes que ya está disponible para los usuarios de Windows Vista esta jarra que te avisa cuando se te acaba la cerveza un update mas que interesante: Windows Dreamscene.

¿ Y para qué sirve ? pues con Windows Dreamscene podemos poner como fondo de pantalla un video, ademas de las clasicas imágenes.

Como siempre un video vale más que mil imágenes, asi que aquí va:


Video: Windows Vista DreamScene demo

(perdón por la baja calidad  pero soapbox es lo q tiene ;)

 

Saludos

El Bruno

Crossposting from ElBruno.com
Publicado 8/3/2007 19:00 por El Bruno | 9 comment(s)
Archivado en:

Buenas,

comenzar agradeciendo a David, a Miguel y a la gente de MadNug.Net por la oportunidad de dar una charla el próximo jueves 15 de Marzo sobre Visual Studio Team Edition for DataBase Professionals (pedazo de nombre de producto !!! creo que es el nombre más largo que he visto en Microsoft desde hace tiempo).  Personalmente, este producto es uno de grandes avances que tenemos a nivel desarrollo en los últimos meses. Ya sé que AJAX, .Net 3.0, y demás son muy potentes, pero el poder incorporar la figura del professional de bases de datos; al ciclo de vida de desarrollo y que participe junto con los arquitectos, desarrolladores y testers, me parece impresionante :D, eso sin contar las capacidades internas del producto !!!

La inscripción la puedes encontrar aquí;

 

Visual Studio Team System for Database Professionals

Página principal de eventos internacionales >> Detalles del evento presencial

Visual Studio Team System for Database Professionals

Id. de evento: 1032332143

Registrarse en línea

jueves, 15 de marzo de 2007 19:00 - jueves, 15 de marzo de 2007 21:00 Madrid, París

Microsoft Ibérica S.R.L. 

Paseo del Club Deportivo, 1
Centro Empresarial La Finca - Edificio 1 (Parking de pago, Edif 4 y 13 en sotano -2) Pozuelo de Alarcón Madrid 28223
España

Idiomas: Español.

Productos: .NET.

Público: Developer.

Información general del evento

Visual Studio Team System for Database Professionals

Visual Studio Team Edition for Database Professional incorpora al ciclo de vida de desarrollo las tareas más comunes que se realizan cuando se trabaja con bases de datos. En esta presentación veremos las características de esta herramienta, como la generación de proyectos, comparación de estructuras y datos entre bases de datos, generación de pruebas unitarias; y también veremos cómo se puede integrar la misma en el ciclo de vida de un proyecto que utilice VSTS y Team Foundation Server.

Ponente: Bruno Capuano / Avanade

 

Saludos

El Bruno

 

PD: todavía no he pensado la excusa para mostrar el Lego con su webcam en la presentación, pero algo se me ocurrirá. Para conquistar el mundo que mejor que tener un buen robot y conocer como manejar la información.

Crossposting from ElBruno.com

Buenas

mi amigo Emilio, me impuso como tarea comentar algo sobre un addin IMPRESCINDIBLE para Visual Studio: GhostDoc. Hace tiempo, ya hablé sobre este AddIn, y también lo hice el 16 de Noviembre del 2005 cuando posteaba en MsnSpaces. Como trato de reaprovechar el trabajo, les dejo parte de un mail interno de Avanade que escribí hace un tiempo:

 

... cómo funciona, pues muy simple. Supongamos que poseemos la siguiente clase Customer:

1 namespace GhostDocSample 2 { 3 public class Customer 4 { 5 public Customer(string CustomerName, string CustomerEMail) 6 { 7 _Name = CustomerName; 8 _EMail = CustomerEMail; 9 } 10 string _Name = ""; 11 string _EMail = ""; 12 public string GetCustomerCompleteInformation() 13 { 14 return string.Format("{0}; mailto:{1}", _Name, _EMail); 15 } 16 public void SetCustomerInformation(string CustomerName, string CustomerEMail) 17 { 18 _Name = CustomerName; 19 _EMail = CustomerEMail; 20 } 21 } 22 }

 

La clase Customer posee un código fuente muy simple, pero lamentablemente no posee una sola línea de documentación. Usualmente agregaríamos los prefijos “///” para que se genere la sección de documentación automáticamente y luego completaríamos la metadata de la misma. Pero con GhostDoc el trabajo es mucho más simple. Seleccionamos la función que queremos documentar y desplegamos el menú desplegable del IDE.

 

A continuación GhostDoc genera automáticamente la documentación para el constructor de la clase Customer. Utilizando el lenguaje natural en el que hemos descrito los elementos del constructor; GhostDoc ha podido generar lo siguiente.

1 /// <summary> 2 /// Initializes a new instance of the <see cref="Customer"/> class. 3 /// </summary> 4 /// <param name="CustomerName">Name of the customer.</param> 5 /// <param name="CustomerEMail">The customer E mail.</param> 6 public Customer(string CustomerName, string CustomerEMail) 7 { 8 _Name = CustomerName; 9 _EMail = CustomerEMail; 10 }

 

La documentación general del constructor hace referencia a la clase Customer;  y en cada uno de los parámetros del constructor GhostDoc ha interpretado el significado de los mismos y ha creado la documentación correspondiente. Como podemos ver es muy poderoso, y si seguimos una buena práctica en lo referido a la nomenclatura que utilizamos para crear funciones y parámetros; el trabajo de documentar se hace mucho más fácil. Si terminamos de generar la documentación para toda la clase utilizando GhostDoc, el código de la misma queda como en el siguiente ejemplo:

1 namespace GhostDocSample 2 { 3 public class Customer 4 { 5 /// <summary> 6 /// Initializes a new instance of the <see cref="Customer"/> class. 7 /// </summary> 8 /// <param name="CustomerName">Name of the customer.</param> 9 /// <param name="CustomerEMail">The customer E mail.</param> 10 public Customer(string CustomerName, string CustomerEMail) 11 { 12 _Name = CustomerName; 13 _EMail = CustomerEMail; 14 } 15 string _Name = ""; 16 string _EMail = ""; 17 /// <summary> 18 /// Gets the customer complete information. 19 /// </summary> 20 /// <returns></returns> 21 public string GetCustomerCompleteInformation() 22 { 23 return string.Format("{0}; mailto:{1}", _Name, _EMail); 24 } 25 /// <summary> 26 /// Sets the customer information. 27 /// </summary> 28 /// <param name="CustomerName">Name of the customer.</param> 29 /// <param name="CustomerEMail">The customer E mail.</param> 30 public void SetCustomerInformation(string CustomerName, string CustomerEMail) 31 { 32 _Name = CustomerName; 33 _EMail = CustomerEMail; 34 } 35 }

Otros de los aspectos interesantes de la versión actual de GhostDoc es que ahora también soporta VB.Net (en fase Beta).

Realmente aconsejable :D

 

Saludos

El Bruno

Crossposting from ElBruno.com
Publicado 7/3/2007 22:31 por El Bruno | 3 comment(s)
Archivado en:

Buenas

el viernes está a la vuelta de la esquina y ya hay que empezar a prepararse para el fin de semana. Como todavía estoy destilando las cervezas reponiendome del anterior, este tipo de guías de instalación nos ayudan a reducir en casi un 2% los errores que podamos cometer en este estado.

En este caso, la nueva guía de instalación de Team Foundation Server (salió hace 2 días) incluye los últimos Services Packs disponibles que han salido desde marzo del año pasado dentro de los pasos de instalación y configuración de Team Foundation para las modalidades Single Server y Dual. Incluye también los pasos para la instalación y configuración de Team Foundation Build Server, Team Foundation Server Proxy y Team Explorer.

Se puede bajar desde http://www.microsoft.com/downloads/details.aspx?familyid=E54BF6FF-026B-43A4-ADE4-A690388F310E&displaylang=en.

Además incluye las siguientes secciones:

Content

  • Team Foundation Logical Architecture
    Provides an overview of the Team Foundation tiers that make up the logical architecture.
  • Team Foundation Physical Architecture
    Provides an overview of the functionality of the Team System products and the Team Foundation physical architecture.
  • Team Foundation System Requirements
    Provides the hardware and software system requirements to install this release of Team Foundation Server for each deployment.

Related Sections

  • Overview of Team Foundation Server Security for Setup
    Provides security-related information such as user accounts, service accounts, groups, and port settings for installing Team Foundation Server.
  • Overview of Team Foundation Server Single-Server Deployment
    Use the procedures in this section to install and configure both the application-tier components and the data-tier components Team Foundation Server on one server.
  • Overview of Team Foundation Server Dual-Server Deployment
    Use the procedures in this section to install and configure Team Foundation Server using two computers, one for the data-tier components and another for the application-tier components.
  • Overview of Installing Team Foundation Build
    Use the procedures in this section to install and configure Team Foundation Build that provides build automation to help you build and share Visual Studio 2005 solutions.
  • Overview of Installing Team Foundation Server Proxy
    Use the procedures in this section to install Team Foundation Server Proxy that caches previously accessed source control files.
  • Overview of Installing Team Explorer
    Use the procedures in this section to install and configure Team Explorer which acts as the client component.

 

 

Saludos

El Bruno

Crossposting from ElBruno.com
Publicado 7/3/2007 11:47 por El Bruno | con no comments

Buenas

además de los favoritos, los documentos, las canciones de Bustamante las configuraciones y demás información que tengamos configuradas en nuestra pc; un detalle importante que podemos tener en cuenta cuando cambiamos de PC o de Portátil; es que también podemos exportar la configuración y settings de trabajo que tenemos en Visual Studio 2005.

Para esto simplemente tenemos que seleccionar dentro de Visual Studio 2005, desde el menu Tools // Import and Export Settings.

 

 

Esta opción nos habilita un menú que nos permite importar y exportar la configuración actual que tenemos en Visual Studio

 

Dentro de las opciones con las que podemos trabajar se encuentran:

  • General Settings: en esta sección se encuentran las opciones generales de Visual Studio como la ubicación de los CodeSnippets, los settings de las Externals Tools, las opciones de Find and Replace, la personalización de las toolbars y los menues; la configuración de la Start Page, etc.
  • Help Filters and Favorites: en esta sección se encuentran los favoritos; la personalización de los archivos de ayuda y los search filters.
  • Options: finalmente en esta sección podemos encontrar las opciones de depuración, las opciones del IDE, las opciones del editor o de los editores, etc.

 

Pues bien, si están cambiando de PC o mudando a otra máquina ... no dejen de tener en cuenta esta opción para meo perder la personalización de cada uno sobre el Visual Studio ... como dice la canción: there is no place like home !!!

 

Saludos

El Bruno

Crossposting from ElBruno.com
Publicado 5/3/2007 23:22 por El Bruno | 2 comment(s)
Archivado en:

Buenas,

mientras sigo peleando con Microsoft Robotics Studio para crear un servicio que publique las imágenes de mi webcam; tengo que preparar algunos informes para presentar tomorrow y, como no, trataré de que los mismos sean lo más simples y gráficos posibles.

La información que ataco está en una base de datos de Analysis Services 2005 bastante lejos, y gracias a una VPN poderosa, puedo accederla tranquilamente @home. Sin embargo, la estructura de información es bastante compleja y tirando de Excel 2007 (como expliqué aquí) me cuesta mucho transmitir la realidad que esconde la misma. Asi que opté por otra herramienta de Microsoft Office 2007 que no usamos usualmente para este tipo de tareas: MICROSOFT OFFICE VISIO 2007.

Dentro de Visio 2007 (como en casi toda la familia de Office) tenemos la capacidad de integrar información de diferentes bases de datos; y a traves de un panel de navegación podemos incluir esta data dentro de nuestros diagramas de Visio. Para demostrarlo, en pocos pasos (es domingo y hay futbol), podemos utilizar la base de datos de AdventureWorksDW que viene con Microsoft SQL Server 2005. (para ver como configurar esta base de datos, pueden consultar este post).

 

Microsoft Office Visio 2007

Lo primero que debemos hacer es crear un nuevo proyecto de Visio utilizando el template de PivotDiagram, dentro de la categoría Business:

 

A continuación podremos seleccionar el tipo de data source con el que queremos conectar, en nuestro caso Analysis Services:

 

Una vez conectados, dentro de un nuevo diagrama de Visio podremos ver un nuevo panel de acceso a la informacion multidimensional, donde podremos seleccionar los measures que querremos visualizar en cada uno de los niveles del diagrama de Visio desde la sección Add Total. Para este ejemplo, seleccionamos Internet Sales Amount. Como podemos ver, el total general de este campo se muestra en el primer nivel dentro del diagrama.

 

Si queremos empezar a analizar mas a fondo la información, y por ejemplo, cambiar el measure por Internet Order Quantity y ver los totales por paises; deseleccionamos el campo Internet Sales Amount de la sección Add Total y seleccionamos el campo Customer: Country de la sección Add Category. En el diagrama aparecera una nueva rama (al estilo organigrama) con esta información donde para cada país se podrá visualizar el subtotal de Internet Order Quantity

 

Si además agregamos el campo Date: Calendar una nueva subrama con sus correspondientes subtotales se agrega debajo de cada país.

 

Finalmente, ya podemos empezar a aprovechar las capacidades de Visio 2007 y comenzar a darle un poco de formato gráfico a nuestro diagrama de datos. Por ejemplo, si seleccionamos un Shape y deplegamos el menú contextual sobre el mismo, podemos seleccionar la opción Apply Shape y seleccionar una de las imágenes que queremos asociar a nuestro dato. Además podemos collapsar un nivel para un set de datos específico, y varias opciones más.

 

Finalmente, seleccionamos varias opciones y jugando con los niveles y los datos que queremos mostrar, podremos lograr un gráfico como el siguiente, donde podemos ver:

  • El total de ventas y el total de cantidad de órdenes de ventas
  • El total de ventas y el total de cantidad de órdenes de ventas, desglosado por paises
  • Estos totales para Francia, para los años 2001, 2002, 2003 y 2004, y además los datos para cada semestre del año 2002.

 

 

Visualmente, se entiende mucho más que un simple listado de información, ¿no? Realmente las capacidades de trabajo que nos brinda Microsoft Office 2007 son muy superiores en lo que respecta al análisis de información y a las capacidades para visualizar la misma.

Mañana les comentaré que dicen mis superiores al respecto :D

 

Saludos

El Bruno

Crossposting from ElBruno.com

Buenas

tiempo de buenas noticias, a saber:

  • comienza una nueva temporada de Smonka.
  • he abandonado mi antiguo portátil y tengo un nuevo Dell Vista Capable (un show!!)
  • por fin tengo un poco de tiempo para cerrar algunas ideas; que me permitirán conquistar el mundo (comenzando por Mirasierra)

Lo primero que quería hacer era integrar mi Webcam Wifi sobre el LEGO y asi dotarlo de ojos que siempre vienen bien. Para esto tenía que encontrar la forma de montar estas piezas juntas y aprovechando las capacidades de Microsoft Robotics controlar los servicios del LEGO y también la capacidad de image streaming quer posee la webcam wifi.

 

WebCam Wifi

Hace un tiempo ya comenté sobre mis nuevos juguetes, que incluían la WebCam Wifi; y después de investigarla un poco me di cuenta de que una vez configurada en una red Wireless; el acceso a la imagen que proporciona la misma es tan simple como una URI. Esto simplica muchísimo la codificación para obtener la imagen, ya que dependiendo de las capacidades de la webcam y un timer podremos capturar la misma muy fácilmente.

En el caso de mi webcam, para una resolución de 640x480 pixels en la imagen, la misma soporta 10 fps (frames per second). Si bajamos la resolución a 320x240 la cantidad de fps aumenta a 30 fps; y teniendo en cuenta que ademas debemos acceder a la imagen a traves de una red wireless, esta configuración resulta bastante aceptable para la prueba que deseo hacer. En la siguiente imagen, podemos ver las capacidades de configuración que posee la webcam:

 

Obteniendo imágenes desde .Net

Ahora bien, en un nuevo proyecto VB.Net he creado un UserControl llamado WebCamImageViewer que posee:

  • un control Picture llamado picWebCamCapture, que es donde mostraremos la imagen que obtenemos desde la webcam.
  • un timer llamado timCapture, que es el que gestionará las peticiones de als imágenes a la webcam.

Además el proyecto posee 2 propiedades configurables:

  • timInterval (integer), define el intervalo del Timer.
  • ImageUrl (string), especifica la url de la imagen (por ejemplo: http://192.168.1.20/image.jpg)

 

No voy a explicar los siguientes pasos, ya que un par de líneas de código valen mas que mil palabras.

 

1 Public Class WebCamViewer 2 3 Private WithEvents client As New System.Net.WebClient 4 5 ''' <summary> 6 ''' Starts the capture. 7 ''' </summary> 8 Public Sub StartCapture() 9 timCapture.Interval = My.MySettings.Default.timInterval 10 timCapture.Enabled = True 11 End Sub 12 13 ''' <summary> 14 ''' Stops the capture. 15 ''' </summary> 16 Public Sub StopCapture() 17 timCapture.Enabled = False 18 End Sub 19 20 ''' <summary> 21 ''' Handles the Tick event of the timCapture control. 22 ''' </summary> 23 ''' <param name="sender">The source of the event.</param> 24 ''' <param name="e">The <see cref="System.EventArgs" /> instance containing the event data.</param> 25 Private Sub timCapture_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles timCapture.Tick 26 Call DownloadImage() 27 End Sub 28 29 ''' <summary> 30 ''' Downloads the image. 31 ''' </summary> 32 Public Sub DownloadImage() 33 34 Try 35 36 ' desactivamos el timer, porq el WebClient no soporta operaciones concurrentes 37 ' e iniciamos la descarga 38 timCapture.Enabled = False 39 client.DownloadDataAsync(New System.Uri(My.MySettings.Default.ImageUrl)) 40 41 Catch ex As Exception 42 ' reinicio el webclient y activo el timer 43 client = New Net.WebClient 44 timCapture.Enabled = True 45 End Try 46 47 End Sub 48 49 ''' <summary> 50 ''' Handles the DownloadDataCompleted event of the client control. 51 ''' </summary> 52 ''' <param name="sender">The source of the event.</param> 53 ''' <param name="e">The <see cref="System.Net.DownloadDataCompletedEventArgs" /> instance containing the event data.</param> 54 Private Sub client_DownloadDataCompleted(ByVal sender As Object, ByVal e As System.Net.DownloadDataCompletedEventArgs) Handles client.DownloadDataCompleted 55 56 Try 57 58 ' validacion de errores 59 If e.Cancelled Or Not (e.Error Is Nothing) Then 60 Exit Sub 61 Else 62 ' descarga correcta, se muestra la imagen en el pic 63 Dim img As System.Drawing.Bitmap 64 Dim ms As New IO.MemoryStream(e.Result) 65 img = System.Drawing.Image.FromStream(ms) 66 picWebCamCapture.Image = img 67 End If 68 69 Finally 70 ' activo el timer 71 timCapture.Enabled = True 72 End Try 73 74 End Sub 75 End Class 76

 

Para descargar la imagen utilizo la clase WebClient, y en esta ocasión utilizaré el método DownloadDataAsync() para descargar la imagen. En Noviembre posteé sobre esta clase y sobre como podemos utilizarla para descargar a un archivo en el disco; en este caso utilizó el método DownloadDataAsync() ya que el mismo retorna la información descargarda en un array de bytes.

El siguiente paso es convertir este array de bytes a un MemoryStream y a partir de allí creo la imagen y la visualizo en el control picWebCamCapture. Además, debido a algunas restricciones de la clase WebClient, manejo los estados del Timer timCapture para no dejar nunca inactiva la aplicación.

Para probar la aplicacion, simplemente un proyecto de prueba con un formulario con el UserControl WebCamImageViewer, además de 2 botones que invocan a los métodos StartCapture() y StopCapture(); he aquí el resultado de la prueba.

 

El proyecto completo se puede descargar desde aquí (gracias Geeks.ms por el storage).

 

WebCam Deploy

Ahora bien, la webcam es wireless pero sigue necesitando una alimentación externa para funcionar. Aquí tuve que desempolvar algunas habilidades antiguas y ponerme a cortar cables y a soldar como un campeón. Un detalle extraño es que funciona con 5V, pero basado en algunas especificaciones supuse que con 4 pilas AA (6V) la webcam funcionaría igual, así que a pensar cual es la mejor manera de montar las pilas en la webcam.

La mejor forma de conseguir todos los elementos necesarios, después de dar un par de vueltas, es acercarse a una casa de modelismo. En un negocio de este ramo consegui un set de pilas recargables que me daban la energía que necesitaba; conseguí la ficha de alimentación que utilizaba la WebCam y quedo lista la alimentación externa.

 

 

 

Funciona !!!

Pues si ... ahora ya tengo:

  • una WebCam funcionando con una alimentación externa y publicando imágenes en una red Wifi
  • un soft que me permite capturar esas imagenes y mostrarlas "en tiempo real"

Lo único que me falta es ARMAR EL LEGO !!!!

 

Cuando esté todo completo, otro post y algun videito de todo funcionando :D

 

Saludos

El Bruno

Crossposting from ElBruno.com
Más artículos Página siguiente >