viernes, julio 20, 2007

Otro script con Ruby

Y heme aquí, otra vez dándole al scripting con Ruby.

Ahora la tarea encomendada fue convertir un archivo CSV a un simple archivo XML.

Esto es de aquí:

20117252110,11.103.2.14
020126252110,11.102.2.24
020201052151,172.16.47.14
020301022151,11.44.2.14
020401052151,11.43.2.14
...


hasta acá:

<ruteo>
<ruta>
<clave_presupuestal>20117252110</clave_presupuestal>
<direccion_ip>11.103.2.14</direccion_ip>
</ruta>
</ruteo>


Entonces ¿qué hice? Lo primero fue recurrir a un par de libros. La biblia de Ruby: Programming Ruby y Enterprise Integration with Ruby. Además de encontrar en línea la documentación de la biblioteca estándar en ruby-doc.org. Así encontré felizmente que como todo lenguaje que se precie de ser moderno, la biblioteca estándar viene con clases para manejar XML. Dado... ¡a tirar código!


# traemos el conjunto de clases para el manejo de XML
require 'rexml/document'

# vamos a crea rutas
class Ruta
# esto es increible, con este método se crean las propiedades de lectura/escritura
attr_accessor :direccion_ip, :clave_presupuestal

# el constructor
def initialize(clave_presupuestal, direccion_ip)
@clave_presupuestal = clave_presupuestal
@direccion_ip = direccion_ip
end

# el método que hace la chamba
def to_xml
ruta = REXML::Element.new('ruta')

# creamos los elementos y les asignamos valor
# las @variables tienen alcance únicamente en esta clase
ruta.add_element('clave_presupuestal').add_text(@clave_presupuestal)
ruta.add_element('direccion_ip').add_text(@direccion_ip)

# regresamos el elemento XML que acabamos de crear
ruta
end

# solo para probar
def to_s
@direccion_ip + " " + @clave_presupuestal
end
end

class Ruteador

def initialize
# creamos el documento y el nodo raíz
@doc = REXML::Document.new
@ruteo = REXML::Element.new("ruteo")
end

def lee_informacion(nombre_archivo)
f = File.open(nombre_archivo, "r+")

# leemos el archivo línea x línea y lo guardamos
# en el array @lista cool!
@lista = f.readlines()
f.close
end

# este método hace la chamba
def convierte
# el arreglo con los datos convertidos desde CSV
@convertido = Array.new

# iterators! un regalo del cielo
# y code blocks!
@lista.each do |line|
# recortamos cada línea y la separamos entre cada coma ','
clave_presupuestal, direccion_ip = line.chomp.split(',')

# esto es simplemente hermoso
# agregamos al arreglo @convertido un nuevo objeto Ruta
# pero chequen: no 'add' method, use '<<' instead
@convertido << Ruta.new(clave_presupuestal, direccion_ip)
end
end

# ahora, a escupirlo....
def escribe_xml(nombre_archivo)

# otra vez iterators & code blocks <- this rulz!
@convertido.each do |entry|
# ¿recuerdadn Ruta.to_xml?
@ruteo.add_element(entry.to_xml)
end

# agregamos el nuevo objeto al documento
@doc.add_element(@ruteo)

# y a ponerlo por escrito
f = File.open(nombre_archivo, 'w+')

# esto también es chulo de bonito, chingao!
@doc.write(f, 0)
f.close
end
end

# a poner todo a trabajar
ruteo = Ruteador.new

ruteo.lee_informacion("rutas.csv")
ruteo.convierte
ruteo.escribe_xml("demo")


Finito.

jueves, julio 19, 2007

La dieta del ChilliCoder

En febrero empecé un tratamiento para bajar de peso con muy buenos resultados. Tanto así que mucha gente me ha felicitado y a la vez aprovecha la ocasión para preguntar el método.

He decidido revelar el secreto de la Dieta del ChilliCoder.

Hasta con imágenes.

La carne es un excelente medio para controlar el peso (del animal sacrificado).

Sacrificios que debe hacer uno para ser féliz.

Finito.

miércoles, julio 18, 2007

Otra aplicación web

Gracias al blog de Marcos Cobeña me encontré esta interesante aplicación: Gliffy.

Ahora resulta que podemos hacer diagramas tipo Visio o Dia en nuestro navegador. ¡Excelente! Ultimamente me había inclinado por aplicaciones de escritorio y consideraba las aplicaciones web para puro entreteniento o cosas superficiales, pero al irme haciendo cliente de las aplicaciones y servicios Google me voy despegando del escritorio.

Manejo proyectos con Google Code. Comparto documentos con Google Docs. Manejo mis listas de acciones con Google Notebook. Leo mis feeds con Google Reader. Mi correo electrónico es GMail. Y ahora hago mapas mentales con bubbl.us y diagramas con Gliffy.

¿Cuál es la ventaja? En primer lugar la ubicación transparente. No más memorias flash o discos duros externos. En casi cualquier computadora puedo trabajar. A cualquier hora.

¿Desventajas? Depender de una conexión a internet. O sufrir si es una conexión lenta. El riesgo siempre latente de no tener la ultimisisisisima versión en la mano y obvio, de que alguien más o algo más se la pase parseando o scanneando todos mis pensamientos vertidos.

Hasta ahora han sido más ventajas pero no deja de sorprenderme. Bien dice Thomas Friedman en su libro "La tierra es plana": internet es una de las aplanadoras.

Finito.

martes, julio 10, 2007

bubbl.us - free web application for brainstorming online

bubbl.us - free web application for brainstorming online

