miércoles, noviembre 29, 2006

No soy el único

A todo el que me pregunta sobre Windows Vista invariablemente le contesto lo mismo: es (por que hoy se "liberó") el mayor fiasco de Microsoft.

No importa todo el festival que preparen, no importa lo bonito del empaque, no importa que lo acompañen de Office 2007 (este si mejoró bastante). Es un fiasco y lo van a maquillar con grandes anuncios de ventas (como si fueran a recibir discos de oro y de platino) y reportajes en todos los medios de lo mucho que ha mejorado el mundo con Vista.

Pero no es ni será cierto. Es más, hay gente del medio que no tiene urgencia de cambiar a Vista.

La única manera en que Microsoft lograría innovar en realidad sería desarrollar un totalmente nuevo sistema operativo. Sin mantener compatibilidad, sin reutilizar código, sin prometer las perlas de la virgen, sin pretender ser itasca.

Ya anteriormente hablé de como el desarrollo de Vista ha caído víctima del corporativismo. Y pa'muestra aquí hay otro botón.

Finito.

Jarro Negro en InnovaTec

¿Y qué creen? Los chavos de Jarro Negro se dan un rol por Tijuana en el evento InnovaTec y por otra parte, en el 4° episodio de ICEnetx participa Armando Rodríguez hablando del proyecto.

Lo que es ser joven.... :D

Finito.

Y nos dieron las 9, las 10 y las 11

Pues bien, ayer no se llevó a cabo la Reunión Mensual de la Comunidad .NET sin embargo varios compañeros de la Comunidad y algunas caras nuevas nos citamos para platicar sobre Mono, ASP.NET y lo que fuera saliendo alrededor de estos temas.

Iver fue quién proporcionó la mayor parte de la audiencia acompañándose de Luis Enrique Olascoaga y Erick Sánchez además de la curiosamente agradable visita de Akin0. Digo curiosa ya que lo conocí hace algún tiempo y me dejó una impresión tan buena que incluso hice un post acerca de su él y su trabajo. La parte agradable fue volverlo a encontrar y descubrir más puntos en común: el interés por Mono y por formar comunidades.

Para efecto de tener un espacio para platicar, nos adentramos en conocida cadena de cafeterías donde nos acomodamos como pudimos (el lugar estaba retacado) e inicié con lo traía preparado para la exposición de introducción al proyecto Mono. Una novedad que incluí en este demo fue el Mono Migration Analyzer o MoMA pa'los cuates.

MoMA es un programa que examina una lista de ensamblados (assemblies) y busca llamadas a métodos de la BCL que no se encuentren implementadas, estén marcadas con el atributo [MonoTodo] o que no tengan una implementación completa además de reportar las llamadas P/Invoke. Todo esto lo consigue haciendo uso de Cecil y al final se puede enviar el resultado a la gente del proyecto Mono, de hecho Miguel de Icaza se vé bastante animado con los informes que han llegado y ha publicado varios posts para dar a conocer los resultados acumulados.

En lo particular me parece una herramienta super importante ya que nos permite dos cosas:
  1. Identificar los puntos específicos a modificar en nuestras aplicaciones para conseguir una distribución multiplataforma y
  2. Identificar que métodos de la BCL se están usando y crear la implementación, es decir, desaparecer los [MonoTodo] y las excepciones NotImplementedException.
A lo largo de esta charla llegó Raúl "Superneurona" Guerrero, quién después de mi exposición se dió a la tarea de compartirnos un método harto interesante de pasar datos entre formularios web. La propuesta de Raúl es implementar una interface y que los formularios que van a compartir datos hagan la implementación de dicho contrato.

Raúl nos hizo el demo y ¡voilà! funciona! pero no lo dejo allí. Mostró una alternativa en la que el objeto que se va a compartir lo serializa y lo inyecta en el ViewState ¡cool!. Akin0 hizo la observación que al ir aumentando la complejidad de la clase proporcionalmente iba a crecer el tamaño de la serialización y por ende el ViewState. Como comentaron él y Raúl, y yo también creo, habrá que revisar cada escenario.

Cuando se acercaron a nosotros para avisarnos que ya estaban por cerrar el estacionamiento nos dimos cuenta que era hora de partir.

Por mi parte me quedó una satisfacción enorme de encontrarme con todos y de ver el nivel de conocimientos y habilidades que no se están quedando en una persona, por que el fondo de estas reuniones es compartir y ayer se repartió a manos llenas.

Finito.

jueves, noviembre 23, 2006

Saliendo al quite

Los miércoles (ayer) se imparte un taller de tecnologías Java a alumnos de la UNAM, generalmente lo imparte mi jefe, pero hubo una serie de confusiones y no pudo estar y según esto lo había cancelado pero al final llegaron los muchachos.

