lunes, febrero 19, 2007

CONSOL 2007: Principio

Este año hay muy poco que contar. Si bien tuve la oportunidad de participar como ponente, por cuestiones de trabajo no pude asistir al menos un día completo como el año anterior. Sin embargo la experiencia como expositor fue harto interesante.

De inicio, tuve que llegar a la oficina debido a un reunión que se agendó antes del medio día. Malo, malo, malo. Todavía venía con la presión de probar por enésima vez los demos que iba a presentar. Como sea y como fuera, la reunión se fue como agua y tuve alrededor de una hora para repasar y probar la presentación y los demos y hasta para avanzar algo con la presentación del viernes que iba a presentar Gustavo.

Al llegar mi hora límite, agarré todos mis tiliches y me fui. Tomé el metrobus en Insurgentes y me fui menseando por todo el recorrido hasta llegar a la terminal. Me saltaron los ojitos cuando ví un Starbucks cerquititita de la estación pero recorde mi intención de no tomar café para no ponerme más nervioso. Sin embargo, la panza reclamó lo suyo y pasé al Burguer King que está a lado. Sin prisa pero rápido (no puedo evitarlo) comí mi hamburguesa y salí para recorrer el tramo desde la terminal del metrobus hasta la Facultad de Ingeniería.

El recorrer los extensos jardínes y ver la multitud de chavos y chavas me impuso bastante y a la vez me invadió una vaga melancolía, un sentimiento extraño de "no pertenencia" que me caló muy hondo. Con las manos húmedas y completamente desorientado seguí caminando hacia donde según mi memoria se encontraba la sede, claro, sin preguntar para no notar mi "no pertenencia".

Mi desasosiego se perdió al doblar la esquina y ver de reojo el gran anuncio verde del CONSOL, sin más, me dirigí con la inquietud de encontrar el registro y fanfarrosamente anunciarme como ponente. Fue fácil, estaba a la izquierda de la entrada principal y lo dificil fue conseguir un pedazo de voz para presentarme. En la impetuosidad de mis nervios llegué una hora antes de lo planeado, así que me puse a mensear un rato y a debrayar que hubiera sido de mi vida si la soberbia y ego no se hubieran impuesto. La espera fue larga, más larga que la hora que marcó el reloj, viendo a grupos de alumnos, amigos, amigas, bromear y saludarse efusivamente por la celebración del día.

El reloj marcó la hora pertinente y me acerqué de nuevo al registro para que me ubicaran en el espacio de la ponencia. No lo hubiera hecho. Cuando me llevaron al auditorio me temblaban las piernas y volví a sentir húmedas mis manos.

Era inmenso. Y practicamente vacío.

Faltaban más o menos 10 minutos para empezar y fui acomodando y conectando mi equipo, arrancando las aplicaciones para perder el menos tiempo posible esperando y el voluntario me preguntó si ya iniciaba. Al mal paso darle prisa. Con una breve introducción me aventaron al ruedo y cuando quede de frente a los espectadores prácticamente se me fue el alma.

En fin, ya estaba ahí. Con una voz vacilante, trémula por momentos (que bueno que no grabé nada) fui avanzando lámina por lámina, exponiendo el tema con algunos titubeos (todavía se me agolpan las ideas) y fui viendo como por partes de fue llenando el auditorio, bueno un poco más o menos que la mitad. Cuando llegó la parte de las demostraciones tomé asiento y definitivamente ahí me desconecté del escenario, simplemente era yo platicando lo que iba a demostrar y me fui explicando todo.

Algunas preguntas cayeron, las respondí lo mejor que pude. Seguí con la segunda parte de la demostración, corriendo los ejemplos en Linux (ahora si funcionaron) y cerré solicitando a la audiencia que me acribillara con preguntas. Afortunadamente no me fui en blanco y encontré a más de dos asistentes que me cuestionaron con varios puntos.

Di las gracias, me entregaron mis obsequios y me salí.

Me alcanzaron algunas personas y estuvimos comentando sobre el tema y cosas relacionadas. Y aún me di tiempo para asistir a dos conferencias más, platicar con algunos de los asistentes e intercambiar pato-aventuras con varios de ellos.

Finito.

miércoles, febrero 07, 2007

Pendejez a la mexicana

No se por donde comenzar...... Por el principio pués.

Checando los blogs de la comunidad del Software Libre, me encontré un post en el blog de Xiam que me dejó con los ojos cuadrados.

Resulta que diputados.gob.mx fue objeto de un Google Hack. Aparte de lo malo que es esto, resulta que se encontraron varios archivos piratas, videos pornos y demás menudencias.

Siendo actualmente también un empleado de gobierno, no me sorprende. :O. Pero tampoco es para tomarlo con ligereza. Existen incontables legiones de huevonazos, de jefe pa'rriba, que militan en los diferentes apéndices del Estado que conocemos como Secretarías. Y sí, como dicen, generalmente tienen esas particulares costumbres.

Hay que ser cerdos pero no tan hocicones.

Si la voy a tirar, la pongo en una bolsa o en una caja o agarró a un buen lamebotas para que se deshaga de mis detritus. Hasta para eso son idiotitas. En este caso agarraron a un (obviamente) inútil admin que tal pareciera que su empeño fue demostrar que los sistemas operativos libres son inseguros.

No puedo decir más. Me duele la panza de risa y coraje. Pa'más referencias:


Finito.

martes, febrero 06, 2007

Pater

El viernes pasado fue el cumpleaños de mi padre. 61 años. Si bien nunca ha sido muy afecto a las reuniones y celebraciones este año practicamente el organizó su fiesta.

Asistieron todos sus hermanos, mis primos y familia de parte de mi mamá. Y como acostumbra cuando es anfitrión estuvo re-te movido. La diferencia con años anteriores es que lo ví a gusto, féliz, animado.

Mi hermano le tomo una foto donde lo veo enorme, fuerte, sólido.

A los 9 0 10 años lo molestaba diciéndole que ya estaba viejo; el niño re-te inquieto, más o menos de la misma edad ya me lo ha echado en cara. Durante mi adolescencia muchas veces tuve que escuchar sus regaños, gritos y sermones. Hace poco el mayor de mis hijos me reclamó que no hago más que regañarlo, gritarle y sermonearlo.

Ahora soy padre. Si bien no tuve consciencia cuando nació mi primer hijo, después me cayó el veinte, y además de sentir la resposabilidad y entender el orígen de este cariño paterno-filial reencontré en mi el cariño por mi padre.

Siendo un hombre de pocas palabras, a veces tosco y mal humorado, mucho tiempo me quejé de no sentir cariño o aprecio de su parte.

Realmente, no importa. Quise, quiero y querré a mi padre, al igual que él a mí y yo a mis hijos.

Por toda la vida.

Finito.

Ponencia en CONSOL 2007

El asistir el año pasado al CONSOL fue una de las experiencias que más me ha motivado a continuar con la promoción y uso del software libre. Ver a chavos de prepa y universitarios con ganas de aprender, contrario a lo que pensaba, me emocionó. Y he de reconocer que me "medí" contra varios de los expositores que asistieron, dándome cuenta que me podía aventar y rifarme el boleto.