Ya había encontrado en un post noticias sobre sitios web que ofrecen el servicio de mapas mentales. No los había tomado mucho en cuenta hasta que empecé a usar con más frecuencia Google Docs y su capacidad de compartir documentos. Sin embargo Google Docs solo soporta documentos tradicionales: hoja de cálculo y texto :(

En una rápida búsqueda en San Google encontré Mindomo, que era el sitio acerca del que leí y encontré también este otro bubbl.us. Hice el trámite para registrarme en los dos y simple y sencillamente bubbl.us me encantó. Muy a la Library Thing lo único que tienes que hacer es dar tu correo, nombre de usuario y contraseña y voilà! ¡Estás inscrito y listo para usar el servicio! Y es así, en cuanto di Submit apareció el canvas y empecé a dibujar mi mapa mental.

Mindomo por otra parte, te envía un correo de confirmación y en lo que escribo este post sigue cargando su "canvas".

Obvia cual fue mi decisión ¿cierto?

Finito.

miércoles, julio 04, 2007

Scripteando con Ruby

Hoy tuve que procesar un archivo de direcciones ip para contabilizar el número de conexiones desde cada dirección. Cosa simple ¿no?

Seguramente en las herramientas de todos los días (shell) lo hubiera conseguido en algunos minutos. Habrá quien lo resuelva en unas cuantas líneas de Perl, tal vez Python o whatever.

Sin embargo tuve la linda ocurrencia de hacerlo con Ruby. ¡¿Ruby?! ¿No solamente es para hacer aplicaciones web y frameworks? Pues no, creo que no.

Por alguna referencia encontré Everyday scripting with Ruby. No he comprado el libro pero el título me motivó para hacer esta prueba. ¿Puede ser Ruby un lenguaje que compita contra Perl? Muchos de los scripts de administración se construyen religiosamente con Perl o en mi caso mayormente con shell. Pero quisé probar Ruby en algo que no fuera el hype de Rails.

Realmente el problema es sencillito. Pero la experiencia es harto interesante. De inicio conseguir ayuda. ri es terriblemente práctico. Respuestas concisas, precisas y macizas. Luego la experiencia iterativa e interactiva. Vas ejecutando, encontrando errores y corrigiendo (al menos a este nivel de experiencia) lo cual es altamente ¿didáctico?. Aparece un error y corres a ri para confirmar si lo que quisiste hacer se puede. Te das cuenta del error, corriges y va de nuez.

Si bien existen pruebas unitarias, es un punto que lo veo más asociado a desarrollo de aplicaciones. En este momento no veo que tanta utilidad pudieran tener para los scripts de administración.

Fue padre. Si, lo acepto. Me tardé más tiempo de lo que requiere la tarea pero valió la pena. Voy a buscar la manera de hacerlo más seguido. De hecho, voy a solicitar que instalen Ruby en los Solaris. A ver si no se me paniquean. :D

Finito.

jueves, junio 28, 2007

Comunidad .NET Edición Junio

Ayer se llevó a cabo la reunión mensual de la Comunidad .NET de la Cd. de México en el lugar acostumbrado. Excelente asistencia a pesar de el partido México vs Brasil.

Arrancó Raúl Guerrero con una introducción a Windows Communication Foundation, uno de los nuevos API's de .NET 3.0. El concepto detrás de WCF es realmente interesante. La unificación de tecnologías de integración bajo una misma API es para mi apreciación un mega-hit. Como es costumbre de Raúl llevó la presentación con una buena porción de código.

A continuación estuvo Juan José Karam que entró al detalle con .NET Remoting. Es obvio que lo suyo, lo suyo, lo suyo... quién sabe que sea, pero .NET Remoting lo maneja rete-chido.

El siguiente en la lista era Octavio Télis pero cambió su presentación por un agradable rato de intercambio de comentarios sobre tecnologías Microsoft, estrategias y se enriqueció con la participación de Arturo Garrido.

Finalmente nos retiramos de las instalaciones de InterSoftware pero en la salida del WTC nos aventamos otra "platicada/debrayada" sobre los más variados temas, principalmente el rol del arquitecto, project leader, project manager y lo comparamos de una manera extremadamente "light" contra la realidad. Karam estaba harto inspirado, de hecho alguien sugirió grabar un podcast comunitario sobre el tema. Sería estupendo.

Esta ha sido hasta la fecha la mejor reunión. Vamos por más.

Finito.

martes, junio 26, 2007

PartnerApi Library: Por fin ve la luz

Hace algunos años fui contratado para integrar un CRM y Salesforce (se llamaba así en ese entonces). Para realizar la integración usé C# y el Enterprise API de Salesforce para llevar los datos del CRM al repositorio en línea de Salesforce. Un ejercicio harto interesante. También leí algo acerca de la PartnerApi y de ahí surgió la inquietud de utilizarla.

El objetivo que se me presentó en mi mente fue crear una biblioteca que simplificara el uso de esta PartnerApi y pues después de mmuuuucho tiempo aquí está.

Acabo de publicar el código, licenciado bajo LGPL, para que todo mundo lo revise, lo use y ojalá y contribuya a este proyecto.

Cualquier comentario, sugerencia o pregunta son bienvenidas.

Finito.

jueves, junio 21, 2007

Solsticio de Verano

Cada año se repite y sin embargo no deja de causarme melancolía.

El 21 de junio es tu cumpleaños. El Solsticio de Verano.

Sigo enamorado del recuerdo, de tiempos añejos, tardes tibias en medio del pasto reseco y yermo.

Quedaste impresa en mi persona. Sin tí no sería el mismo. Aún y cuando tomamos caminos distintos no he conseguido dejar de extrañarte en mis momentos de soledad, confusión, esperanza y desesperanza. Te convertiste en una tabla de salvación de la que me sujeté más de una vez en medio de una madrugada de soledad e incertidumbre.

Jamás me atreví a buscarte. Siempre he tenido miedo de enfrentar el presente contra todos mis sueños inconclusos. Siempre he deseado que seas féliz, féliz, féliz. Que construyas y vivas tus sueños. Que las dificultades las dejes atrás. Que vivas cada día con la satisfacción de vivir incluso las cosas cotidianas.

Féliz cumpleaños Ara.

Finito.

Próximas mudanzas

Y sigue la búsqueda. Me ha entrado la curiosidá de instalar Gentoo. Ja. Hay va de nuevo el ChilliCoder.

De hecho hoy empecé con la PC de la ofi. Digo, echando a perder se aprende. Es una máquina con arquitectura AMD64/EMT64, bastante interesante el caso. El ejercicio anterior de instalar Gentoo lo hice en una máquina virtual y solo llegué a conseguir un mugroso prompt. En esta ocasión tengo que llegar más lejos. No puede faltar en mi escritorio (de inicio un escritorio gráfico) reproductores de video y audio, un navegador que soporte flash y applets java, editores de audio (ya casi, ya casi sale el primer podcast), herramientas de captura de video (ya casi, ya casi sale el primer screencast), herramientas de desarrollo y demás chunches que se me ocurran.

Como estuve colgado de la pichurrienta red para descargar el stage3 (115MB) y la lap se quedó en casa, empecé a navegar con una PowerMac G4 que me emprestaron dizque pa'compilar Mono :O. Lenta la máquina por que no es de las más recientes. El Safari: insoportable. Simplemente no me pude conectar a leer mi correo en GMail (santo sr google). Tiene Netscape pero fue peor. En uno de esos arrebatos de histeria, me acordé del CD que estaba en el cajón, domidito. Ubuntu 6.06 LTS para Mac. :O

El primer pex fue conseguir insertar el CD en el drive. Control + Opción + O + F para abrir una sesión de Open Firmware :S. Reiniciar, presionar C para que arranque del CD y zzz ZZZ zzz ... esperar. Después de un ratín un escritorio hecho y derecho. FF 1.5. No problemas. GMail rulz.

Me encantó la experiencia de no mismatch impedance al usar Ubuntu en la Mac. Simple. Fácil. Lento :P. Pero me sigue el sabor en la boca de lo maravilloso que es usar "lo mismo" en otra máquina completamente distinta: PowerPC, Mac, etc, etc, etc.

Regresando al Gentoo, lo único que me ha detenido de instalarlo en mi lap es el soporte no nativo de WiFi. "shiale, este w no lee ni el sensacional de luchas" pensarán algunos gurús de Gentoo. Sip, me quedé muy acostumbrado al modo usuario de Ubuntu ¿Y?. Pa'que vean que si leo, me estoy aventando el Handbook. Algo he de aprender. Una vez lista la PC de la ofi, le caigo a mi lap.

Otra cosa que estuve repensando es la planeación de las particiones. En algún sitio encontré la recomendación de crear una partición separada para /home. En este momento me alegró de haber hecho caso. Voy a instalar una distro distinta y no voy a perder nada de mis archivos. También se me vino a la mente el caso de los servidores Solaris que tenemos y en los cuales se llega a saturar / poniendo en riesgo la estabilidad de los equipos. En una instalación de servidor seguramente se tiene que planear con más detalle la distribución de directorios, particiones y a lo mejor hasta de discos: que si /usr en el más rápido, que si /var en donde haya más espacio, que si /home donde sea...

Pues, sigo con mudanzas. Proyectos por desarrollar y sueños por perseguir.

Finito.

domingo, junio 10, 2007

Otras formas de innovación

Como ya varios saben, soy lector regular del blog de Scott Hanselman. Es un tipo realmente brillante no solo tirando código sino llevando la tecnología a nichos que simplemente dejamos pasar de largo.

¿Cuántas veces se ha utilizado Google Earth para buscar monumentos, la casa de tu novia o una dirección? Peor aún ¿cuántas veces no se ha usado para buscar gente desnuda tomando el sol en el patio de su casa?. Puede ser divertido pero definitivamente es un desperdicio de tecnología.

Pues bien, Scott publicó un post sobre como utilizar Google Earth o Virtual Earth para visualizar un nuevo fraccionamiento.

Lo interesante de esto es que son herramientas que están al alcance de cualquier persona. No necesitas ser un mega-dooper-super experto en AutoCAD o cosa similar (claro, el resultado tampoco es igual), simplemente con unas pocas herramientas en tu PC casera consigues el resultado.

Eso también es innovación. Los mexicanos nos preciamos mucho de ser ocurrentes, tal vez alguien acá de este lado de la frontera tuvo la misma ocurrencia. Pero al no compartir ese conocimiento cualquier otro que sí lo hace se convierte en innovador por ese simple hecho.

Estamos muy acostumbrados a construir nichos y compartir un poquito de conocimiento con otros para convertirlos en nuestros aliados. Armamos batallas de escritorio para tirar los nichos de otros. Negociamos con el conocimiento como con cualquier baratija.

Entonces ¡compártamos nuestro conocimiento! Una de las bellezas del software libre es ese ambiente de compartir, de buscar a quién ofrecerle (sin ningún interés por detrás) lo último que construimos, de pedir opinión a otros para mejorar, de mirar en el trabajo del vecino para buscar una segunda opinión sobre lo que estamos haciendo.

Busquemos compartir en lugar de aislar. Tratar el conocimiento, simple o formalizado, con el valor que se merece. Tratemos a los demás como compañeros de creación.

Finito.

viernes, junio 08, 2007

Pruebas tontas...

Después de verlo en el blog de GaRaGeD me animé a tomarlo y estos son los resultados.

The Everything Test

There are many different types of tests on the internet today. Personality tests, purity tests, stereotype tests, political tests. But now, there is one test to rule them all.

Traditionally, online tests would ask certain questions about your musical tastes or clothing for a stereotype, your experiences for a purity test, or deep questions for a personality test.We're turning that upside down - all the questions affect all the results, and we've got some innovative results too! Enjoy :-)

Personality
You are more emotional than logical, more concerned about others than concerned about self, more atheist than religious, more dependent than loner, more lazy than workaholic, more rebel than traditional, more engineering mind than artistic mind, more cynical than idealist, more leader than follower, and more introverted than extroverted.

As for specific personality traits, you are intellectual (67%), greedy (60%).

Stereotypes
Old Geezer83%
Young Professional80%
Punk Rock60%
 
