viernes, enero 25, 2008

Clientes Remote Desktop para OSX

En mi trabajo de consultoría sobre Bases de datos y Business Intelligence, trabajo en un 98% con Microsoft SQL. El trabajo lo realizo en mi MacBook Pro, generalmente de forma remota conectándome a los sitios de mis clientes por medio de Terminal Services.

Para OSX existen por lo menos 3 clientes que permiten realizar conexiones a Terminal Services:
Microsoft Remote Desktop Connection Beta 2
CoRD
TSClientX

Los 3 los he utilizado en la búsqueda del mejor cliente para el trabajo, pero he encontrado que todos tienen sus limitaciones, y no es que yo requiere cosas como "mapeo" de drives o impresión remota; mis requerimientos son muy básicos:
Conectarme remotamente
Poder cambiar el tamaño de la pantalla cliente
Poder conectarme a pantalla completa
Poder abrir mas de una conexión a un mismo tiempo a diferentes computadores.
Poder realizar ¨copy & paste¨ de textos entre la terminal remota y OSX

Comenzare platicando sobre TSClientX, esta basado en RDesktop el cual es el programa estándar para conexión a Terminal Services en Linux, en Linux funciona perfectamente, pero en OSX no tanto. Si bien me permite realizar las tareas que mencione anteriormente, no esta muy integrado con OSX, ya que depende de X11 lo cual hace que la aplicación se comporte extraña en OSX, ademas de que el ¨copy & paste¨ no me funciona del todo.

MS RDC Beta2 funciona bastante bien, salvo algunas ocasiones que simplemente ¨truena¨, el ¨copy & paste¨ funciona muy bien, inclusive puedo usar la tecla option + c ó option + v, en lugar del ctrl, pero aunque Microsoft dice que si permite abrir múltiples sesiones la verdad es que no me ha funcionado y el soporte para pantalla completa es simplemente ¨horroroso¨. RDC ya tiene en estado de Beta 2 un buen tiempo, quien sabe si alguna vez vaya a existir la versión final o alguna actualización que corrija estos problemas.

CoRD es un cliente que su nacimiento fue de forma nativa en OSX, por lo tanto su integración con el SO es muy buena, Cord permite abrir múltiples sesiones a Terminal Services a la vez, y las mantiene todas organizadas en una sola ventana - como en especie de tabs -, el soporte para pantalla completa es excelente, el único problema es que el ¨copy & paste¨ solo se puede hacer con la tecla ctrl mas no con la tecla option, lo cual es un poco irritable, ya que en OSX la forma estándar de ¨copy & paste¨ es con la tecla option.



En fin creo que de los 3 programas, por lo menos para OSX CoRD es la mejor opción, mencioné que CoRD es open source?.
Ya hay solicitudes de mejoras de otros usuario para permitir ¨mapear¨ la tecla ctrl a option y que así CoRD funcione de forma mas estándar con OSX, espero en alguna de las próximas versiones se implemente este cambio.

martes, enero 22, 2008

Como saber que service pack tiene nuestro MSSQL 2005, si no somos SysDB

Este artículo en inglés explica como podemos saber que service pack o hotfix tenemos instalado en nuestro servidor de MSSQL 2005 si es que no somos el SysDBA.

Basicamente se requiere ejecutar el siguiente SQL y consultar la tabla del artículo, aunque solo llega hasta el service pack 1:

WITH Version(ver)
AS
(
SELECT SUBSTRING
(
@@VERSION,
CHARINDEX(' - ', @@VERSION)+3,
32
)
)
SELECT Build = LEFT(ver, CHARINDEX(' ', ver))
FROM Version


Para el service pack 2, si el SQL anterior nos reporta la versión 9.00.3054.00, entonces si está instalado.

Si se tiene acceso a herramientas como el Microsoft SQL Management Studio, la cosa es mas fácil, cada servidor al que nos conectemos nos muestra la version del mismo.

lunes, enero 21, 2008

GTKSharp y Windows Forms nativos en OSX

En el pasado MonoSummit se anunció un mayor soporte de Mono para OSX, el soporte principalmente incluía el poder ejecutar los ambientes gráficos GTK+ y Windows Forms de forma nativa en OSX.

Para el caso de GTK+ la idea es utilizar el trabajo realizado por Imendio, el cual hace uso del backend nativo de OSX para que GTK+ dibuje su interface, en lugar de usar X11, lo ayuda a tener una mejor integración de las aplicaciones GTK+ con OSX.