Pues bien, lo he hecho. Con la onda de evangelización sobre Mono, me animé a hacer una propuesta de ponencia y pues resulta que ahí está... en el calendario del CONSOL 2007.

Miércoles 14 de febrero, 15:30 horas
Auditorio 1 - Salón de Exámenes de Grado
Fac. de Ingeniería, Ciudad Universitaria.
Tema: Introducción al Proyecto Mono.


Algo que me ha limitado de andar invitando a diestra y siniestra, es que es un evento con regi$tro :(. Recientemente alguien me preguntó que si era software libre ¿por qué se cobraba al evento? Pues, para gastos de la organización, traer ponentes, papelería (posters, reconocimientos, gafetes, etc), sin embargo no descarto un escenario ideal donde no se cobrara un centavo.

A los que ya estén inscritos, los espero entonces; a los que no, los invito a inscribirse, no tanto por mí sino por todo el concepto de Software Libre.

Finito.

viernes, febrero 02, 2007

Java vs. Ruby

Java vs. Ruby


¿.NET vs Ruby?

Finito.

miércoles, enero 31, 2007

Un buen comienzo

Ayer se llevó a cabo la primera reunión de este año de la Comunidad .NET de la Cd. de México en el ya acostumbrado espacio en Intersoftware. Llegué casi desde el inicio. Me dió harto gusto ver que el aula que nos asignaron estaba casi llena. Rául Guerrero ya había iniciado su presentación sobre WPF, sin embargo no me perdí mucho de sus explicaciones.

Como todo un desarrollador, Raúl estuvo demostrando XAML e iba aplicando los cambios que nos iba explicando a manita. Real Man. Hasta la fecha ha sido la mejor demo de WPF que he visto, alcance a entender varios conceptos y la analogía que hizo sobre CSS ayudo bastante para aligerar el concepto.

Después, Octavio Télis en su acostumbrada exposición de temas avanzados (entry level diría él), continuo con el tema de delegados, eventos, métodos anónimos y su mezcla con tipos genéricos.

Y finalmente, un nuevo miembro en el equipo de expositores, Juan José Karam, se aventó una práctica introducción al manejo de versiones de código con VSTS.

Al lo largo de las exposiciones fueron llegando más personas a la reunión, al grado que tuvimos que salir a pedir sillas adicionales para acomodarlos. Raúl tomo algunas fotos de los expositores y la concurrencia, así que pronto nos verán en línea. Se repartieron varios souvenirs y al final hubo la esperada rifa de dos libros de Microsoft Press.

También tuve el gusto de encontrarme con Alfonso Lara, un excelente desarrollador y amigo y platicar un rato junto con los demás expositores en "after-hours". Espero que para la próxima reunión nos puedan asignar un aula más grande. Seguramente se va a necesitar con tanta demanda.

Finito.

viernes, enero 26, 2007

Pluralizando

Una de las cosas más excitantes de Rails son los generadores. Son scripts Ruby que generan (¡oh sorpresa!) código Ruby con diferentes fines. Existen varios tipos de generador: controller, migration, model, view, etc. Cada uno crea varios scripts y directorios con las funciones mínimas del tipo escogido y con las referencias a los módulos necesarios.

Así, tenemos que al usar el generador de modelos, le pasamos un parámetro que es el nombre y genera una clase, un conjunto de pruebas y la correspondiente migración para crear la tabla en la base de datos.

Para generar todos estos archivos, se usan plantillas y además algunas funciones del framework para nombrar clases y archivos. Recordemos que Rails tiene un principio

Convention over Configuration


Esto significa que se prefiere usar estándares para los nombres de clases, tablas, objetos, referencias y demás items en lugar de estar generando mega-archivos de configuración (web.config o web.xml por ejemplo). Por ejemplo, al usar

./script/generate model account

se crea un modelo Account que se compone de los siguientes archivos y directorios:

Modelo: app/models/account.rb
class Account <>

Prueba: test/unit/account_test.rb
require File.dirname(__FILE__) + '/../test_helper'

class AccountTest <>

Fixture: test/fixture/accounts.yml

Migración: db/migrate/XXX_add_accounts.rb
class CreateAccounts <>

Si observamos un poco el código generado se verá que a partir del nombre del modelo "account" se han derivado varias etiquetas para cada uno de los items:





Mi modeloaccount
Nombre de claseAccount
Clase de pruebaAccountTest
Tabla en la BDaccounts

Se puede ver que el nombre de modelo se le aplica el estilo Pascal (CamelCase) para obtener el nombre de la clase y que se hace en plural para el nombre de la tabla en la base de datos. Y esto aplica incluso en sustantivos irregulares, por ejemplo:





Mi modeloperson
Nombre de clasePerson
Clase de pruebaPersonTest
Tabla en la BDpeople

"Person" => singular, "People" => plural. Brillante ¿no?

Pero..... todo se maneja en inglés :( Yo no spiko spaniol.

Como siempre el gran dios google tiene varias respuestas. La primera la encontré en HackerDude que nos habla de algo llamado "Inflector" (¿alguien cursó latín o alemán?) y encontré todavía más detalle en BlogOnRails. De inicio es algo harto sencillo: expresiones regulares. Se tienen que agregar o sustituir varias expresiones regulares para que Rails sepa como hacer plurales o singulares, algo como esto:

Inflector.inflections do |inflect|
inflect.plural /$/, ‘es’
inflect.plural /s$/, ’s’
inflect.plural /z$/i, ‘ces’
inflect.plural /([aeiou])$/i, ‘\1s’
inflect.plural /_(.*)$/, ’s_\1′
inflect.singular /s$/i, ‘’
inflect.singular /ces$/i, ‘z’
inflect.singular /(.*)s_(.*)/i, ‘\1_\2′
inflect.irregular ‘user’, ‘users’
inflect.irregular ‘estado_civil’, ‘estados_civiles’
inflect.uncountable %w( pantalones )
end


Y ¡listo!. A probar con:





Mi modeloorganizador
Nombre de claseOrganizador
Clase de pruebaOrganizadorTest
Tabla en la BDorganizadores

Este esquema no es perfecto, pero es pragmático ;)

En otro orden de ideas, ya está agendada la siguiente reunión de la Comunidad .NET de la Cd. de México, la orden del día es la siguiente:

Utilizando Delegados (Segunda Parte) - Octavio Telis
Estilos y Control Templates en WPF - Raúl Guerrero
Source Control en Team Foundation Server - Juan Karam
Por Confirmar Tema - Héctor Obregón

El lugar y la hora:
Fecha: Martes 30 de Enero
Horario: 7:00 a 9:50 p.m.
Lugar: Intersoftware Training
World Trade Center - Piso 35
Mexico D.F.

Y todavía pa'que se animen, habrá rifa de libros entre los asistentes. ¡Qué esperan! Nos vemos el próximo martes.

Finito.

martes, enero 09, 2007

Yo quiero uno asi

Después de varios rumores y chismes y demás, apareció finalmente el mentado iPhone.

Como es común, el anunció se hizo durante el CES de este año. El CES es el evento que aprovechan la mayoría de los fabricantes de productos electrónicos para anunciar las novedades que estarán comercializando a partir de este año y las maravillas que ya están probando para seguir extrayendo dinero de los pobres consumidores.

He aquí que Steve Jobs aprovechó el espacio para anunciar el iPhone.

Recuerdo que alguna vez se hizo una encuesta/discusión acerca de que item te sería más útil se te quedarás en un país extranjero sin maletas, ni nada a cuestas. Las opciones eran:
  • Tu PDA
  • Tu laptop
  • Tu teléfono celular
Finalmente, el ganador en la encuesta y la discusión fue el teléfono celular. Es increíble el grado de dependencia que puede llegar a tener uno en semejante dispositivo y es que es algo muy, muy, muy personal. Casi como el cepillo de dientes. Al menos, el mío así lo veo.

Y además, creo que bien usado (y equipado) en el perfecto companion de casi cualquier persona. La industria de los teléfonos celulares ha venido haciendo ofertas cada vez más interesantes pero definitivamente nada como lo que se presenta con el iPhone.

Es que eso de mezclar comunicación, entretenimiento, movilidad, integración, facilidad de uso y además ser internet-enabled no es nada fácil. Y una vez más Apple da el primer golpe: el que pega primero, pega dos veces (iPod (!) vs. Zune (?)).

Inmediatamente se me vino a la memoria el monito (Allard?) que dirige la nueva serie de productos de consumo en Microsoft, el papá conceptual de Zune que usa como motivación el video ese de Steve Jobs donde más o menos dice algo así:
El problema con Microsoft es que simplemente no tienen buen gusto. Simplemente no lo tienen.

Y vaya que si tiene razón.

Finito.

jueves, enero 04, 2007

And the winner is...

Curt Hibbs ha publicado en su blog, la referencia al índice TIOBE en la cual declaran como lenguaje de programación de 2006 a Ruby.

We are glad to announce that Ruby has become "Programming Language of the Year 2006". Ruby has the highest popularity increase in a year of all programming languages (+2.15%). Runner up this year is JavaScript with +1.31%. Both languages are boosted by their corresponding frameworks, Ruby On Rails and Ajax.
Voy terminando de leer Ruby on Rails: Up and Running y si bien el libro puede mejorar significativamente, lo que me sorprende completamente es Rails. Rails es un marco de desarrollo basado en Ruby, se conoce por casi increible capacidad de generar una aplicación "completa" en minutos. En lo particular me parece una perfecta implementación de una fábrica de software. Tendré que preparar un post más completo para sustentar el último dicho.

Todavía falta que lo vea en un sistema en producción, no conozco ninguno todavía y también explorar Rails al grado de ver que más puede generar aparte de aplicaciones web (¿servicios web? ¿integración?) y también, seguramente debe existir algo similar implementado con .NET o Mono (¿Monorail?).

Ruby es un lenguaje interesante. Todavía no lo entiendo del todo, como que no aplica el clásico ejemplo del "Hello World!" sin embargo tiene una simplicidad aparente que con Rails raya en lo ridículo. Pa'muestra un botón:

class Photo < ActiveRecord::Base
  has_many :slides
end

class Slide < ActiveRecord::Base
  belongs_to :photo
end

Con este par de declaraciones se ha realizado una relación uno-a-muchos. Así nomás. Y funciona ¡eh!. Tienes una consola que carga tu modelo de dominio, o sea tus clases, y puedes ir probando al vuelo tus objetos.

Hasta miedo tengo de voltear a .NET y Mono. Ahora los veo de manera distinta.

Finito.

martes, enero 02, 2007

Numeralia

Mes con más visitas: Noviembre (450+)

Los tres links más visitados:
  1. http://chilli-coder.blogspot.com/2006/07/fbricas-de-software-la-otra-visin.html
  2. http://chilli-coder.blogspot.com/2006/05/da-vergenza.html
  3. http://chilli-coder.blogspot.com/2006_09_01_archive.html
Estadística en imágenes



Visitantes a la fecha: 2,421 desde el 1 de agosto de 2005.

Visitantes por venir: 1'000,000,000 :D

Finito.

domingo, diciembre 31, 2006

Cinco minutos antes de la cuenta atrás

Este es el segundo año que cierro con el blog. Me sigue sorprendiendo lo útil que es esta memoria electrónica. En primera, por la certeza de voltear atrás en el tiempo y ver como voy cambiando con el paso del tiempo, cosas que dije, pensé y también en las que cambié de parecer. Si bien este blog está muy orientado a tecnología, en algunos momentos se han entremezclado cosas de mi.

¿Cuál es este resumen de este año? Me cuesta trabajo decirlo ahorita mismo. Generalmente no pongo mucha atención a lo que ya se hizo. Vivo constantemente pensando en las cosas que quiero hacer. Por eso me es útil esto del blog. Puedo volver unos meses atrás y verme desde fuera.

En las cosas que quiero hacer el próximo año, solamente tengo grandes esbozos. No soy del tipo de Mitch Deny que hace una planeación muy precisa, pero interesante de sus planes del siguiente año.

Lo que quiero hacer el año que viene es lo siguiente:
  • Evangelizar sobre Mono a quien quiera y a quien se deje :D.
  • Aportar algo al proyecto Mono, sobre todo en la parte de colas de mensajes y la implementación de Olive.
  • Ganar experiencia con Ruby
  • Sacar adelante y promocionar el concepto de SOA a la Mexicana
  • Producir un podcast.
  • Crear un grupo de usuarios de Mono.
Me faltan incluir aspectos personales, de trabajo, familiares y demás. Todavía no están del todo definidos.

Solo me resta agradecer a aquellos que se han tomado el tiempo de leer mis oblicuos pensamientos y doblemente agradecer sus comentarios. Les deseo un año 2007 con mucho trabajo, con retos, algunos fracasos y muchos triunfos y que al final se sientan satisfechos con lo que consiguieron.

¡Féliz Año 2007!

Finito.

miércoles, diciembre 20, 2006

Fin de Temporada

Ayer se llevó a cabo la última reunión de la Comunidad .NET de la Cd. de México. Atendiendo a la convocatoria y por lo significativo de la reunión asistí con mucho gusto. Me parece muy importante resaltar y agradecer el trabajo que han venido haciendo Héctor Obregón, Octavio Télis, Raúl Guerrero y varios más que tomaron como suyo el compromiso de mantener viva la comunidad. No puedo decir más que ¡gracias!

Vi varias caras nuevas, espero que les interese participar en las siguientes reuniones y que se sumen a este espacio de colaboración. Lo importante es que la comunidad crezca y se vaya alimentando con otros puntos de vista, otras necesidades y nuevas ideas que compartir.

Raúl anda clavadísimo en el tema de Serialización y ayer dió una excelente presentación del tema. Yo anduve medio oyendo ya que me preguntó que si podía aventarme la presentación de Mono que compartí la vez anterior en petit comite. Con todo gusto le dije que sí y me pasé repasando la presentación durante su exposición.

A continuación estuvo Octavio Télis platicándonos acerca de los delegados. Algo que me llama la atención de Octavio es su casi enciclopédico conocimiento de .NET.

Finalmente, fue mi oportunidad de pararme al frente y hablar de Mono. Me fuí más o menos rápido ya que los conceptos son idénticos a pesar que los conocemos con distintos nombres (CLI vs. CLR, MSIL vs. CIL, etc) y la presentación simultánea de ejemplos .NET y Mono creo que siempre es de interés para la audiencia (hasta la fecha no se han quejado). A los lectores del post anterior no les caera de extraño cuando mencione que pasó al hacer el cambio a Ubuntu para hacer las demos sobre Linux. Simplemente no funcionaron :@ Resulta que no instalé todos los paquetes necesarios y puras fallas. Simplemente no arrancaron.

Raúl, como el tipazo que es siempre, me dijo que no me estresara, que es normal que pase en medio de cualquier presentación. Alguien que también me brindo su apoyo fue Akin0, que llegó casi desde el inicio de la reunión. Con el gusto de dar a conocer Mono y estas muestras de solidaridad ¿qué más puedo pedir? :D

Un punto interesante fue la pregunta de uno de los asistentes de primera vez (creo que de ¿tacsa? o algo así...) fue de como hacer que dos aplicaciones se comunicaran entre sí. Esto fue como una chispa que se anidó en mi cabeza y en algún momento de la madrugada y después de la charla que nos reventamos de regreso a casa Akin0 y yo dió como resultado la idea de SOA a la Mexicana.

Si, si, si. Ya se que no van a faltar las incontables comparaciones con el famosísimo podcast de Carlos Madrigal Proyectos a la Mexicana, pero buscaremos que tenga su propio sabor. El punto es dar a conocer como hemos ido entendiendo los conceptos de integración, SOA, ESB y demás con las experiencias en el trabajo durante los últimos dos años. Hablo en plural (hemos) por que para realizar esta idea voy a tener la ayuda de dos excelentes amigos y compañeros de trabajo: Gustavo de la Cruz Tovar y Javier "El Tuzo" Cortes López.

Ya vendrán más detalles de SOA a la Mexicana. No se desconecten.

Finito.

lunes, diciembre 18, 2006

Mudanzas y encuentros

A veces me desespera ser tan desesperado. Siempre busco la ruta del mínimo esfuerzo aún y cuando sea más esfuerzo hacer el cambio. El último cambio fue de distro.

Por enésima vez cambié la distro que tenía instalada en mi laptop. Ahora fue de Ubuntu a Fedora. ¿La razón? Tener acceso más fácil a las últimas versiones de Mono. Sin embargo después de unos meses de trabajar con Ubuntu el cambio no fue tan fácil como pensé de inicio.

Ya tenía a la mano el DVD para instalar Fedora en su versión 5, sin embargo, por ganas de desperdiciar ancho de banda descargué la imagen para FC6 solo para ver en la página de descargas de Mono que solamente soportan hasta la versión 5. Pus bueno, agarré mi DVD y ¡órales! a instalar. La siguiente actividad fue la consabida actualización de los paquetes instalados, cosa que en mi caso significaban cerca de 600 MB de descarga.... ¡qué onda w!

Pus aún y así colgué mi noble yegua a la pichurrienta red de la ofi para ver con asombrosa impaciencia el goteo de bits de la red. Y pasó un día, dos, tres, cuatro y me cargó la tiznada. Mi transparente paciencia se pegó un tiro y al querer buscar el modo de acelerar descargas, me encontré un plugin para yum que segúnesto es para seleccionar los mirrors más rápidos. Si pero no. Como fuí descargando por grupos ya que me fue imposible dejarla más de 4-6 hrs conectada, iba seleccionando que si por letra, por tamaño, por paquete, por hora, por lo que fuera tratando de desmenuzar el mazacote de descargas que tenía en las manos.

Entre todo ese malabar de paquetes, sitios, versiones y conexiones se batieron los datos de los repositorios. Varios curiosos mensajes aparecieron al momento de hacer el famosísimo "yum update" para que al final resultara que ningún mirror podía validarse contra las firmas que tenía registradas. Aplique la mentada formula de "yum clean all; yum makecache" y conseguí hacerlo funcionar un par de veces más pero fue todo. De ahí se me ocurrió quitar el maravilloso-plugin-acelera-mirrors y mejoro un tantito la cosa pero con un par de descargas llegó al mismo final.

'Tons que agarró y que instalo de nuevo FC5 (que ganas de perder el tiempo ¿no?) y ahora no me hice del maravillosos-plugin-acelera-mirrors para las actualizaciones. Y pasaron uno, dos, tres, cuatro días y yo sin terminar. Siempre los mismos mirrors, siempre la misma lentitud, siempre un buen de tiempo perdido. 'uta madre. :@

Y además, no me encontraba del todo cómodo. FF 1.5, Evolution 2.6, usuario root para instalar (aprendí a configurar sudo pero por ahí algo me late que también influyo en la revoltura de repositorios). No, no, no.

De vuelta a Ubuntu. Lo primero que noté (bueno, ya lo había notado antes pero no le di importancia) es el hecho de que existe un repositorio Ubuntu para México (http.//mx.archive.ubuntu.com) que si bien no sé si se encuentra físicamente aquí en México, al menos atiende las peticiones de volada. Y además como Ubuntu viene con las versiones más recientes de sw, me siento más a gusto. Y menos tiempo perdido. La única desventaja es la lentitud respecto a las actualizaciones de Mono ¿qué tan difícil es hacer paquetes para Ubuntu? :S

La otra cosa interesante de la semana pasada son libros. Un bonche de libros. Gustavo decidió que era tiempo de comprar libros y pus le encargue mi lista (que no son muchos) y ya llegaron.

En mi breve selección se encuentran Software Factories por Greenfield et alias, Microsoft Windows Comunication Foundation: Hands on! por McMurty et alias, Practical Software Factories with .NET por Lenz y Enterprise Integration with Ruby por Schmidt, éstos último en versión electrónica, amén de otro bonche de libros que encargó Gus.

Entre los otros libros, encontré Ruby on Rails: Up and running por Tate, el cual de una manera sencilla te va introduciendo al mentadísimo mundo de Rails: metaprogramming, scaffolding, ActiveRecord, etc. Mucho de lo que he visto de inicio me hace un deja vù con las software factories. No tengo muy definida la idea, voy a tener que amarrar más conceptos.

En la parte de Ruby, me encontré con algundos feeds y lo más sorprendente con un incipiente grupo de usuarios Ruby en la Cd. de México. El breve perfil del organizador lo presenta como un ingeniero de soporte Rational de IBM ¿? El grupo lo viene anunciando en dos lugares Google Groups y Yahoo! Groups así que si les interesa apúntense.

Por último, mañana se realiza la última reunión de la Comunidad .NET de la Cd. de México en el lugar acostumbrado (WTC, piso 35, Intersoftware).

Finito.

martes, diciembre 12, 2006

Más voces sobre Open Source y .NET

Algunos bloggers, MVP's y desarrolladores han empezado a comentar acerca del pobre avance del movimiento Open Source en relación a la tecnología .NET.

Entre los que han comentado se encuentran Ayende (NHibernate), David Hayden (MVP C#), Jeremy D. Miller (Agile advocate) y como abogado del diablo Frans Boume (MVP ASP.NET).

El punto es la siempre infaltable comparación con la comunidad Java que ha producido hartos proyectos OS, ya sea bajo la tutela de IBM, Sun, Red Hat o whoever. Se comenta la actitud que ha la fecha ha tenido Microsoft (ni te veo ni te oigo) respecto a los pocos proyectos que existen en .NET y como al final lo único que han demostrado es que le gustan las ideas, pero no compartir.
  • NDoc -> Sandcastle
  • Spring.NET -> ObjectBuilder (bueno, más o menos)
  • NUnit -> MS Test
  • Log4net -> Logging Application Blog
Mi punto es que es seguro, un axioma de hecho, que Microsoft no va a fomentar proyectos Open Source. Por eso mi apuesta por Mono. De no ser así, jamás hubieran visto la luz implementaciones No Windows. Entonces, se debe arrancar como se ha hecho hasta ahora, aunque sea "copiando" proyectos Java exitosos (Ant, JUnit, Spring, Hibernate, IBatis) para poco a poco ir madurando ideas "propias" , esto último suena medio limitado y egoísta. Al fin y al cabo estamos resolviendo los mismos problemas con los mismos conceptos (los patrones son independientes de la plataforma ¿cierto?

Una vez más regresamos a la gente, a la confianza, al compromiso, a los intereses comunes. Más que una empresa, estos valores e ideales deben ser el motor de cualquier comunidad. Incluso esta potencial comunidad tecnológica.

Finito.

Google entra al juego de las patentes

Por medio del blog de NeCuDeCo me entero que Google ha conseguido una patente sobre la interfaz gráfica de usuario :S ¡que onda!

Las patentes no son buenas, hacen daño, dan pena y se acaba por llorar....

Finito.

lunes, diciembre 04, 2006

Una API para comunicar a todos

Windows Communication Foundation (WCF) es una interesante plataforma de integración. Consolida varias de las tecnologías disponibles en Windows de MOM (Message Oriented Middleware) en una sola API.

En el proyecto Mono existe el subproyecto Olive cuyo objetivo es conseguir una implementación de las API's de WinFX/.NET3 entre las que se incluyen WCF. Sin embargo considerando la no dependencia de plataforma inherente a Mono, se ha dejado fuera el soporte a MSMQ. La razón es obvia: no existe fuera de Windows.

Sin embargo, el soporte de colas (queueing) es uno de los factores que consiguen soportar grandes volumenes de transacciones en ambientes empresariales. En lo particular creo que MSMQ ha sido desgraciadamente desaprovechado y prácticamente ignorado por varios arquitectos. Con WCF, se presenta de nuevo como una herramienta más a nuestro alcance y creo que también debe formar parte de Olive pero ¿cómo resolver la ausencia de MSMQ en otras plataformas?

De inicio pienso en ActiveMQ. Un proyecto Apache que también ha sido utilizado en algunos proyectos ESB Open Source. Una ventaja que recientemente ví es que funciona (al menos en la doc) en Windows y en Unixes. Igual y se puede pensar en IBM WSMQ que tiene el mismo soporte multiplataforma. La idea es entonces, construir una implementación abstracta de queueing para WCF y construir implementaciones especificas para diferentes productos. Y después integrar esto en Mono de manera que se complete el alcance de Olive.

Existe un pequeño inconveniente. Estoy en el proceso de aprender WCF :D. Esto implica que paso mucho tiempo en Windows para estar consultando la documentación en línea. Si bien también está disponible en MSDN, estoy limitado por la disponibilidad de una conexión a internet. El punto final es que voy a trabajar más tiempo en Windows y de ahí se deriva otro pequeño reto, la facilidad de compilar Mono en Windows.

La documentación que existe hace referencia a cygwin como "plataforma" para construir Mono en Windows. En el sitio de Paul Johnson existe una detallada guía para preparar el ambiente ya que requiere una combinación muy específica de versiones de las herramientas de construcción que realmente no he conseguido armar.

Pero bueno, los puntos a conseguir son los siguientes:

- Aprender WCF, particularmente los puntos de soporte a queueing.
- Aprender ActiveMQ y su binding con .NET
- Descubrir o crear el API para una integración genérica de WCF con productos de queueing.
- Llevar este código a Mono.
- Aprender a configurar un ambiente para compilar Mono en Windows.

Voy a abrir otro backpackit para darle seguimiento a este asunto.

Finito.

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.

jueves, octubre 26, 2006

Escuchen: el Mono está hablando

Como se va haciendo más común, los podcasts son un nuevo medio de comunicación masiva y en ésta ocasión llega al proyecto Mono.

MonoCast es un proyecto de reciente creación que publica podcasts especialmente orientados a Mono. En estos días, también incluyen video de algunas sesiones del Mono Meeting.

Entonces, ¡escuchen!

Finito.

Getting Real: Libro en línea

37signals es una pequeña empresa que se ha embarcado en la ruta de Ruby y ha hecho varios hits en la industria web.

Hace algunos meses decidieron compartir sus experiencias y publicaron un libro titulado "Getting Real: A smarter, faster, better way to build software". Ahora lo comparten gratuitamente en línea.

Entre los sitios que ha publicado se encuentran:
En lo particular, soy usuario de Backpack como repositorio de ideas, notas y pendientes y la experiencia de usuario me ha dejado satisfecho. Los Basecamp y Campfire están más orientados a empresas y el resto fueron como que sus pinininos.

De alguna manera han condensando parte de sus experiencias al construir estos sitios y si después de usarlos no te interesa ver detrás de las cortinas, vuélvelo a pensar por que te puedes perder de algo.

Finito.

Ubuntu Edgy 6.10 liberado

Se adelantó un par de días de lo anunciado pero hoy ya se encuentra disponible para su descarga Ubuntu Edgy.

A diferencia de Drapper 6.06, Edgy no será distribuido en CD, pero como todos ya estamos embarcados, ni modo, a descargar ISO's o en el mejor de los casos por BitTorrent.

Finito.

miércoles, octubre 25, 2006

Finaliza Mono Meeting

Hoy se publicaron una serie de presentaciones que se dieron en el transcurso de Mono Meeting.

La que me pareció más interesante (al menos fue la primera que vi) fue la presentación inicial en la que se hace un resumen y se plasma el futuro inmediato del Proyecto Mono.

La historia es conocida. Vivimos actualmente con esos frutos. Pero el futuro todavía está por venir.

Me parece importante el anuncio acerca de la implementación de las API's de WinFX/.NET 3.0 que se estarán concluyendo para el Q3 de 2007 en base a un proyecto que en este mismo evento se anunció: Olive.

Si bien, ya se había iniciado la transición a .NET 2.0, misma que culminará en el próximo, proximisisisisimo noviembre y con esfuerzos de empezar con la implementación de Windows Workflow Foundation, no se había concretado la posición en relación a todo el nuevo (por fechas, no por novedad ni por innovación) concepto de WinFX/.NET 3.0.

Pues bien, ya tenemos nuevo mapa. Sigamosle.

Finito.

martes, octubre 10, 2006

Comandos más usados

Siguiendo la línea de varios blogs linuxeros, va mi lista de comandos más utilizados:

martin@interoper99:~$ history | awk '{print $2}' | awk 'BEGIN {FS="|"} {print $1}'|sort|uniq -c|sort -rn|head -10
57 ls
16 exit
15 clear
14 cd
12 wget
11 telnet
11 make
10 tail
10 cat
9 sudo

Finito.

lunes, octubre 09, 2006

Reseña de citekna.06

Como había comentado, el jueves pasado tuve la oportunidad de exponer en el marco de citekna.06, una conferencia organizada en el Poli.

Pues bien, no hay plazo que no se cumpla y finalmente llegó el jueves. Por el horario llegué fácilmente al Poli y como ya conozco más o menos la disposición de los edificios me fácil encontrar el espacio dedicado a citekna.06. Lo primero que vi fueron los stands de los diferentes expositores, particulares, escuelas y alumnos del Poli y empresas.

Más adelante encontré el stand de registro y a la organizadores, Verónica Tromavala, que me recibió y me dijo tenía programada una pequeña entrevista y que todo estaba listo para la presentación. Así que me acompoñaron al área de entrevistas y fue breve pero muy chistoso. Fui el primer entrevistado del día así que la chavita que estaba encargada de eso estaba bastante nerviosita. :D

Erán como las 10.15 y mi exposición empezaba hasta las 11.00, así que me invitaron a la conferencia magistral que trató sobre centrales hidroeléctricas. Interesante tema, interesante cifras $$$$$.

Estuve escuchando hasta que estuvo a punto de ser las 11.00. Llegué el auditorio y me encuentro que me tocó un "host" muy nerviosito y medio impetuoso. ja. Los primeros problemas fueron con la conexión electrica del proyector, que estuvo muy rústica y no permitía que se conectaran más aparatos en el mismo espacio. Terminaron quitando la extensión y acomodando la mesa para acercar el cable del proyector a la conexión eléctrica y fue cuando ya saqué mi laptop, la arranqué, arranqué mi presentación, monodevelop y el "guorchoc" (Workshop).

Yo iba bien emocionado con mi equipo con Ubuntu para hacer la presentación. Y fue cuando sucedió el gran problema: no conseguí hacer que el proyector tomara la señal de mi laptop :S.

Originalmente hice la presentación con powerpoint y como la traía en usb, tomé la laptop de mi anfitrión y ¡órale! a empezar por que cuando me despegué de mi lap me di cuenta que ya había entre 40 y 60 chavitos y chavitas esperando que empezara. :o

Me entró algo de pánico escénico y en lo que me presentaron, respiré profundo y empecé. Me fui algo rápido por que ya se habían perdido alrededor de 5 minutos y solo tenía 30 para exponer :S. Y fui, lámina tras lámina, viendo algunas caras de what? algunas caras interesadas, algunos tomando fotos o video con su cel. Cuando llegó la lámina del demo, con la cola entre las patas les expliqué las broncas que tuve y ofrecí a cualquier interesado hacer la presentación "in situ".

Desde mi punto de vista, la hora de la verda' son las preguntas. Me ha tocado que las presentaciones son tan banales que no vale la pena preguntar o que son taaaan elevadas que ni siquiera consigo formular una pregunta coherente. Para mi fortuna, hubo algunas preguntas que contesté de la manera más precisa posible.

Con eso di por terminada la presentación y mi impetuoso anfitrión se alegró ya que me comí como 5 u 8 minutos del siguiente expositor. ja.

La mejor parte fue cuando se acercaron 4 o 6 chavos y me pidieron que les hiciera el demo. Empecé leve, pero me invitaron a salirme ya que el expositor estaba a punto de iniciar. En un stand vació, nos acomodamos y les expliqué todo el demo, platicamos un poco de la tecnología y se despidieron.

Terminé con un recorrido con más calma de los stands. Encontré uno que me interesó bastante y se trataba de un sistema de fuzzy logic para el modelado de sistemas. cool!.

En fin, tengo como tarea encontrar que carajos falló y espero que a los muchachos se les haya alborotado la hormona por Mono.

Aquí encontrarán la presentación en formatos PowerPoint (916 Kb) y OpenOffice (506 Kb).

Finito.

martes, octubre 03, 2006

Conferencia sobre MonoDevelop

Miguel de Icaza anunció hoy que Lluis Sánchez impartirá mañana una conferencia en la Facultad de Ciencias de la UNAM. Lluis estuvo la semana pasada en el Festival de Software Libre en Puerto Vallarta y aunque anunció que tomaría un par de semanas de vacaciones en la Cd. de México y Chiapas, parece ser que lo convencieron de exponer. La plática gira alrededor de MonoDevelop del cual Lluis es Líder de Proyecto en MonoDevelop y participa en varios proyectos de Mono y Gnome.

Finito

jueves, septiembre 28, 2006

Realmente ágil...


En el post que comenté anteriormente donde se menciona la política laboral y organizacional de Google, señala bien clarito lo importante que es para ellos entregar novedades lo más rápido e improbablemente posible. Para muestra basta un botón.

Hace unos cinco minutos entré a Google Reader y resulta que los muchachitos de Google cambiaron completamente el look & feel y la funcionalidad de este servicio. Si bien el cambio visual es impactante, la funcionalidad es de terror.

Hay una barra de navegación a la izquierda que presenta los tags con los que se clasificaron los feeds y además un indicador visual de cuantos posts hay sin leer. Cuando tienes un bonche (20+) de feeds que te revientas en la mañana o tarde junto con un café y una galleta, buscas ser un poquito selectivo, estuve pensando como organizar mis feeds y se me ocurrian categorías, sin embargo me quede corto de vista ya que ¡enfrente de mi estaban los tags!.

En fin, esta muy chido.

Finito.

citekna.06

Pues resulta que el próximo jueves 5 de octubre estaré participando en citekna.06, un evento organizado por la Unidad Profesional Interdisciplinaria en Ingeniería y Tecnologías Avanzadas del Instituto Politécnico Nacional en el que presentaré el tema Introducción al proyecto Mono a manera de interesar más gente en el uso de estas tecnologías y buscar integrar a más desarrolladores en las filas del movimiento del software libre.

La exposición se va a realizar en la sala Jaime Sabines del Centro Cultural Jaime Torres Bodet, de las 11.00 a las 11.30 (creo que es reducido el tiempo).

De igual manera les contaré como es que me fue en esta presentación.

Finito.

Tableros de Control

Leyendo el blog de Rob Caron, del equipo de VSTS, encontré una referencia a Eric Lee, quien se ha encargado de traer más management al desarrollo :$

Eric Lee también forma parte del equipo de VSTS y tuvo la ocurrencia de construir un tablero de control para los datos que se generan en Team Foundation Server. Cool!

No soy manager, pero esos indicadores visuales me parecen harto prácticos. Es como el motto "Red, Green, Refactor" del unit testing. Cuando ves el cambio de rojo a verde, sabes que vas en buen camino. En el tablero de control es similar. Puedes ver como va cambiando cada uno de los indicadores de desempeño y actuar en consecuencia.

Desde el punto de vista de negocio es perfectamente normal, la novedad es la integración con VSTS.

Finito.

miércoles, septiembre 27, 2006

Ser o no ser.... ágil

Las metodologías ágiles siempre dan de que hablar. Y más con la proliferación que se ha dado de las mismas. Sin embargo, a pesar de todas las historias de éxito que nos llegan por los diferentes medios, parece que siguen siendo lugares paradisiacos donde trabajan de esta manera.

¿Cuanta gente trabaja hoy en día con una metodología ágil? Que levanten la mano.

Hace tres o cuatro años trabajaba de manera ágil. A la hora de la salida, invariablemente el director llamaba a una reunión donde se exponía un problema que sin dudarlo era resuelto con una mini-aplicación cuya primera revisión era a las 9.00 del día siguiente, sin importar la hora a la que terminara la reunión en curso. Creo que el intervalo más pequeño fueron 6 horas.

No es que fueras a desarrollar ERP's o nóminas o algún tablero de control (bueno, este último sí), generalmente fueron aplicaciones muy específicas de usar y tirar. Pero, después de la primera revisión, seguían varias hasta que terminaba el ciclo de vida de la aplicación, días o semanas y seguíamos con una nueva.

Eso es ágil. O al menos así lo veo ahora :D

Hoy encontré a Steve Yegge y un post harto, harto, harto interesante al respecto de las metodologías ágiles. Les pega y les pega duro sacando a colación la cultura organizacional y laboral de Google. Si bien él tiene la oportunidad de trabajar en una organización dedicada al desarrollo de software, no a todos nos ha llegado esa oportunidad.

Léanlo, coméntenlo, compártanlo.

Finito.

viernes, septiembre 22, 2006

100

He aquí el post número cien en mi blog.

Es increíble lo rápido que se pasa el tiempo y el gusto que le he agarrado a esto del blogging.

Quisiera agradecer a todos los lectores, regulares y de una sola vez por permitirme taladrar sus ojos y mente con mis palabras, ideas y demás telarañas que aparecen en este blog.

Invito a todos a participar con sus comentarios, sugerencias y críticas para este espacio.

Finito.

Flash! Flash! Flash Informativo!

Interop Forms Toolkit 1.0 permite presentar WinForms desde una aplicación VB6. En lugar de actualizar todo el código de la aplicación te la llevas tranquis, tranquis migrando formulario por formulario.

Windows XP al alza, Mac a la baja
Al menos en cuanto a proporción en el mercado de sistemas operativos pero ¿incluirán las instalaciones de Windows XP sobre las nuevas MacPro?

Microsoft vs. Unión Europea: Golpes bajos, arreglos bajo el agua, competencia desleal y más en el capítulo de esta semana.

William Henry Gates III a los 50 años, 53 billones de dólares ¿pa´qué jugamos al "melate"?

Finito.

Conferencia y Expo SG'06

El miércoles pasado arranco la Expo SG'06 en el WTC, evento organizado por la revista Software Guru. No sé si es la primera vez, pero a mi gusto estuvo algo reducido el número de stands. El motivo de mi asistencia fueron las presentaciones de la Comunidad .NET de la Cd. de México.

De inicio, Ana Dueñas de Financiera Independencia nos presentó el trabajo que realizó en desarrollo de dispositivos móviles para agilizar los procesos de verificación de los datos de los solicitantes de micro-créditos y cobranza a clientes morosos. En lo particular me interesó bastante esta exposición ya que a finales del año pasado y a principios de este me involucré en el desarrollo de un sistema similar para un start-up del mismo giro.

Después, Iván Salazar, Gerente de desarrollo de esmas.com, presentó sus experiencias adquiridas en el desarrollo del portal de música en línea Tarabú. Algo que aprendí de esta plática fue de la existencia de los proveedores de cacheo. Esto salió a colación debido a la pregunta acerca de como se preparaban para enfrentar picos en las visitas al sitio debido a lanzamientos o por temporadas. También presentó la más reciente versión de su Smart Client (extrañamente parecido a iTunes :P ) que incluye el acceso al servicio de ventas de películas y video que próximamente se va liberar.

Casi al termino de las presentaciones, llegó alguien del staff del evento y nos invitó a la Noche de Casino que se iba a llevar a cabo, así que... pus fuimos :D

Estuvo mmmuuuuyyy bien. Mucha diversión, mucho ambiente. 2/3 drinks para desestressarse y conocer gente. Saludos a Abraham Luna y Edmundo de Vision Consulting y a Gustavo May que vino desde Mérida, Yucatán ¡Bomba!

¡Ah! Por cierto, se confirmó que el próximo martes 26 de septiembre se llevará a cabo la ya acostumbrada Reunión Mensual de la Comunidad .NET en las oficinas de Intersoftware (WTC, piso 35) ¡No falten y ojalá que la gente que estuvo en SG'06 nos acompañen!

Finito.

jueves, septiembre 21, 2006

Software Factories desde itasca

Desde el inicio ha sido una extraña relación, muy ambigua por momentos. Si bien el término no me agradó, este nuevo sabor me va gustando cada vez más.

Estoy hablando de las fábricas de software. En particular de la propuesta de Jack Greenfield y Mauro Regio que han venido desarrollando y pronto se integrará por completo en las herramientas de desarrollo de Microsoft.

De hecho, ayer por la mañana tuve la oportunidad de platicar directamente con Mauro Regio acerca del tema y me despejó muchas telarañas que traía en la cabeza al respecto. Definitivamente hay más por descubrir del tema. Afortunadamente tuve la ocurrencia de grabar la charla en mi teléfono celular así que voy a escucharla de nuevo para paladear y degustar a mis anchas.

De esta charla vendrán posts más detallados. No se desconecten.

Finito.

lunes, septiembre 18, 2006

Como niño con juguete nuevo

Ayer cayeron en mis manos los CD's que había solicitado de Ubuntu, la distro de moda. Solicité las siguientes versiones:
  • Ubuntu para x86
  • Ubuntu para x64
  • KUbuntu para x86
  • KUbuntu para x64
  • Edubuntu
  • Ubuntu para Mac
Todos, todos, llegaron. Completitos.

Por ahí recordé haber leído que primero probaramos con una versión LiveCD para comprobar que todo el HW es soportado. Asi que, Bambi es un venado y arranqué mi laptop para hacer la verificación.

:(

Una vez más. No sonido. Muda. Una laptop sin audio, no es laptop. Y me dije a mi mismo: "Mi mismo, prueba el KUbuntu". Y va de nuez. CD. Prender y apagar. Esperar. Comprobar. Y nada.... (sonido de grillo)

Por fin se me ocurrió abrir el control del volumen o más bien el front end del ALSAmixer y empecé a juguetear. Un par de ¡ah!'s y de ¡oh!'s y un ¡que wey! y finalmente conseguí tener audio. :D

Entonces sip, así si baila mi laptop con el siñor. Arranqué el Ubuntu (que trae por defecto GNOME) y ¡orales! a matar el FC4 que traía. No todo fue miel sobre hojuelas. Batallé algo con las particiones pero finalmente root mata anarquía y quedó.

De ahí empecé a conectarle mi disco duro externo, mis usb-flash y mi cámara digital. Lo único que no funcionó fue la cámara pero creo que es más bien por que no está soportada en el software de imágenes. Algo se me ha de ocurrir.

Ahorita se está descargando la versión Xubuntu, que trae Xfce como administrador de ventanas, nomás por curioso. :D

Tengo pendiente lo siguiente:
  • Actualizar la distro
  • Instalar el stack de Mono
  • Poner un player chido (¿Banshee?)
  • Configurar un podcatcher
  • Instalar VMPlayer y hacer una imagen de Windows
  • Y lo que se me ocurra esta semana...

En la ofi, se me ocurre instalarlo en mi HP xw4300 Workstation, pero ¿qué creen? ¡No funciona el teclado! Me encontré este post en los foros de soporte de Ubuntu, pero lo probaré mañana.

Finito.

miércoles, septiembre 13, 2006

CONSOL 2006: Frentes Políticos del Software Libre

Como cierre de mis posts acerca del CONSOL 2006, publicó esta nota con un valor agregado: el audio de la conferencia magistral de Beatriz Busaniche.

Beatriz es una activista del Software Libre, es miembro de la Fundación Vía Libre en su natal Argentina y también de la Fundación del Software Libre de América Latina.

La conferencia que impartió Bea, me hizo reflexionar acerca de lo importante que es la participación de todos los sectores, aún los tradicionalmente más alejados de la política, en estos temas de legislaciones y cabildeo. A partir de ese día, se ha inflamado de nuevo mi convicción y fe en el software libre y me gustaría ver más avances aquí en México al respecto.

La idea de publicar el audio de la conferencia es compartir este discurso motivador para replantearnos de nuevo nuestra postura ante las acciones que desarrollan las grandes corporaciones (no solo Microsoft) en lo relacionado con la propiedad intelectual de la ciencia y tecnología, cuestiones en las que los países en vías de desarrollo debemos estar muy atentos.

Finito.

lunes, septiembre 11, 2006

Letargo forzado y una vez más: Windows Vista

Entre la pérdida temporal de mi acceso a mi servicio de banda ancha y un taller en la oficina, he venido posteando muy, muy, muy poco. Lo más curioso de esto es que lo extraño. Añoro el ver mis ideas y comentarios en blanco y negro y ver como se van pasando temas de comentario a lo largo de los días.

Hoy por fin pude darme tiempo de leer todos los blogs, feeds y mail lists que tenía pendientes y me ha llevado alrededor de 4 horas e infinidad de temas que se han escurrido de las manos.

Una referencia a una nota que me ha motivado dejar este forzado letargo me llegó desde bink.nu. A resumidas cuentas cuestiona si el desarrollo de Windows Vista ha dejado ver que el modelo de Microsoft para construir software ha llegado a un límite que lo pone en riesgo en contra de sus competidores (léase especificamente Linux).

Obviamente, es de pensarse. Desde el anuncio de la existencia de Longhorn y su variadas características que dejarían atrás a cualquier sistema operativo, se han venido haciendo discretos anuncios en los que se van removiendo varias de esas mejoras que se prometieron. El retraso en presentar versiones accesibles al público y las demandas de mejoras de hardware también han ido restando emoción a esta nueva entrega.

Aún y así, la demanda de las versiones Beta y RC han sobrepasado las estimaciones originales que se hicieron y tal parece que a la fecha no existe más números de serie para realizar instalaciones de las versiones de prueba.

Pero, ¿realmente vale la pena actualizarse a Windows Vista?. El primer obstáculo es el precio. Anteriormente ya comenté lo desorbitante (desde mi particular perspectiva) que me parecen los importes anunciados. Basta pensar que el costo de la versión Ultimate es casi equivalente a casi siete barriles de petróleo. Y falta agregar las compras adicionales para conseguir un equipo que consiga hacer funcionar las nuevas características si no es que se requiere considerar la compra un equipo completamente nuevo.

En casa, la PC con Windows la usamos para:

  • Navegar en internet
  • Preparar tareas escolares
  • Extraer imágenes de la cámara digital y organizarlas
  • Escuchar música y...
  • Jugar :D

en este caso particular ¿cuál es la ganancia? Con alguna distro más o menos moderna puedo resolver 4 de los 5 requerimientos que tengo que cumplir. El 5° requerimiento no me parece más que una maldición heredada de las reglas de la oferta y la demanda y aún así, he encontrado un mecanismo para conseguir hacer funcionar mis juegos bajo un ambiente no-Windows.

En la oficina el escenario es diferente. Tenemos acceso a equipamiento más reciente y las últimas versiones de los productos, al menos en el nivel central. ¿Qué va a suceder en el interior de la República donde terminan los equipos con un cierto nivel de obsolescencia? ¿Que va a pasar con los equipos Pentium con 64 MB de RAM y un disco duro de 6 GB?.

El contrincante más mentado es Linux, pero, a mi gusto, tampoco es la solución al menos desde la perspectiva del escritorio. Tal vez en un ambiente de infraestructura (servidores de correo, autenticación, resolución de nombres, etc) sea una opción muy viable, no sin algunos retos mayores (migrar un mailbox Exchange de 7 Gb) pero seguramente alcanzable.

Ahora, ¿por qué pagar tanto por un sistema operativo que no cumplió con las expectativas que creó? Debieran tomar en cuenta eso a la hora de hacer el pricing.

Desde el punto de vista del modelo, también se presentan algunas dudas ¿cómo es posible que Microsoft no consiga cumplir todas las expectativas aún y cuando se nos presente como una empresa con recursos casi ilimitados? ¿cómo es que el modelo Open Source sigue desarrollando una competencia directa? no solo en sistemas operativos sino en otros varios rubros.

No tengo la respuesta, pero la muestra de que el modelo va a cambiar son las recientes iniciativas de Microsoft en otros campos que inicialmente poco tienen que ver con el software. Los esfuerzos que han venido haciendo en un reproductor portátil multimedia (vs iPod), teléfonos celulares, consolas de juegos y algunos dispositivos personales de acceso a internet me hacen pensar que están buscando afianzar el negocio en otras ramas ya que alcanzaron el límite en lo que a desarrollo de software se refiere.

Seguramente de las ganancias inconmesurables van a financiar estas iniciativas. En lo personal me molesta pensar que de la inmoral explotación del mercado sigan obteniendo ganancias.

Finito.