Aunque había estado participando, realmente no tengo todo el material (ni el expertise) para impartir el taller pero como los muchachos ya estaban aqui no se podía dejar que fuera en balde la visita. Así que a sugerencia de mi jefe, les platiqué de Mono :D

Retomé la presentación que impartí en CITEKNA.06 y partí de ahí. Realmente fue rápido, uno de los chavos tenía conocimientos de .NET y Mono. Ejecutamos algunos ejemplos del SDK de .NET con Mono, ejecutamos los ejemplos del SDK en Linux con Mono (1.2 y 1.1.17) y el cierre fue ejecutar Mono en Solaris :O

Hasta ayer solo era una idea vaga lo de ejecutar Mono sobre SPARC y fue más simple de lo que esperaba. Si bien no hice (ni se ha hecho) una prueba exhaustiva, es un buen inicio para tratar de incorporar Mono y por ende .NET en el ambiente "empresarial".

Hoy la lista de Mono Hispano preguntaba alguien como argumentar a detractores de Mono. Creo que no hay una forma contundente. .NET no se ha integrado como una plataforma "empresarial" (a comparación de J2EE), mucho menos Mono. ¿Está listo para este tipos de retos? Desgraciadamente tampoco lo puedo afirmar. Lo que sí se puede decir es que no es cosa de tecnología. Somos nosotros.

Nos gusta presumir Mono por aquí y por allá, pero no hemos conseguido espacios para foguearlo y ver realmente hasta donde llega. Es un lindo juguete pero para muchos es solo eso.

En el sitio de Mono, existe una sección con proyectos reales. Pero nada se compara con la experiencia propia. Asi que: propongamos. Veamos que retos existen y hagamos el compromiso con Mono para usarlo.

Como cierre, el próximo martes 28 de noviembre se realizará la reunión Mensual de la Comunidad .NET de la Cd. de México. La reunión anterior pedí la oportunidad de exponer acerca de Mono y hasta la fecha si bien no me han confirmado tampoco me han dado una negativa así que estamos listos para hacer la presentación.

Entonces, los espero en el WTC, piso 35 en las oficinas de Intersoftware a partir de las 19.00. La idea es que asista toda la gente interesada en Mono para empezar a formar una comunidad y empujar el proyecto.

Los espero.

Finito.

viernes, noviembre 17, 2006

Ahora si.... ya se los cargó el payaso,....

:@

Estoy que me lleva la ()/&%&#&/W"!!!!

Acabo de hacer la migración a Blogger Beta y me encuentro con varios... varios... decenas de comentarios que nunca había visto antes...... en serio.... Otra más y me cambio de blog engine.

Finito.

martes, noviembre 14, 2006

¿Terminaré algún día?

¿Alguien recuerda PartnerApi? (sonido de grillo)...

Pues bien, mi cerebro si lo recordó y heme aquí actualizando código de nuevo.

Más bien surgió de que instalé .NET 3.0/WinFx y pues me salió la duda: ¿cómo accederé el API de salesforce.com? No lo intenté (todavía) pero lo bueno es que retomé PartnerApi.

De hecho, se me ocurre intentar de nuevo la migración a Mono :P

Pa'más referencia y un meme, visiten mi BackPackIt

Finito.

jueves, noviembre 09, 2006

Es oficial: Mono 1.2

Acabo de ver en monologue el anunció de la liberación de Mono 1.2.

Esto ya se había anunciado desde el Mono Meeting, sin embargo me da una impresión de acelere/rush.

Desde la mañana se había anunciado la liberación, incluso en la lista de correos se vió con sorpresa la nota.

Bueno, es oficial. Mono 1.2

Finito.

martes, noviembre 07, 2006

Más noticias del acuerdo y un detalle curioso

Hoy publicó Novell un nuevo FAQ dirigido específicamente a la Comunidad Open Source en el cual responde varias preguntas que se han formulado en relación al recientemente anunciado acuerdo con Microsoft.

Habrá preguntas que nos hemos hecho, habrá otras que no. Creo que vale la pena visitarlo y si es necesario plantear nuevas dudas.

En otro orden de ideas, ya descargué e instale Mono 1.2 RC para Windows. Un detalle que me pareció curioso y práctico a la vez es que agregaron una opción a los menús contextuales para arrancar XSP/XSP2 en un directorio en particular. Una imagen dice más que mil palabras.


Y ya nomás pa'terminar, en Port 25 hay una entrevista harto interesante sobre la representación gráfica de actividad mediatica colectiva :S (mi libre traducción). Pa'que de'veras vean de que se trata, visiten este post en Port 25.

Finito.

.NET 3.0 liberado