Life Experience
Sex42%
Substances27%
Travel3%

Politics
Your political views would best be described as Socialist, whom you agree with around 50% of the time.
  Socioeconomic
Your attitude toward life best associates you with . You make more than 78% of those who have taken this test, and 19% less than the U.S. average.

If your life was a movie, it would be rated PG-13.
By the way, your hottness rank is 40%, hotter than 5% of other test takers.

TAKE THE TEST
brought to you by thatsurveysite



La parte en la que no estoy de acuerdo es la que dice: more concerned about others than concerned about self, me considero totalmente egoísta.

De cualquier manera, los resultados son ... ¿curiosos?

Finito.

martes, junio 05, 2007

FONASOL: Pendiente

Pues bien, el FONASOL concluyó el sábado y ya tengo un bonche de recuerdos más que atesorar, nuevos amigos que conocer y algunas fotos que compartir.

Definitivamente es una historia para contar por episodios. No se desconecten.

Finito.

viernes, mayo 25, 2007

Último Ruby on Rails vs. PHP

He aquí el último video de este par de orates. Algo que me llama la atención es que se clavaron con PHP y dejaron de lado Java ¿la razón? La ignoro. ¿Será acaso que los PHP'eros tienen menos elementos para defenderse?

Cada vez que alguien conoce Rails se entusiasma de manera increíble. Es que Rails realmente es increíble. Te deja con una sensación de productividad como si te hubieras metido no sé que cosa. Desarrollas rápido, no importan los cambios, el 90% de las veces los consigues cambiando archivos de configuración, te concentras en otorgar valor en el marco del negocio y no en el de la tecnología.

Sin embargo, casos como Twitter demuestran que no todo es miel sobre hojuelas. Menciono Twitter por que es el caso más conocido y que además uso regularmente :D. Además de la serie de posts del mismo DHH y el equipo Twitter, las extensiones a estos posts (tipo programa de notas faranduleras) en las que ponen a DHH como un ególatra energúmeno sabelotodo que lo único que hace es regañar a los desarrolladores de Twitter.

Sea cual fuere la razón Rails en Twitter fue y es rebasado. Y si miran el modelo, es terriblemente simple. ¿Significa esto que Rails no vale la pena? ¿Qué no tiene el solicitado status de nivel empresarial? Para mí significa que igual que con cualquier tecnología, la solución está de nuestro lado: desarrolladores, arquitectos, hw-junkies y demás. No hubo, no hay ni habrá tecnología que llegué a sustituir al 100% las capacidades humanas. Cuando menos no durante lo que yo viva.

Entonces, no importa que Twitter falle. Agarren Rails y cójanle cariño. Vayan probando hasta donde pueden estirar la liga de la suerte. Estirenla tan fuerte que se rompa y entonces aflojen un poquito. Esa será la medida correcta (¡Gracias Jeff!).

Después de este choro viene la diversión.



Finito.

jueves, mayo 24, 2007

La culpa no la tiene el servicio sino el que lo hace Web Service

Hace un par de días hubo una acalorada discusión en relación a un proceso de integración entre dos sistemas: el expediente clínico electónico (ECE) y el sistema que se encarga de administrar a los usuarios de los diversos servicios de centros deportivos y sociales.

Resulta que los web services que expone ECE se definen en el correspondiente WSDL de la sigte manera:

<s:element name="CargaReferencia">
 <s:complextype>
  <s:sequence>
   <s:element minoccurs="0" maxoccurs="1" name="docHL7Referencia">
    <s:complextype mixed="true">
     <s:sequence>
      <s:any/>
     </s:sequence>
    </s:complextype>
   </s:element>
  </s:sequence>
 </s:complextype>
</s:element>

Y del otro lado se tiene

<s:element name="procesaOci">
 <s:complexType>
  <s:sequence>
   <s:any/>
  </s:sequence>
 </s:complexType>
</s:element>

Es decir. Técnicamente reciben cualquier cosa (<s:any/>).

Hace un poco más de un año, se realizó una junta para evaluar una propuesta de arquitectura para los servicios del ECE. Lo curioso es que pasado el tiempo siguen en las mismas.

¿pa'qué definir un contrato? Le pasamos cualquier cosa. ¿pa'qué validar contra un esquema? La validación la hacemos con un flujo o mejor aún: tirando código (que se factura por hora). No tiene ningún caso desacoplar, incluso cuando existen appliances para validar esquemas.

El chiste del outsourcing es quemar horas reinventando el hilo negro, divagando en arquitecturas y pelearse entre sí.

En fin, la culpa no la tiene el servicio.

Finito.

lunes, mayo 21, 2007

Oye Karacas

Hagamos un trato

Cuando sientas tu herida sangrar
cuando sientas tu voz sollozar
cuenta conmigo.

(de una canción de Carlos Puebla)

Compañera,
usted sabe
que puede contar conmigo,
no hasta dos ni hasta diez
sino contar conmigo.

Si algunas veces
advierte
que la miro a los ojos,
y una veta de amor
reconoce en los míos,
no alerte sus fusiles
ni piense que deliro;
a pesar de la veta,
o tal vez porque existe,
usted puede contar
conmigo.

Si otras veces
me encuentra
huraño sin motivo,
no piense que es flojera
igual puede contar conmigo.

Pero hagamos un trato:
yo quisiera contar con usted,
es tan lindo
saber que usted existe,
uno se siente vivo;
y cuando digo esto
quiero decir contar
aunque sea hasta dos,
aunque sea hasta cinco.

No ya para que acuda
presurosa en mi auxilio,
sino para saber
a ciencia cierta
que usted sabe que puede
contar conmigo.

Mario Benedetti

¿Aceptas el trato?

domingo, mayo 20, 2007

Ruby on Rails vs. PHP

No dejan de entretenerme. Lástima que hasta el siguiente lunes aparece el nuevo episodio.



Finito.

viernes, mayo 18, 2007

Scott Hanselman's Computer Zen - Twittering my Diabetes

Scott Hanselman es un gran desarrollador, conferencista y escritor de tecnologias .NET, en particular ASP.NET y recientemente Windows CardSpace. Aparte de su conocido blog publica semanalmente un podcast del que habla de varios temas incluído el Open Source.

Lo empecé a leer por el aspecto de tecnología y después por sus experiencias como padre. Hubo un momento en que leí sobre su condición de diabético Tipo I. Entonces me quedé extremadamente sorprendido. Muchas personas en su condición han destruido su vida, tengo un familiar cercano que así lo hizo. Sin embargo Scott es un lider en muchos aspectos y es un modelo de padre y esposo a seguir.

Me motiva leerlo y ver la lucha en la que se ha embarcado contra la diabetes. En esta ocasión aprovecha el fenomeno twitter para compartir sus experiencias como diabético. Lo estaremos siguiendo.

Finito.

martes, mayo 15, 2007

Ruby vs. PHP: Sigue la mata dando

De la misma serie de videos promocionales de Ruby. Just watch it.




Finito.

Habemus Mono

Se acaba de anunciar la liberación de la nueva versión 1.2.4 de Mono.

Entre las novedades más notables encontramos:
  • Más de 1,000 métodos agregados y/o actualizados
  • Soporte completo de ASP.NET 2.0 (bueno... casi... los Web Parts siguen pendientes pero ¿a quién le importa?)
  • Mejoras en el desempeño de ASP.NET
  • Inicios de la implementación de C# 3.0
  • Mono en Solaris/AMD64
  • Y varios items más
El número de métodos es impresionante tomando en cuenta que los reportes MoMA dan guía a los esfuerzos de desarrollo del equipo Mono. Habrá que revisar ahora el porcentaje de aplicaciones que se migran transparentemente, a febrero de este año estaba por el 11%, seguramente con este release se va a incrementar.

Finito.

lunes, mayo 14, 2007

Ruby vs. Java Parte II

Al mismo estilo de los comerciales de Apple, Mac vs PC, estos tipos se han aventado un videito bastante chulo.




Finito.

De nuevo con lo mismo: Patentes

Ayer apareció en varios medios la noticia de que Microsoft finalmente señalaba las violaciones a patentes en las que caen varios proyectos Open Source y Free Software.

El primer punto que me viene a la cabeza es la posición de desventaja que está empezando a mostrar Microsoft. A mi parecer, no es más que el resultado de no encontrar maneras de contrarestar la pérdida de posición que está sufriendo. Anteriormente comenté que los movimientos que está haciendo para entrar en otros mercados, más que una diversificación, demuestran que ya no es posible sustentar el modelo que los vino a hacer millonarios: el software propietario. Finalmente son una empresa y siendo pública tienen que otorgar dividendos. Ya no tienen mucho de donde sacarlos.