Como primer fruto de esta integración se menciono que se estaría trabajando en liberar una versión de MonoDevelop para OSX, el trabajo sobre MD aun esta en progreso, aunque no hay información de cuando va a estar listo.



Por el lado de Windows Forms, también se beneficio de la integración nativa con OSX, ya que las aplicaciones WF no necesitan mas de X11, aunque para que esto suceda es necesario descargar las librerías de WF del sitio de Geoff Norton y ejecutar las siguientes lineas en una terminal antes de lanzar una aplicación WF:

export MONO_MWF_USE_CARBON_BACKEND=1
export MONO_MWF_USE_QUARTZ_BACKEND=1

Por ejemplo para mi en lo personal este avance es importante porque una de las herramientas para .NET/Mono que mas utilizo es Reflector para inspeccionar los métodos de librerías, y por primera vez desde ya hace un poco mas de un mes, he podido ejecutar Reflector desde OSX sin ningún problema.



Ahora solo resta esperar mejoras en el ambiente de WF y esperar a primera entrega funcional de GTKSharp de forma nativa en OSX.

Video Cast 4, Refactoring y TDD

Este 2008 ha comenzado con viajes de trabajo y poco tiempo en casa, por tal motivo no había liberado ningún nuevo Video Cast.

Este Video Cast es el primero de una serie, en la cual estaremos trabajando con un pequeño proyecto, en donde implementaremos algunas técnicas relacionadas con metodologias ágiles y otra técnicas para simplificar la dependencia entre clases.

Los puntos que se tocarían en esta serie de Video Casts serian:
  • Refactoring
  • Test Driven Development (TDD)
  • Mocking
  • Inyección de dependencias con contenedores (IoC)

Este primer Video Cast trata sobre refactoring y una breve introducción de TDD.

Refactoring es una técnica en la cual se toma el código actual de una clase o un grupo de clases y se modifica su implementación interna ya sea para mejorar su funcionamiento o reorganizar el código, pero siempre con el objetivo que el comportamiento de las clases modificadas sea el mismo que antes de la modificación, es decir, que se busca no ¨romper¨ su funcionalidad.

TDD es una técnica ágil en donde antes de escribir la implementación de una clase de acuerdo a los requerimientos que tenemos, se escriben una serie de pruebas sobre dichas clases para asegurarnos que la clase va a funcionar de acuerdo a lo que se especifico en las pruebas.

Esto tiene 2 implicaciones importantes, la primera es que al escribir primero la prueba, TDD nos ayuda a definir el diseño de nuestra clases antes de que las implementemos, la segunda implicación es que al implementar nuestras clases las pruebas nos ayudan a verificar si la clase cumple con las expectativas y/o requerimientos de nuestras especificaciones y nuestras pruebas.

Las herramientas y librerías necesarias u opcionales se listan en este post

Por cierto este Video Cast lo grabé como a la 1:00am, ya estaba algo dormido.



El video con mejor calidad se puede descargar de aquí.

El código para este video cast se encuentra aquí (V4).

Creative Commons License
This work is licensed under a
Creative Commons Attribution-Noncommercial-Share Alike 2.5 Mexico License.

jueves, enero 17, 2008

Semana de violencia en Tijuana

Hoy por la mañana estaba leyendo el post ¨Martes negro¨, donde Stan hace referencia a los acontecimientos de violencia contra policías y sus familias aquí en la ciudad de Tijuana, cuando por messenger me comentan que se estaba llevando a cabo una ¨balacera¨en la colonia Ermita.


No me encuentro actualmente en Tijuana, así que mi única opción fue dirigirme al periódico Frontera por mas información sobre lo que ocurría. Efectivamente un nuevo acto de violencia se estaba llevando a cabo donde policías municipales, estatales, federales y el mismo ejercito intercambiaban disparos con los ocupantes de una casa, a la cual las policías tenían sitiada.


Se cerro la circulación y el acceso a personas alrededor del área donde se llevaban a cabo estos hechos; me es difícil imaginar la angustia de los vecinos alrededor de la casa sitiada y mucho mas aun la angustia de los padres que tenían a sus hijos en una escuela pre-escolar cerca del lugar; los niños tuvieron que ser rescatados en plena ¨balacera¨.