Ayer se liberó formalmente el "esperado" .NET Framework 3.0 que permite a los desarrolladores construir aplicaciones con los nuevos API's que se crearon para Windows Vista (acuérdense: el próximo gran fiasco de Microsoft).

Entonces, ahora ya estamos en posibilidad de descargarlo e instalarlos para probar esta entrega. Lo que de inicio es deconcertante (para los que no veníamos siguiendo al detalle estas entregas) es que no existe la habitual combinación redistrubtable/SDK. Recordemos que .NET Fx 3.0 únicamente agrega API's a .NET Fx 2.0, realmente al fondo (muy en el fondo) seguiremos usando la versión 2.0.

Entonces, para más referencia, detalles y links para descargar, aqui están:

Y de paso chequen la nueva aparienca del home de Visual Studio 2005.

¡Ah! Y para aquellos morts que no escuchan el Podcast de Pozo Técnico, ahi les va Atlas

Finito.

lunes, noviembre 06, 2006

Liberan instaladores para Mono 1.2 RC

Han anunciado la liberación de varios instaladores de la versión 1.2 RC de Mono entre los que se encuentran disponibles

  • Windows
  • Mac OSx
  • Linux genérico
  • Fedora
  • Suse
  • Red Hat
  • Novell Linux Desktop

Me parece que la idea es tener el máximo de retroalimentación en vista al probable anuncio de la versión final durante el Tech Ed que se estará realizando en Barcelona en esta semana. Sin embargo, se me hace muy apurado el tiempo, a menos que únicamente se anuncie la fecha de liberación definitiva.

De cualquier manera, hay que probar esta entrega, reportar los errores y lo más importante: corregirlos.

Finito.

Y tú ¿quién eres?

Una de las razones de ser de todas las personas es la identidad ¿quién soy? ¿cómo me reconocen los demás? ¿cómo reconozco a los demás?. La mínima manera de identificarnos es por un nombre y apellido, pero al integrarnos a una sociedad, nos llenamos de identificadores que permiten a los demás reconocernos.

En estos tiempos de internet, e-commerce, e-gov, e-celebrities y demás, la identificación (¿quién soy?/¿quién eres?) se vuelve cada vez más indispensable. Antes teníamos la seguridad que un simple usuario y contraseña era todo lo necesario para hacernos reconocer. Sin embargo, hay quienes se han encargado de echar a perder esa simplicidad. Ahora se buscan nuevos mecanismos para establecer nuevas relaciones de confianza entre los usuarios y los proveedores de servicios.

Pero, ¿acaso no suena todo esto a gran censo para el Gran Hermano? El hecho de que se me asigne una etiqueta para identiricarme, poder comprar en línea, leer mi correo, revisar mis cuentas bancarias, visitar mis sitios favoritos ¿no es invadir mi privacidad?. Resulta entonces que hay alguien que puede ver los sitios que visito, las cosas que compro, las cosas que leo y las que escribo. Estoy de acuerdo en mantener mi seguridad pero también demando mantener mi privacidad.

Entre tanto, la seguridad se lleva la delantera.

En su programa semanal Scott Hanselman hace una entrega bastante interesante acerca de la Identidad tratando especificamente el tema de InfoCard. En un post anterior, también hace referencia al tema e incluye varios de los links que menciona en su podcast.

Si bien, todavía nadie me asegura mi privacidad, el menos se ve que la seguridad va en buen camino.

Finito.

viernes, noviembre 03, 2006

Habilitando peticiones remotas para el servidor X

En estos días tuve la necesidad de conectarme a servidores Solaris y ejecutar programas gráficos. Sin embargo no fue tan fácil como me imaginé de inicio.

Generalmente lo que haces es permitir peticiones mediante xhost de manera que simplemente llegan y las atiendes. Pero en Ubuntu no fue así de fácil.

Empecé con el procedimiento común: xhost, me conecto al servidor vía telnet, exporto la variable DISPLAY y.... nada... no gráficos, no ventana solo mensajes de error.

¿Qué pasó? Lo primero que me recomendaron es que viera si estaba activo el puerto tcp 6000. Y pus no estaba. ¿Entonces?. Encontré un xserverrc que traía un parámetro -nolisten tcp y resulta que cancelaba el tráfico en el protocolo especificado. Pero tampoco fue la solución.

Recurrí al todo poderoso Google, pero no conseguí formular una pregunta sensata y no encontré respuesta. Y como era urgente (¡para hoy! ¡para hoy!) simplemente me conecté vía XDCMP y a disfrutar el "adorable" entorno gráfico de Solaris. Waaa!

Hoy me he levantado y al darme la vuelta me he ido rodando (algo de sobrepeso). Y encontré una nueva manera de formular mi pregunta. Y el todo poderoso Google me dió respuesta:
Ubuntu Enabling remote X windows