La siguiente idea es la válidez de las patentes. ¿Realmente sigue siendo válido este modelo? Cuando vemos que grandes y pequeñas empresas hacen valer su propiedad sobre las ideas, por más abstracta, sencilla y simple me pregunto: ¿Dónde va terminar esto? ¿Ya nadie va ser capaz de idear algo sin violar una patente? Existen casos donde podrá cuestionarse menos el modelo, la industria farmacéutica por ejemplo. Si no tienen el aliciente de explotar durante varios años una patente ¿qué los motivaría a inventar nuevos medicamentos? Pero en la industria del software ¿Por qué es válido patentar el algoritmo que hace que una sección de la pantalla parpadeé? ¿No es algo de total y simple sentido común?. La idea de un conjunto de componentes para generar páginas web ¿no es demasiado abstracta o genérica como para reclamarla como propia? No desconozco el derecho de la autoría, reclamo cancelar el derecho de la exclusividad.

Definitivamente urge una revisión profunda y real de este modelo.

Finito.

miércoles, mayo 09, 2007

Entre servicios te veas

En una prueba de integración entre una aplicación .NET y otra desarrollada en Java nos apareció este mensaje:

Exito: 0
Código Error: 100
Desc. Error: mx.gob.imss.sigoi.quejaVerbal.exception.ValidaCampoException:
El campo Calidad de la persona que se comunica es requerido.
El campo Nombre de la persona que se comunica es requerido.
El campo Apellido paterno de la persona que se comunica es requerido.
El campo Lada de teléfono particular de la persona que se comunica tiene que ser numérico.
El campo Lada de teléfono particular de la persona que se comunica tiene una longitud no valida, menor a 2 Caracteres
El campo Teléfono particular de la persona que se comunica tiene que ser numérico.
El campo Teléfono particular de la persona que se comunica tiene una longitud no valida, menor a 8 Caracteres
El campo Teléfono celular de la persona que se comunica tiene que ser numérico.
El campo Teléfono celular de la persona que se comunica tiene una longitud no valida, menor a 12 Caracteres
El campo Correo electrónico de la persona que se comunica no tiene un formato adecuado
Se tiene que incluir al menos un medio de contacto valido de la persona que se
comunica: Lada y número de teléfono particular, número de teléfono celular, correo electrónico, o dirección completa
Es necesario capturar el NSS de la persona que se comunica
Es necesario capturar el NSS de la persona que solicita el servicio
El campo Calidad de la persona que solicita el servicio es requerido.
El campo Teléfono celular del usuario que solicita el servicio tiene que ser numérico.
El campo Teléfono celular del usuario que solicita el servicio tiene una longitud no valida, menor a 12 Caracteres
El campo Entidad federativa del usuario que solicita el servicio tiene que ser numérico.
El campo Entidad federativa del usuario que solicita el servicio no es un valor válido de catálogo
El campo Clasificación de la solicitud del planteamiento tiene que ser numérico.
El campo Clasificación de la solicitud del planteamiento no es un valor válido de catálogo
El campo Tema del planteamiento tiene que ser numérico.
El campo Tema del planteamiento no es un valor válido de catálogo
El campo Subtema del planteamiento tiene que ser numérico.
El campo Subtema del planteamiento no es un valor válido de catálogo
El campo Delegación de Adscripción del planteamiento no es un valor válido de catálogo
El campo Unidad Medica de Adscripción del planteamiento tiene que ser numérico.
El campo Unidad Medica de Adscripción del planteamiento no es un valor válido de catálogo
El campo Delegación o UMAE involucrada en la gestión o queja del planteamiento tiene que ser numérico.
El campo Delegación o UMAE involucrada en la gestión o queja del planteamiento no es un valor válido de catálogo
El campo Subdeleación y/o Unidad involucrada en la gestión o queja del planteamiento tiene que ser numérico.
El campo Subdeleación y/o Unidad involucrada en la gestión o queja del planteamiento no es un valor válido de catálogo

¿Qué tiene de malo? (aparte de algunas faltas de ortografía) Son dos servicios que están intercambiando mensajes entre sí. No tienen interacción con el usuario, así que este tipo de mensajes, descriptivos y detallados, son completamente desaprovechados en este contexto.

Entonces ¿cuál es el modo correcto de devolver errores en este caso? No sé cual sea el modo correcto. Lo que a mi me gusta es el estilo de AppExchange Web Service API.

AppExchange (anteriormente conocida como Salesforce) es una empresa que ofrece software as a service (SaaS), en particular un CRM que compite directamente contra los grandes: Siebel, SAP y otros. Les ha ganado una gran tajada del mercado y sigue abriendo áreas de oportunidad. La API que comento la ofrecen mediante servicios web y tiene la funcionalidad de agregar, actualizar, borrar y buscar items de su mega repositorio de datos.

Así, en esas operaciones obviamente se envían y devuelven resultados en un contexto de integración de servicios. ¿Cómo le hacen? Va la referencia del API:

SaveResult[] = sfdc.create(sObject[] sObjects);


Tenemos la llamada create que recibe un arreglo de sObjects (tipo nativo de AppExchange) y como resultado devuelve un arreglo de objetos SaveResult. Ahora veamos SaveResult:

private Error[] errorsField;
private string idField;
private bool successField;


Nos devuelve un objeto con el identificador único (idField), una bandera de éxito o fracaso (successField) y un arreglo de objetos Error, igualmente veamos:

private string[] fieldsField;
private string messageField;
private StatusCode statusCodeField;


En fieldsField tenemos el o los nombres de los campos que provocaron el error; messageField es el texto descriptivo del error y finalmente statusCodeField que es el código que identifica el error dentro de un catálogo disponible en el WSDL del servicio.

Si bien tenemos un texto descriptivo, tenemos otras referencias (statusCodeField, successField) que nos permiten atender el problema y darle solución dentro de un contexto de integración.

A mi parecer es la falta de comprensión de los escenarios en los que se trabaja lo que provoca este tipo de diseños. Ya se requiere cambiar el modelo y empezar a modelar servicios. En algún momento habrá un servicio que se encargue de interactuar con el usuario y habrá que darle la suficiente información para que resuelva los problemas que lleguen a aparecer.

Por eso, entre servicios te veas, comportate como un servicio.

Finito.

sábado, mayo 05, 2007

¿Qué pasa? ¿Qué pasó? ¿Qué pasará?

Cada vez que quedamos para vernos
cuando apareces se me estremece el cuerpo
te has convertido en lo más alucinante
lo que aprecio en mi vida lo importante

Estás y siento cuando estoy a tu lado
una tortura si estamos separados
quiero quedarme siempre junto a ti
cada día te quiero más
cada día te quiero un poco más
cada día te quiero más
cada día te quiero un poco más
cada día te quiero más
cada día nos queremos más

No es la primera vez esta semana
que te dejas abierta la ventana
el baño como una verbena
te has olvidado tirar de la cadena

(Se que esta noche a la vuelta del trabajo me tocará de nuevo hacer la cena)

Egoísta, insoportable no me gusta
que me trates así
cada día te ignoro más
cada día te ignoro un poco más
cada día te ignoro más
cada día nos ignoramos ignoramos más

No me apetece estar siempre de bronca
por cualquier cosa tenemos una gorda
ya no puedo aguantar otro cabreo
estoy mucho mejor si no te veo

No me preocupa lo que pienses esta noche
cuando al regreso no encuentres el coche
me he marchado para siempre
no quiero volver a verte jamás

(Hasta luego Lucas)

Cada día te odio más
cada día te odio un poco más
cada día te odio más
cada día nos odiamos más

(Hasta que la muerte les separe)

Cada día te quiero más
cada día te odio un poco más
cada día te quiero más
cada día nos queremos nos odiamos
nos queremos nos odiamos más

SpiderMan 3

Hoy fuimos al tan esperado estreno de SpiderMan 3. Mucha gente. Mucha emoción. Muchos promos de las películas de este verano.

Sentí larga la peli. De por sí se me hace que comprimen 15 o 20 años de historia del comic en dos horas pero esta vez abusaron. El screen play se tomó bastante libertades. No mantienen sincronía entre los personajes ¿Gwen Stacy viva cuando Harry Osborn Jr es El Duende Verde? ¿El ser simbiótico que llegó del espacio?

Las escenas de acción, igual que los anteriores filmes simplemente estuvieron super. El Arenero y Venom, villanos clásicos. La Tía May ¿quién no quisiera una tía así? MJ linda como desde el primer episodio. Gwen Stacy una hermosa novedad. Peter Parker en el lado oscuro, gracioso al inicio, aburrido al final. El Hombre Araña frente a la bandera gringa: el peor momento de la película.

¿Entonces por qué me gusta el Hombre Araña? Por humano. Cuando se sienta a sacarse toda la arena que tragó y que se quedó en su traje se me hizo tan.... común. Cuando siente que ya regó el tepache y llega la Tía May a darle la palmadita en la espalda es tan... común. Cuando se siente engañado por Harry y lo va a buscar a su casa y se pelean, también es tan común que solo por los mega-trancazos te ubicas que es una película.