Es realmente triste lo que ha sucedido en la ciudad en este principio de año, pero al mismo tiempo un tanto alentador, ya que si bien durante la gestión de Hank también ocurrieron hechos como los actuales, nunca se pudo capturar a nadie y los que capturaron fueron rescatados; por lo menos en los últimos acontecimientos la policía a sido capaz de realizar arrestos.


Creo que durante mucho tiempo las bandas delictivas se acostumbraron a actuar con impunidad en la ciudad, ahorita mi percepción personal es que el gobierno finalmente esta haciendo algo por enfrentarlas; aunque eso implica que se van a dar mas acontecimientos como el de hoy y como el del martes pasado.

Esperemos que el gobierno y las policías tengan la capacidad para resistir estos embates y se dirijan con honestidad para así poder recuperar nuestra ciudad.

Nota: Todas las fotos las ¨tome¨ del periódico La Jornada en linea, aunque creo que los derechos le pertenecen a Reuters.

lunes, enero 14, 2008

Kuali, aún no se sabe que pasó con él

A mediados del año pasado publiqué un post realizando la pregunta de, ¿que había pasado con Kuali?, la cual era una herramienta para manejar el desarrollo de software en base a la norma Moprosoft que impulsa ó impulsaba la Secretaría de Economía.

En el post comento que el software fue realizado por Microsoft México bajo el encargo de la misma secretaría, Microsoft delego el desarrollo a uno de sus socios, CrossHorizons. Ademas la Secretaría de Economía firmo un convenio donde erogó una suma de dinero para que Microsoft promocionara la herramienta en los eventos DevDays.

A Kuali solo tuvimos acceso a versiones Beta, nunca se liberó alguna versión final ni mucho menos el código fuente - ya que se según recuerdo se hizo hincapié en que el código seria liberado una vez terminado el proyecto -, y así de repente los sitios de Kuali desaparecieron y toda referencia a la herramienta también.

En ese post se vertieron algunos comentarios descalificando a personas que trabajaron en el proyecto como empleados de CrossHorizons, pero uno de los comentarios es precisamente de Alberto Borbolla - no Bedolla como yo lo indique en el post - con el cual explica que fue lo que ocurrió hasta donde el tiene conocimiento, el comentario en cuestión es el siguiente:


Para contestar algunas de tus preguntas, y precisar alguna de la información expresada en los comentarios a tu post. Específicamente porque en ellos se hace referencia a mi persona.

Estás en lo correcto, Kuali fue desarrollada por nosotros (CrossHorizons) a petición de Microsoft, con el propósito de favorecer la adopción de MoProSoft entre la industría PYME Mexicana. Y efectivamente los derechos de la propiedad intelectual de la aplicación son de la Secretaría de Economía. Sobre el seguimiento de la herramienta, te comento que nuestra participación en la herramienta solo consistió en el desarrollo de la misma, dentro de lo cual creamos un sitio para que fuera posible a los usuarios probar una versión preliminar (Beta), y recibir retroalimentación de dichos usuarios. Así mismo creamos dentro de nuestros servidores un foro para la recepción de comentarios, sugerencias y reportes de defectos.

Efectivamente las primeras versiones Beta de Kuali incluso usaban versiones Beta del .NET Framework 2.0, así como del SQL Server 2005. Cuando fueron liberados ambos componentes, liberamos nuestra primera versión, la cual contenía nueva funcionalidad que implementamos en base a sugerencias de los primeros usuarios que probaron la herramienta, así mismo solucionamos una serie de problemas (defectos) que se manifestaban en diferentes circunstancias y combinaciones de versiones de .NET Framework vs Versiones de SQL Server 2005. Una vez que realizamos la liberación de la herramienta, entregamos la última versión de código fuente a Microsoft,y con eso concluyo nuestra participación en el proyecto. No tuvimos participación alguna respecto de como se llevó a cabo el mantenimiento, soporte , promoción, mejora o divulgación de la herramienta.


Efectivamente como Tu lo comentas, se realizo una gira de promoción por medio de los DevDays de Microsoft sobre la herramienta, en la cual nosotros ya no participamos.

Lamento no tener mayor información al respecto de la herramienta, supongo que alguien de la Secretaría de Economía o de Microsoft, debe de tener mayor información al respecto. Aprovecho para aclarar que la empresa que contrato nuestros servicios para el desarrollo de la herramienta fue Microsoft.

Tu Servidor
Alberto Borbolla
Director de Consultoría
CrossHorizons


Ahora si, que cada quien haga sus conclusiones.