En resumen de lo que se trata es de reactivar las conexiones TCP mediante lo siguiente:
  • Ir al menú Sistema, Administración, Ventana de Entrada
  • En la pestaña Seguridad, desactivar el check box con el titulo Denegar las conexiones TCP al servidor XServer.
  • Reiniciar tu equipo
  • Presto!
En el url encontrarán más detalles (hacerlo por línea de comandos, reiniciar X sin reiniciar la máquina) pero el asunto se puede resolver así de simple.

Finito.

jueves, noviembre 02, 2006

Quickie: Mono 1.2 RC

Un nuevo milestone alcanzado.

Finito.

Acuerdo de entre Novell y Microsoft sobre patentes

En el blog de Miguel de Icaza se anuncia un acuerdo entre Novell y Microsoft sobre cooperación de patentes.

La verdad es que ni idea tengo del alcance real de este acuerdo, de inicio se dice que el acuerdo una vigencia de al menos cinco años y se mencionan específicamente varios productos Open Source que promociona Novell, entre ellos:
  • OpenOffice
  • Samba
  • SUSE Linux Enterprise
  • y obviamente.... Mono
Para ver los anuncios originales (todos en inglés) se puede referir a:
Sin entender todavía el alcance, creo que es el resultado de varias factores, entre los principales veo
  • La demanda de consumidores de integrar software libre y propietario (privativo en otros españoles)
  • Previsión por parte de Microsoft en relación a un escenario donde no le sea posible seguir inundando el mercado de SO.
  • Replantamiento de la estrategia de Microsoft en relación a la construcción y liberación de nuevas versiones de sus SO's (Recuérdenme: En cinco o diez años se recordara Vista como el mayor fiasco de Microsoft).
  • Influenciar (al final: controlar) el mercado mediante estándares y pseudo-estándares: Open XML, máquinas virtuales, ambientes de desarrollo.
Está por verse y por entenderse cabalmente el alcance de todos estos documentos.

Ya se verá.

Finito.

Actualización a Ubuntu 6.10 Edgy Eft

Ya completé la actualización a Ubuntu 6.10 Edgy Eft en mis dos máquinas, la PC de escritorio de la ofi y mi laptop.

En la PC de escritorio, fue donde realmente fueron los intentos iniciales de actualización y como tal, es un verdadero desmadre. Arranca con una pantalla splash bien cucha, tengo que regresarme a una versión anterior del kernel, sigue sin funcionar ACPI, pero fuera de eso funciona exactamente igual que antes.

No me gustó el proceso, creo que pudo ser más limpio.

En cambio, en la laptop, fue borrón y cuenta nueva. Respaldo mis archivos y ¡órales! a formatear e instalar todo. Rápido y fácil.

Algo que encontré, y que si bien existía desde la versión anterior, es la opción Añadir y Quitar del menú Aplicaciones. Es un símil del instalador que se encuentra en el Panel de Control de Windows, la diferencia es que nos despliega un de aplicaciones disponibles para instalarse y se puede especificar desde cuál repositorio se obtiene la lista de programas.

La selección de repositorio es importante ya que están clasificados por el tipo de licencia que manejan y el tipo de mantenimiento o soporte que reciben. Esto es, hay repositorios que únicamente alojan software libre y otros que alojan software bajo copyright. Existen repositorios con paquetes que reciben mantenimiento directamente del equipo de Ubuntu o Canonical y otros donde la comunidad Open Source se encarga de su mantenimiento.

En estas diferencias es donde hay que fijarse para conseguir los paquetes que se requieren. Por ejemplo, para reproducir archivos .mp3, los paquetes los consigues en el repositorio que maneja copyright y que es mantenido por la comunidad.

En fin, la actualización, puede ser buena. La reinstalación definitivamente es buena. La opción de Añadir y Quitar es excelente.

Finito.

Pensamientos sueltos acerca de Windows Vista

  • Tal vez Windows Vista no sea el mejor OS del mundo, pero estos K's saben como encajartelo. Chequen el packaging
  • En la pasada reunión de la Comunidad .NET, Héctor Obregón hizo algunas demos de Vista. Entre las que me parecieron interesantes estuvo lo de User Access Control o lo que es lo mismo "Te voy a estar molestando para que estés seguro".
  • Una de las cosas que hay que reconocerles a estos K's (aparte del merchandising) es que son fieles a su API original. Dibujar íconos en botones o nuevos controles es simplemente un mensaje más en las tradicionales llamadas a SendMessage. Si hoy en día compiláramos un programa de Windows 1.0/2.0/3.0, funcionaría exactamente igual.
Finito.