La enseñanzas de la Tía May y el Tío Ben son la mejor parte de la película y crean todo el personaje de SpiderMan. Otra cosa que han olvidado incluir en los guiones es que al fin y al cabo Peter Parker es un nerd. Recuerdo que en los comics a veces salía con una explicación "científica" sobre como venció a su enemigo en turno.

En lo particular no me gustó del todo. Espero que la siguiente sea mejor. Recuerdan al Lagarto ¿o mejor le decimos Dr. Connor?

Finito.

jueves, mayo 03, 2007

Conceptos de Escritorio

Uno de los temas en los que debrayamos cañon el sábado anterior durante el FLISOL fue la manipulación de la información. Hablamos sobre las metáforas que se utilizan para representar acciones en la PC.

Por ejemplo, cuando quiero escribir una carta, tomo una hoja de papel y un lápiz y simplemente empiezo a escribir. En cambio para escribir un libro, lo más normal sería tomar una máquina de escrebir y tirar teclazos. En ninguno de los dos casos me preocupo, hasta que es estrictamente necesario, de cuestiones de márgenes, paginado, tablas, bullets, etc, etc, etc.

El modelo que usamos para el procesador de texto está tomado de la industria de la impresión, el Desktop Publishing ¿alguien se acuerda del PageMaker? ¿Ventura? Estos programas se hicieron para profesionales de la impresión, sin embargo a alguien se le ocurrió que también podrían funcionar para el usuario común y corriente que escribe cartas, memos, oficios y demás papelitos. ¿Quién, a la fecha, usa más del 1% de la funcionalidad de cualquier Procesador de Textos?

De igual manera, la interface que tenemos de entrada en casi cualquier PC es un escritorio. Plano. 2D. Más bien la representación de un escritorio. Y se tiene que mejorar esa interface para facilitar todavía más el acceso a una computadora.

A continuación incluyo un video que postearon la Cofradia que muestra otro tipo de escritorio, un poco más cercano a la realidad.



Finito.

martes, mayo 01, 2007

FLISOL 2007

El sábado anterior se realizó el evento FLISOL y me anoté para participar como voluntario en la Sede Ecatepec. Aunque las actividades estaban programadas a partir de las 9.00 la verda' es que llegué hasta las 12.30 +/-.

Me llamó la atención el hecho de que fue un pequeño cibercafé con máquinas Linux y otras Windows. El anfitrión, Jonathan, es un chavo tranquilo y buena onda. Hubo un caso de un modem SmartLink que nomás no se dejó configurar, estuve batallando para compilar el driver pero a la hora y media me rendí y entró Marcos al relevo. Tampoco hubo éxito.

Otro asistente, Carlos, se la pasó probando distros en su laptop. Fácil probó alrededor de 10 y fue haciendo los comentarios acerca del reconocimiento de hw, que es el tema de su interés.

Jonathan tuvo el detalle de invitarnos unas ricas tostadas e hicimos un break para platicar y comer. Despuecito regresamos y Marcos nos dió una breve introducción a Magic Point. Es un programa harto interesante. Mediante un metalenguaje se define una presentación completa. Una de las inquietudes de Marcos es desarrollar un editor GUI para hacer las presentaciones y a mi se me ocurré hacerlo funcionar en Windows. Sería un golpe muy rudo para PowerPoint :D

Alrededor de las 17.30 me salí y hasta en eso hubo anécdota. A los pocos minutos de subir al camión, sentí que me tocaron el hombro e inmediatamente volteé para ver a un chavo mostrandomé el pecho con un logo de "Linux inside" :S ¡Qué pex!

Pues resulta que se trataba nada más que de Gaper y BRIO que iban regresando de la Sede Tecámac. Los conocía de "nombre" y me dió un gusto enorme platicar sobre la experiencia del FLISOL hasta que me tuve que bajar por que ya había llegado a mi destino.

Fue un día padre, tranquilo y muy geek hablando de escritorios, drivers, ideas, experiencias y sobre todo conociendo a otros linuxeros. Espero seguir manteniendo contacto con ellos.

Finito.

viernes, abril 27, 2007

2° Congreso Universitario en TICs - UAEH

Pues el miércoles fue la fecha. Avanzaba el calendario y simplemente no veía llegar el 25. Y finalmente llegó.

Para llegar hubo que dar una vuelta harto curiosa. De la hermana república de Coacalco al paradero del metro de Indios Verdes, la terminal ADO y el autobús a la Bella Airosa. Un viaje tranquilo en el cual tuve el chance de leer un artículo de Juval Lowy sobre lo es al fin y al cabo el patrón Correlation Identifier implementado con WCF.

Finalmente llegué a la terminal de autobuses y ya me estaba esperando Heriberto García Islas, amigo del Tuzo y organizador del Congreso. Nos fuimos a la UAEH y me presentó con algunas autoridades de la uni, me instaló en su cubículo y esperando el inicio de las conferencias me dediqué a dar el rol por el campus.

Había un ambiente muy festivo, caminando me encontré con un concurso de canto y otro de vencidas :P. Había partidos deportivos y un bonche de chavos que iban y venían. Llegué hasta el Polideportivo y me quede contemplando un rato la vista.

El reloj marcó la hora y me regresé para asistir a la conferencia del Dr. Antonio Quiróz acerca de la formalización del modelo Watson-Creek del ADN. Es increíble la forma tan natural y sencilla de hablar de temas tan especializados y conseguir ese link con la audiencia tan jovén (excepto yo). Entre anécdotas personales y de la historia de la ciencia nos dió una introducción a la investigación del ADN y la participación de varios científicos mexicanos, incluido él mismo en análisis, planteamientos y respuestas. Realmente es un personaje.

Al terminar su ponencia, seguía mi turno en otra sala del campus y sin más me dirigí para prepararme. Conectar el proyector a la lap, arrancar, poner la presentación y después de la introducción sobre mi persona empezar. Agregué algunas láminas para esta ocasión y fui platicando sobre el tema Introducción al Proyecto Mono. Finalmente llegué al punto de los demos y los primeros que son los que realizo sobre Windows fluyeron sin complicación, pero al reiniciar la máquina para mostrar los demos en Linux ¿qué creen que pasó?

Sip. Una vez más. ¡torpe, torpe, torpe! No se proyecto nada de nada. No saben como odio eso. La próxima vez, que será en el FONASOL a finales de mayo, primero voy a probar si consigue proyectar desde Linux y voy armar una máquina virtual con Windows para hacer las demos y si no funciona con Linux en Windows voy a tener una máquina virtual con Linux. En fin. Esta vez no hubo muchas preguntas y de nuevo insisto en que si hay comentarios me los hagan llegar. Al final tuve el gusto de conocer a un par de chavos entusiastas del software libre: Darío Navarro Rosales y a David Hernández Pérez, quienes son miembros del GULEH y conocidos de Iver y Akin0, .

Después, Heriberto tuvo el detalle de invitar la comida, pero desgraciadamente su función de organizador le impidió acompañarnos y me senté a comer y platicar con Darío y David. Bueno, medio platicar ya que en ese rato se estaba instalando la Orquesta Sinfónica de UAEH para ofrecer algunas piezas. Terminamos un poco antes de iniciar el concierto y nos acomodamos para escucharlo. Piezas sencillas que encontré en mis recuerdos de cuando miraba las caricaturas en la tele los sábados por la mañana.

No hay nada como la música viva y este caso no fue la excepción. Realmente lo disfruté bastante, sobre todo cuando el director invitó a alguien del público que pasará a dirigir la orquesta y Heriberto saltó como resorte. Un momento muy divertido.

Bueno, fue un día excelente gracias a la gente de la UAEH, empezando por Heriberto por darnos la oportunidad de participar en el Congreso, por conocer al Dr. Quiroz, fue muy, muy emocionante y motivante y por ver chavos clavados con el software libre. Muchas gracias a todos.

Finito.

lunes, abril 23, 2007

De vuelta

Hoy fue mi primer día en el trabajo después de las vacaciones.

Han pasado un infinidad de cosas, en el mundo de desarrollo y algunas en lo particular.

Como noticias que considero relevantes, está la liberación del preview de Mono 1.2.4 y SilverLight.

En lo particular, el próximo miércoles tengo la oportunidad de exponer en el evento 2° Congreso Universitario en Tecnologías y Comunicaciones en la bella airosa y en 1er Foro Nacional de Software Libre. ¿El tema? El proyecto Mono.

Y otra, acabo de abrir un grupo Google para iniciar el desarrollo de una suite de operación comercial para la micro, pequeña y mediana empresa. La idea es tener una opción de código abierto para el manejo de las operaciones comerciales (facturación, CxC, CxP, clientes, proveedores, etc) desarrollado con Mono.

Hay muchas cosas que definir y más trabajo que hacer. Sigamos adelante.

Finito.

miércoles, abril 04, 2007

Parche para un parche

Ya había dejado pasar bastante tiempo para postear de nuevo, pero hoy me sucedió lo que nunca me había pasado antes: ser víctima de las actualizaciones de Microsoft.

El lunes o la semana pasada actualice religiosamente mi PC de la ofi con el servicio de Microsoft Update que me enjaretó un par de actualizaciones de segurida'.

Pus el chiste es que la instalé, pero como he estado en curso (zzzZZZzzzzZZZ) no había encendido hasta hoy y me apareció el infame error del panel de control de Realtek.

Como por pura casualidad, al leer mis feeds me encontré con uno que se refería a este problema supe de inmediato que hacer de lo contrario ya estaría reinstalando el software de la tarjeta de audio.

En fin, un caso más del parche sobre parche.

En otro orden de ideas, voy a estar de vacaciones a partir de mañana (técnicamente desde el siguiente lunes) asi que si había retrasado mis posts, yo creo que me aventaré una semana más sin postear. Pero, pueden seguir las ideas del Tuzo en Integración a la Mexicana, que está harto interesante. ¡Caliente!

¡Felices Pascuas!

Finito.

jueves, marzo 29, 2007

20 x 20 = 6' 40''

Generalmente al terminar cualquier exposición escuchamos la frase: "Lástima que no hay más tiempo..." o no falta el cuate que lanza la última pregunta, la más difícil de responder y se la salta el ponente con la perorata "Lástima, ya no hay tiempo para contestarte".

¿Qué pasa si en lugar de 1, 2 o n horas tuvieras solo 6 min 40 segs? ¿cómo conseguirías atraer la atención de la audiencia y que se llevara el mensaje que quieres comunicar?

20 láminas , 20 segundos por lámina. Pecha Kucha.


El último martes de cada mes, en el Covadonga (Puebla casi esquina con Orizaba) se lleva a cabo la edición mexicana de Pecha Kucha. El martes pasado asistí y la verdad es que estuvo excelente.

Los ponentes, la mayoría creativos, seleccionaron parte de su material y en slides nos fueron presentando su trabajo, concepto o ejercicio. Mucha gente, ambiente cool, relax y sobre todo, un escape de la rutina (al menos para mí).

Supongo que al ser esta la 4a edición, lo mejor estará por venir. Me muero de ganas de ver algo más que una serie de láminas, fotos; algo que durante 6 min 40 segs me arranque de la tierra y me cuestione mis principios. O al menos que me entretenga.

Para estar al día en los avisos, chequen el PechaBlog donde los organizadores anuncian las reuniones por venir aunque más o menos ya están fijas.

Finito.

martes, marzo 27, 2007

300

Al igual que muchos y gracias a la invitación de Gustavo, fuimos ayer a ver la película 300. Total y absolutamente una película épica.

Siendo una adaptación de una novela gráfica (¿comic?) de Frank Miller, algunas escenas se dibujan con chorros de sangre impresionantes para algunos.

Me encantó la banda sonora, como se fue adaptando a cada momento de la historia. Las escenas de batalla son magníficas, aunque me gustaría ver el Detrás de cámara para descubrir todos los detalles.

La historia, básada en un hecho real, es interesante. Quiero indagar más en la historia. Seguramente van existir algunas o varias diferencias pero creo (espero) que en el fondo debe ser lo mismo.

Me sorprende como es que se representa a los Persas, en particular a Xerxes y la definición que da de sí mismo (un dios), la frivolidad y desenfreno que muestran a su alrededor y el miedo que puede provocar en nosotros lo diferente.

Más de uno a comentado que se trata de una campaña mediática para justificar próximas acciones militares del gobierno de Bush en Medio Oriente. No me suena desabellado pero tampoco creo que se deba tomar como un hecho.

La idea de hombres entregados a un ideal y a su defensa, a costa de todo con un sacrificio inconmensurable pareciera que fuera la etiqueta que le gustaría a Bush que tuviera su ejército sin embargo más de la mitad del mundo no los consideara así.

No creo que la defensa de los ideales sea un error. La imposición de ideales es un crimen. De lo último es lo que debemos acusar a Bush.

Para los que no quieran adentrarse en estas cuestiones de ideología pueden tranquilamente ir al cine y disfrutar la película.

Finito.

Sin afán de repetir lo mismo

Pero tampoco dejar pasar por alto la serie de ataques misóginos de los que ha sido objeto Kathy Sierra es que escribo estas líneas.

Tratando de ser objetivo se trata de un crimen de odio, lo particular en este caso es que se da en la blogosfera, ese espacio virtual que nos trae conocimiento, diversión, amigos y en este caso miedo.

Kathy ha cancelado una larga serie de presentaciones debido a estos incidentes, me parece que ha caído en una condición muy triste por lo que ha dejado de hacer: su trabajo.

El asunto es grave y a la vez se está dando a conocer por que se trata de una figura pública, pero ¿cuántas víctimas más existen? Y peor aún, ¿cuántas víctimas no son virtuales si no de carne y hueso?

Otra cuestión que se despega de esta situación es ¿cuáles son los límites de la libre expresión? Si se bloquean los comentarios agresivos ¿estamos cohartando el derecho a expresarse? ¿la libre expresión incluye agredir a otros?

Ha decir verdad no tengo una respuesta pero no dejo de ver a Kathy como víctima de violencia.

Finito.

viernes, marzo 23, 2007

Más sobre Open Source y .NET

Vaya, vaya, vaya. Si bien sabía que la posición de Microsoft en relación a los proyectos Open Source con tecnología .NET (ni te veo ni te oigo) pensé (iluso de mí) que las voces de algunas personalidades de este submundo de desarrollo iban a hacer algo de mella en las torres de cristal bohemio de Redmond.

Ahora resulta que el semi-dios Scott Guthrie ha pestañeando y alcanzado a concebir que MVC es una cosa buea, así que en Redmond van a tirar código para conseguir que ASP.NET soporte este modelo mejor que, ejem, Ruby On Rails o, ejem, MonoRail.

La respuesta que más me agradó sale de David Starr que ha publicado esta carta abierta para Mr. Guthrie y A Quien Corresponda.

Como siempre, no faltan paleros de cualquier lado de la valla, y en esta ocasión Jeffrey Palermo efusivamente escribe: "Great concept Scott. I love what you are doing." :O

¿Qué va a suceder a continuación? ¿Matar MonoRail? ¿Alguien pidió una misa por NDoc? ¿Por qué no mejor cooperar con Castle Project? ¿Es demasiado complejo para los arrastra-controles?

Finito.

jueves, marzo 22, 2007

¡Arrancando!

Por fin apareció el primer post en Integración a la Mexicana. El valiente fue el Tuzo que se animó a publicar su primera nota. Espero que ya en estos días también Gustavo se anime a platicarnos su visión de todos esto que estamos haciendo en el trabajo.

Finito.

martes, marzo 20, 2007

Búsqueda eterna

Algo que me han dicho más de una vez es que soy muy desorganizado, muy desordenado.

Es cierto, brinco de una idea a otra como pelota de ping-pong. Me cuesta mucho trabajo terminar algo que empiezo y cuando lo consigo generalmente siento que se pudo haber hecho mejor. ¿Perfeccionismo?

Si bien dentro de un ambiente de trabajo este comportamiento no es nada deseable, me ha dejado un mega-bonche de conocimientos y experiencias que me permite dar otro tipo de valor, sin embargo, siempre he deseado poder tener orden en mis ideas y actividades. Puedo ser exageradamente disciplinado para algunas cosas y para otras no consigo dar pie con bola. También tiendo a dejar todas las cosas hasta el último minuto, para después de varios teclazos tenerlas resueltas.

Entonces, siempre estoy en búsqueda de un mega-super-dooper método que permita explotar mi natural inquietud (ping-pong-effect) con la mundana capacidad de hacer las cosas (get-things-done) ¿Ven para donde voy?

Pues si. Yo también ya empecé con la onda GTD. Gracias al blog de Scott Hanselman vi varios posts acerca de como se organizaba para trabajar. Gadgets, técnicas, etc. Alguna vez apareció el término GTD y dije: "¡aaahhh! ¡que interesante!" Pero nada más.

Un buen día me dí a la tarea de buscar lo más posible de información sobre la onda GTD y pues encontré varios sitios interesantes, prácticos y regulares. Los que me parecieron más interesantes los deje en mi del.icio.us.

Pero, una de mis manías es no creer en todo lo que dice la gente, si no irme directo a la fuente original así que me pusé a buscar el libro de David Allen y resulta que hasta en español existe. Lo compré el jueves pasado y en mis ratos libres del fin de semana lo estuve leyendo hasta terminarlo. No soy un experto GTD, simplemente alguien con el interés de ponerlo en práctica.

Como hartas en la vida, vas leyendo el libro y más de una vez piensas: "¡wwaa! esto ya lo hago, esto ya lo sabía" Pero siempre resulta que es solo una parte de todo un proceso y que el tener la idea incompleta te afecta más que ayudarte.

La idea de fondo me parece sencilla: Vaciar tu mente. Si sienten que suena muy oriental no están tan perdidos ya que hasta maestro de artes marcianas :P ha sido el autor. Pero por experiencia propia que es cierto.

Para nuestra mente no existe ni aquí ni ahora, por eso nos tenemos que esforzar para ubicarnos en el tiempo y espacio y además funciona de una manera muy simple: todo lo hago, todo lo hago, todo lo hago.... Tenemos que dejar bien claro en que y cuando queremos pensar en algo y es aquí donde aparece otra gran diferencia.

Si bien es cierto que tenemos que pensar, somos trabajadores del saber, para concretar nuestros pensamientos necesitamos actuar. Entonces ahora tenemos que saber que y cuando tenemos que hacer las acciones que pensamos necesarias.

Todo empieza por la revisión de todos los pendientes de nuestra bandeja de entrada (ojo: no es forzozmente electrónica ni de correo), luego por pensar que acción o acciones se derivan de cada pendiente y asociarla a un contexto en el cual podemos ejecutar esa acción.

Existen otras opciones como deshechar el pendiente, archivarlo para una futura referencia o delegarlo a la persona idónea para realizarlo.

Se puede pensar que con una o varias listas de pendientes vamos a poder resolver el problema. La diferencia radica en que nuestra mente reacciona de una manera diferente a una oración ("Bajar de peso") a una acción ("Caminar 30 mins diarios").

El punto que se me queda en mente es que GTD se trata de organizar listas de acciones para realizarse en un contexto específico.

Voy a avanzar en esto a ver como resulta.

Finito.

jueves, marzo 15, 2007

Y siguen con el "faulty" show...

En La Cofradía encontré la liga a este estupendo lugar que solo viene a reafirmar mi ya harto conocida opinión acerca de Vista.

Ahora resulta que te motivan a comprar, capacitarte, promover y hasta ¿vestir? tu negocio con Vista con premios, viajes y regalos. Que bajo han caído.

Seguramente van a organizar una premiación tipo Oscar para aquellos negocios que logren vender más de 10 copias. Ja.

Finito.

martes, marzo 13, 2007

¡Féliz cumpleaños July!


Oh Luisa María
Luisa María
Aliento Luisa
oh Luisa.

El 22 del mes doceavo vi nacer
a un ángel más hermoso que el amanecer
llegan ramos de rosas, mas regalos y cosas
como muestras de amor.

Oh Luisa María
Luisa María
Luisa María ha empezado a decir mamá
sonríe, y juega y duerme en brazos de papá
le regalan su bulla
dormirá blancas lunas que bendijo su paz.

Es un ángel que ha llegado desde el cielo azul
con la venia del Eterno para ser la luz
que ilumine mi sendero para ver mejor
su amor.

Es un ángel que ha llegado a mi soledad
para hacer de mi tristeza la felicidad
es un sueño que se ha vuelto realidad
y es flor, tu perfume a paz
su aroma huele solamente a amor ay, ay, ay.

Luisa María ahora es que empezó a crecer
traviesa, inquieta y guapa un poco más que ayer
se volvió corajuda, porque mas travesuras
no le dejan hacer.

Oh Luisa María

Luisa María ahora se vuelve mujer
se vuelve mas hermosa que el atardecer
ha cumplido otro año va subiendo el peldaño
que la hará florecer.

Es un ángel que ha llegado desde el cielo azul
con la venia del Eterno para ser la luz
que ilumine mi sendero para ver mejor
el amor.

Es un ángel que ha llegado a mi soledad
para hacer de mi tristeza la felicidad
y es un sueño que se ha vuelto realidad y es flor
tu perfume a paz, su aroma huele solamente a amor.

Y es un ángel que ha llegado desde el cielo azul
Luisa María,
Luisa María eres el amor, amor, amor.

Y eres el ángel que ha llegado a mi soledad
Luisa María
oh Luisa María
eres el amor, el amor, el amor.

Y eres el ángel que ha llegado a mi soledad
Luisa María
oh Luisa María
eres el amor, eres el amor.

y eres el ángel que ha llegado desde el cielo azul
Luisa María
oh Luisa María
eres el amor, el amor, el amor.

Y eres el ángel que ha llegado a mi soledad
para hacer de mi tristeza la felicidad
y es un sueño que se ha vuelto realidad y es flor


Tendría yo unos 15 o 16 años cuando escuche por primera vez ésta canción y desde ahí nació mi niña.

Me pasaba rato cantando emocionado "Y es un ángel que ha llegado desde el cielo azuuuul..." soñando con una pequeña nena, sonriente, cariñosa, tierna.

Pasaron muchos años, muchas cosas y dos hijos. Y un día de esos me dicen "¿qué crees?... Si estoy embarazada..." :S

Eran tiempos harto difíciles. Sin trabajo, con dos hijos, deudas a diestra y siniestra. Sin embargo, como sucede en estos casos, el tiempo siguió su curso sin importar las condiciones.

Una tarde, días antes de la fecha prevista para el alumbramiento, se presentaron unas complicaciones que hicieron urgente un ultrasonido. La revisión no arrojó nada grave, condiciones previas al parto. Sin embargo el doctor hizo la clásica pregunta "¿quieren saber que es?" Sin darnos tiempo a contestar nos dijo muy tranquilo: "Es niña".

Al día siguiente nació. Una pequeña hermosa. La primera vez que la ví estaba en la incubadora hecha un ovillo sobre si misma. Y ahí se encarnó mi amor.

Yo quería llamarla "Luisa María" (obvio) pero su mamá simplemente no quiso. Luego intenté con "Julia" pero al final lo dejamos en "Julieta".


Las noches son un mar de oleaje torvo
que a veces me traen recuerdos
y que recuerdos los que vuelan esta noche,
de donde hace tantos años se habían quedado durmiendo
recuerdos que me van llegando a oleadas
y sugieren otros tiempos
tiempos de más,
facilidad es la palabra que hoy me falta y
que hace tanto no comprendo
no tengo más que un vago sentimentalismo
dulce y triste pero viejo,
viejo como el viejo sabor de viejas lágrimas
y viejo, como el muro de su casa donde aparecía corriendo
de la mano de su hermana
cuando la estaba queriendo más que a todo lo que quise,
y sobre todo lo entiendo que quiere alguien con 10 años.
Como me gustaba Julieta araran
En ese entonces todo venía en otros nombres,
desde el amarla en secreto
Hasta el vivir con la confianza en que me
amaba tras de sus ojos risueños
Siempre se resumía en la frase acostumbrada
Y para mí ­ todo lo envolvían tres palabras
ciertas como la verdad,
Me gustaba Julieta araran
Me gustaba Julieta araran dararan
Me gustaba Julieta
cuando iba mirando a cualquier sitio sin hacerlo
cuando imaginaba y se peinaba los cabellos negros
negros como noches y largos, y largos como inviernos
que nunca acababan de estar cerca ni estar lejos
solo, y tan solo a mi lado y a mi lado les recuerdo
Me gustaba Julieta
cuando imaginaba que le amaba de hace tiempo
cuando me escribía que era su amor
cuando lo entiendo y además cuando como hoy lo rememoro
dulce y triste como lágrimas y besos
de mejilla y de la infancia y de hace mucho tiempo atrás
Me gustaba Julieta
cuando murió su papá y se lo dijeron
cuando en la sorpresa soltó el llanto
y el cuaderno en donde decía que me amaba
siempre y cuando fuera eterno como el sol
Me gustaba Julieta
cuando la llevaron a vivir con sus abuelos
cuando dejó de ir a clases con su hermana
cuando una tarde como cualquier tarde
gris se me fue muy lejos
lejos más allá de donde van todos los sueños
que han venido desde entonces y esta noche me repiten
que de niño y en las tardes
Me gustaba Julieta araran
Me gustaba Julieta araran dararan
Me gustaba Julieta araran
Julieta dan dan dan dan dan


La niña que siempre vivió en mi imaginación y en mi corazón.

Finito.

sábado, marzo 10, 2007

Sábado Distrito Federal

Al incipiente joven le encargaron de tarea la visita de dos bibliotecas de la otrora magna Ciudad de los Palacios, la región más transparente del aigre... la Excelsa Ciudad de México, la ciudad de la (des)esperanza (mote perredista).

Pues como buen padre (bueno, alguna vez tenía que fingir) acompañe a mi vástago, obviamente después de atender algunas actividades harto importantes.

El recorrido inicio en la rete aburrida de todos los días al trabajo. La diferencia la encontré al quedarme en la estación del metro Balderas y llegar caminando a la Biblioteca México (así, en mayúsculas). Harta gente, harto chamaco, pura hormona de dos patas.

A mi impetuoso hijo (hijo de tigre, pintito) le acicaté pa'que empezara con los deberes que le fueron encomendados. E iba de un lado a otro preguntando y poniendo cara de víctima. Por fin conseguimos entrelazar ideas y obtener lo que le encargaron.

El tiempo fue nuestro rival y salimos en friega buscando la segunda Biblioteca que visitar, la del Congreso (aquí no debiera importar la mayúscula). Llegamos casi al cierre, gracias a la bondad de una de las personas nos permitieron recopilar el mínimo de información que m'ijo necesitaba, pero esta es una de las Bibliotecas a las que he de volver con más tiempo. Hermosa. Pequeña pero hermosa, con unos grandes estantes para recargar los libros, supongo que los antiguos monjes (por que es un edifico eclesiástico) trabajaban ahí copiando manuscritos (como en "El nombre de la rosa"). Ya habrá tiempo.

Sin embargo, tuvimos que regresar a la México para completar el trabajo que le encargaron. Una consulta sobre el número de hablantes de lenguas indígenas categorizadas por estado. Fácil ¿no? Pus ¡NO!

Primero, encontrar que libro nos pudiera dar la información... Hhhmmm... ¿por dónde empezar? ¿Lingüistica? Tal vez.... Nada... ¿Pueblos indígenas? Puro material explicando que son pobres por weyes y rejegos. ¿Censos? 'uta madre... espero que no se lleven las hojas al baño :O

El chiste es que no fue nada fácil. Encontramos referencias, no encontramos libros.

Nos salimos y fuimos a comer y luego a caminar sobre Reforma de la Diana hasta casi el cruce con Insurgentes. En el camino fuimos viendo la exposición de bancas. No había tenido tiempo de verlas y también le fui contando algunos episodios de como fue que conocí a su mamá, el edificio que fue donde trabajabamos, la acera de Reforma que nos sirvió de confesionario de amor, lugares que frecuentabamos.

Nos dirigimos a la glorieta de Insurgentes y tuvimos una charla pendiente (no fue la de las florecitas y los animalitos) y finalmente aterrizamos en un café interne', donde en menos de cinco minutos encontró la información que buscaba.

Amo los libros. De verdad. Me emociona entrar en una biblioteca y sentirme rodeado de miles de volúmenes, de autores, historias y datos. De todo ese conocimiento y experiencia vertidos en blanco y negro (y a veces a color). Pero, creo que debe existir una manera más dinámica de encontrar la información en esos libros, una manera que expanda nuestra capacidad de búsqueda. Sería fantástico tener indexados todos esos libros, poder consultarlos digitalmente y solamente "copiar" lo que se necesita, sin fotocopiadoras, libros maltratados, falta de material y demás deficiencias que encontramos en nuestras bibliotecas. Sería fantastico que andara equivocado y que el baño no estuviera ocupado.

Ha sido un día fuera de lo normal. Espero él así lo recuerde.

Finito.

jueves, marzo 08, 2007

My Programmer Personality Type

Gracias al blog de BlackNash encontré este curioso test. He aquí mi resultado.


Your programmer personality type is:

PHSC

You're a Planner.
You may be slow, but you'll usually find the best solution. If something's worth doing, it's worth doing right.

You like coding at a High level.
The world is made up of objects and components, you should create your programs in the same way.

You work best in a Solo situation.
The best way to program is by yourself. There's no communication problems, you know every part of the code allowing you to write the best programs possible.

You are a Conservative programmer.
The less code you write, the less chance there is of it containing a bug. You write short and to the point code that gets the job done efficiently.



Finito.

miércoles, marzo 07, 2007

Meme: Commodore 64

Este anuncio trajo a mi mente el recuerdo de la poderosa Commodore 64.

Fue mi primera computadora. Lo más increible es que aprendí a programarla aún antes de tener la mía. Iba a los Aurrera que tenían su stand de cómputo y me pasaba horas enteras. También compraba las revistas españolas que traían y literalmente me los devoraba.

En ese entonces importar libros era un sueño, sin embargo llegué a tener ediciones en español de los famosísimos libros de la serie Data-Becker. Y otros de una editorial española de cuyo nombre no quiero (más bien no puedo) acordarme.

Para mí era increible. Mis hermanos seguro recuerdan las tardes de juegos con la serie Olympic Games, Winter Games, etc de Epyx. El International Karate o Mission Imposible (a mí me gustaba mucho, mucho).

Pero donde me cambió en mucho la vida fue cuando apareció GEOS. Ya antes había visto las supernovedosas Macintosh con su interfaz gráfica, mouse y toda la madre. GEOS trajo al mundo de las computadoras caseras un GUI mucho antes que Windows y toda su parafernalia.

En la C64 aprendí a programar. Primero en BASIC y luego en ¿BASIC? Ja. Era un verdadero drama conseguir otros lenguajes. Llegué a tener un compilador de Pascal (¡uuuyyy! ¡que rudo!) que nunca conseguí hacer funcionar (¡aaahhh!). Una versión de Forth (¿¿¿???) y no me acuerdo que otros.

Pero lo mío, lo mío, era el ensamblador :O

Sip, así en serio. En una serie de libros de Compute! encontré uno que traía paso a paso la construcción de un mega-chido-super-dooper ensamblador. Traía el código que ibas tecleando paso a paso hasta que llegabas a ensamblar el mismo ensamblador :O Open Source sin ser Open Source :S

Me llegué a aventar un editor de disco en puritititito ensamblador. Con eso me hice hombrecito (¡wwwaaa! ¡que sea menos!).

Cuando llegó GEOS, de inicio no había de otra. Ensamblador, ensamblador, ensamblador. Ahí fue cuando aprendí programación orientada a eventos, recursos (resources) y otros chunches propios de desarrollo para GUI's. Hasta compré la guía oficial de desarrollo para GEOS. Me aprendí su API (en ese entonces no sabía formalmente que era un API) de memoria. En fin.

Cada mes, religiosamente iba al Sangron's a comprar la edición de Compute! específica para la C64. Fue durante un año o dos, hasta que llegó el día en que simplemente ya no hubo.

Había llegado el mundo de las PC compatibles.

Finito.

PD. Solo como detalle chuisco. En la película de Terminator, cuando se ve a través de la mirada del cyborg, aparecen secciones de código del kernel de la C64. Neta.

Race to Linux 2.0

¡Ahora es cuando!

Se acaba de anunciar el concurso Race to Linux patrocinado por Novell, IBM y Mainsoft. De lo que se trata es migrar una aplicación ASP.NET 2.0 para ejecutarse en Linux. ¿El modo? Cómo tú prefieras; entre las opciones que se mencionan está Mono (obviamente :P), Grasshopper, PHP, Rails (¡no me tienten!) y creo que cualquier otra tecnología.

En la versión anterior de este concurso, uno de los ganadores fue un mexicano (y no fue Miguel de Icaza con Mono). La vez anterior no le entré, pero quién sabe, a lo mejor esta ocasión me aviento el volado :P

Ahora, los ganadores se van a llevar un Nintendo Wii :O. Así que en vez de andar buscando ventas nocturnas o pagos a 12 meses sin intereses, mejor échense una tardecita en donde quieran y éntren a competir.

Finito.

No andaba muerto

Muchas cosas que contar, poco tiempo para hacerlo.

De mientras me animé a publicar en el blog los items compartidos de Google Reader. Así que podrán ver con que alimento mi cabezota todas las mañanas. Gente, ideas, noticias. Todo me llega por los feeds. Ya casi no visito sitios web. Lo que me importa lo leo en un feed, generalmente del blog de alguien.

Entre los feeds que leo hay casi de todo: Mono, Rails, Arquitectura, Desarrollo, Open Source y varios temas. También pueden consultar mis marcadores de del.ico.us donde encontrarán muchas de las cosas que me interesan como referencia o simplemente por el gusto de recordarlas.

Finito.

lunes, febrero 19, 2007

CONSOL 2007: Fin

El viernes pasado tocó a Gustavo exponer sobre integración de software con SL. Estuvo trabajando muy duro con la presentación y con los ejemplos durante los dias anteriores y finalmente llegó el momento.

Me tocó asistirlo en la presentación, con las láminas y con los ejemplos que se usaron. Hubo un momento que me trabé, tuve un lapsus brutus de varios segundos, Gus saltó al teclado y conseguimos continuar con la exposición :P

Al final, me queda resumir lo que ha sido este CONSOL.

Poquito. Me hubiera gustado estar al menos un día completo.
Emocionante.
Desorganizado :( El viernes tuvimos que esperar cerca de 40 mins por el expositor anterior inició más tarde de lo planeado. Algunos voluntarios tenían enormes dudas de como reaccionar a estos imprevistos. Costo algo de trabajo llegar a algunos auditorios y... ya. Nada más.

Finito.

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.