Programación, Literatura y otras artes menores

El esfuerzo de utilizar máquinas para imitar la mente humana siempre me ha parecido bastante tonto: las usaría para imitar algo mejor. –Edsger W. Dijkstra

Especialización vs Diversidad

Posted on | Diciembre 21, 2008 | No Comments

En mis inicios dedicaba grandes espacios de mi tiempo a la exploración y el aprendizaje, grandes aventuras intelectuales y geeks me divirtieron durante varios años… hasta que empecé a vivir de mis conocimientos, comencé a programar en serio y tuve la suerte de ser incluido en un interesante proyecto, donde aún trabajo.

Desde hace do años he dedicado mis estudios diversas áreas, pero todas ellas fuertemente ligadas a la labor que desempeño(y que me da de comer):

  • Administración de linux
  • MySQL
  • Java(mucho de Java)
  • Administración de proyectos(maven2, SVN, trac, Scrum, etc)
  • Transacciones bancarias(jpos.org, mucho JPOS)
  • Papeleo informático(PCI, ISO 27001, etc)

Osea que mis últimos años no han sido aburridos precisamente, pero por desgracia no he tenido tiempo para divagar por áreas “inútiles” que me interesan, como python, FreeBSD, Solaris, titanium, haskell, Ocaml y demás tecnologías muy interesantes que andan pululando por el mundo.

Entonces, si uno está en un proyecto al que uno le entrega todo lo que tiene(intelectualmente hablando), uno le sacrifica su curiosidad y parte de la diversión de ser un geek… ¿entonces? Entonces nada, aprieta el c*** y dale a los pedales, aunque de vez en cuando si le abro un huequito pa leer cosas y “traicionar” la dedicación al proyecto :-)

Le dedico este post a todos los “aburridos” que no contribuyen al SL, aunque sí lo usan, a los que tienen que trabajar intensamente para comer y se esfuerzan por divertirse en ello.

¡Suerte!

Comentario certero

Posted on | Diciembre 2, 2008 | No Comments

Acabo de leer un comentario en este artículo, el #13, el comentario es cruel, pero por desgracia certero,  aquí lo reproduzco, pues no tiene permalink:

Miles de millones de ratas mueren todos los días en las alcantarillas de cualquier ciudad del mundo… Ninguna es de laboratorio.

Miles de millones de ratas compiten cada día por los alimentos con los seres humanos… Ninguna es de laboratorio.

La mayoría de las ratas que viven en el mundo son víctimas del odio y de la persecución sin tregua por parte de los seres humanos… Ninguna es de laboratorio.

Todas las ratas de laboratorio tienen garantizada la salud y la alimentación, a cambio de todo eso se espera de ellas un sacrificio perenne en pos de un futuro luminoso y que vivan confinadas al espacio (suficiente) que generosamente se le ha otorgado

Nostalgias

Posted on | Noviembre 26, 2008 | No Comments

Hace un rato me estaba acordando de mi primer intento por contribuir al desarrollo de la informática en Cuba. Que recuerdo más hermoso, usando indebidamente los servidores de Antillana de Acero, cuando yo era Administrador de la Red, cree la lista de correos JavaCuba, que para mi orgullo albergó a unos cuantos usuarios y por momentos fue bastante activa, sobre todo cuando un grupo de soñadores planeábamos la creación de una revista sobre el Software Libre Empresarial.

Todo quedó en el intento, y ni siquiera la caché de google tiene recuerdos de la pagina de la lista, el único rastro que queda es este, a ver si algún día podemos retomar la idea, la de la lista o la de la revista, o ambas ;-)

Necesidades del Software Libre en Cuba

Posted on | Noviembre 25, 2008 | 4 Comments

La UCI es la Universidad de Ciencias Informáticas, fue creada como parte de un plan de “informatizar” a la sociedad cubana y convertir a la isla en una “potencia” informática, ignorando que durante todos estos años en que la informática en el mundo se ha desarrollado debido a la iniciativa privada o simplemente a la iniciativa personal, como es el caso del Software Libre(SL).

Ahora bien, la facultad 10 de la UCI ha sido dedicada al desarrollo del SL, y entre otras cosas al desarrollo de NOVA, una distribución basada en Gentoo, la cual ha sido vista por unos pocos y cuyo código fuente no ha visto nadie(o casi nadie) fuera de la UCI, y los que lo han visto no pueden divulgarlo debido al “Código de Ética” de dicha universidad. Las pruebas de todo lo anterior están en los archivos de linux-l, donde algunos miembros nos han explicado estos problemas. Estoy conciente de que no es decición de los desarrolladores el que exista esta situación con la UCI, que es desición de jefes que no saben mucho de SL ni de informática en general, pero eso no hace que la UCI haga un trabajo menos incorrecto desde el punto de vista comunitario, así que por todo lo anterior, las críticas a la UCI han sido bien feroces en la lista, hasta el punto que nos han tildado de anti-UCI.

En definitiva no sé porqué tanto lío con la UCI, que hagan lo que entiendan, si les sale un SL derecho comunitario(que lo dudo) que bueno, pero mientras los obliguen a mantenerse encerrados en sus muros(o cercas, no se que hay en la UCI) no son parte de la comunidad y ya. Evidentemente quienes trabajan allí, individualmente sí pueden ser, y de hecho son, parte de la comunidad, pero el trabajo que se hace en la UCI no tiene nada que ver con nosotros, que les vaya bien, y que nos avisen cuando tengan algo.

En realidad lo que más le duele a los informáticos de la isla es el hecho de que por fin se destinen recursos para el SL, pero que se deje de lado a muchos que han trabajado y aun trabajan por el SL, solo porque no son plantilla de la UCI.

Quizás lo más beneficioso para el SL en cuba y para cuba en general sería buscar la manera de potenciar la red nacional, pues ya sabemos que el acceso a servidores allende los mares es lento y caro a causa de la conexión satelital que permite el bloqueo*; pero no hay razones para que la red nacional sea tan mezquina**, bueno quizás si haya una razón: ETECSA no tiene los recursos.

  • ¿Por qué no los tiene? Evidentemente necesita HW que se compra fuera del país, el cual causa del bloqueo es caro… ¿ y china?
  • ¿Qué recursos no tiene? ¿Los cables para conectar a la gente? ¿Los servidores para rutear a la población?
  • ¿Hay alguna alternativa a ETECSA?

Ya se que tanto mis preguntas, como mis respuestas, como mis esperanzas, están totalmente desconectadas de la realidad jurídica y económica de cuba, solo digo que nos complicamos demasiado, como informáticos y como país, y que evidentemente si queremos tener independencia tecnológica tenemos que desarrollar la tecnología, lo cual ahora no lo podemos hacer, por tanto lo primero que debemos hacer es investigar que detiene el desarrollo, pero investigar de verdad, con datos de verdad, no con cosas que “todo el mundo sabe”.

* Hay una historia por ahí de que Clinton le propuso al gobierno cubano unirse a la fibra óptica que pasa por el oriente de la isla y esa propuesta fue rechazada; pero como no hay datos, no digo nada.

**A lo largo de la isla hay una fibra óptica, que debería ayudar a agilizar la conectividad nacional, estos son sus datos, los tomé de este correo.

>> Su ancho de banda es muy grande (teóricamente de hasta 1 THz), mediante
>> técnicas de multiplexación por división de frecuencias (WDM/DWDM), que
>> permiten enviar hasta 100 haces de luz (cada uno con una longitud de onda
>> diferente) a una velocidad de 10 Gb/s cada uno por una misma fibra, se
>> llegan a obtener velocidades de transmisión totales de 10 Tb/s.
>>

Carta a un rebelde

Posted on | Noviembre 20, 2008 | 7 Comments

Lo que sigue es un correo que le escribí a un argentino que participa con nosotros en la lista linux-l. Este señor en cada correo nos intenta adoctrinar con discursos que ya hemos oído muchas veces, y que sabemos que son falsos, aunque estoy totalmente seguro que este “rebelde” los dice convencido de que son ciertos. Mayormente sus criticas y discursos van orientados a lo malo  que es que las empresas comercien con Software Libre(SL), y lo ventajoso de que un gobierno como el cubano lleve la voz cantante en lo que a producción y distribución de SL se refiere.

No le ha importado las múltiples críticas que informáticos cubanos, que viven en la isla, le han hecho a este modelo, por ser aun mas oscuro que el software privativo de una empresa.

Escribo aquí el correo a causa de que no he tenido respuesta de su parte, aunque no pierdo la esperanza.

Asunto: Diferencias ideológicas
Hola, quisiera sacar la discusión de la lista, pues no es el ámbito correcto:

Resulta que lo que le aplicas a las empresas, de que a la larga quieren todo el poder para sí y absorben a quien les haga sombra, no es característica endémica de las empresas, sino de nosotros los humanos y nuestras organizaciones, entre las que se encuentran los estados, como por ejemplo el estado cubano.

Nuestro actual gobierno surgió hace 50 años con la mejor de las intenciones, hacer justicia social; pero los cubanos cometimos un grave error, confiamos en su discurso que con el tiempo se pervirtió hasta convertirse en una copia menor, aunque bastante fiel, del gobierno totalitario de la novela “1984″.

No creo que debamos demonizar ningún sistema político, sino que en todo momento debemos recordar que somos humanos, todos, y por tanto somos falibles, la crisis financiera actual es prueba de que “los que saben” son tan tontos como tu y como yo. Tratemos de ser pragmáticos, en Cuba ya llevamos 50 años de discursos como los que tu haces, y 50 años de ver que quienes dan esos discursos tienen la barriga llena mientras los demás pasamos hambre, evidentemente no me refiero a ti(aunque sí te toca la crítica un poco) sino a nuestros dirigentes. Cuba ahora necesita acciones, y que estén más allá de la propaganda política de un bando u otro, de hecho lo que necesitamos en Cuba es que no haya bandos, sino hermanos, y nos guste o nos pese, la única manera de salir adelante es generar
riqueza y comerciar con esa riqueza.

Y para que veas que no solo aparento imparcialidad, sino que de veras intento ser imparcial, yo vivo en México desde hace un año, y aquí he visto cosas que en Cuba jamás vería:
* He visto niños trabajando en horario de escuela, en Cuba no los hay a ningún horario.
* He visto como médicos mantienen enfermos a sus pacientes para seguirlos tratando, y cobrándoles, en Cuba eso es inimaginable.
* He visto que una señora tendría que pagar 300 usd diarios por una pastilla para el cáncer, en Cuba, de estar la medicina, se la darían hasta gratis.

Osea no soy un iluso que cree que el capitalismo es un lugar lleno de abundancia donde todos son felices como en las películas americanas, pero al mismo tiempo veo que aquí hay oportunidades de llevar a cabo proyectos, ya no hacerse rico, simplemente llevar adelante un proyecto de SL, que en Cuba a causa de trabas legales absurdas es imposible hacer. Aquí me dí cuenta de que la revolución arregló muchas cosas que estaban mal, pero, por desgracia, destruyó lo que estaba bien, destruyó el estado de derecho y las libertades individuales.

Quizás te cueste trabajo entenderlo, definitivamente debes ir a Cuba, pues mi país es demasiado diferente al resto del mundo. suerte

A veces sobrestimamos nuestros problemas

Posted on | Agosto 19, 2008 | No Comments

Una profesora de mi novia solía decirle a sus estudiantes, cuando estos justificaban su bajo rendimiento escolar con tonterías como el mal trasporte público, que cuando se sintieran desgraciados se dieran una vuelta por la sección infantil del oncológico. Normalmente uno no debe quedarse callado cuando sucede algo injusto/no-conveniente, pero también hay muchas ocasiones en las que nos  quejamos por el simple placer de hacerlo, nos damos importancia a causa de nuestra “desgracia”, en momentos como esos, cuando hiperbolizamos nuestra trivialidad, debemos recordar que hay gente como esta(*), e intentar vivir nuestra vida con más dignidad y agradecimiento.

(*)Vía meneame.net

Inicio… otra vez

Posted on | Agosto 19, 2008 | 1 Comment

Pues sí, mismo blog, nuevo dominio, nuevo diseño y nuevo index.html en la raíz del dominio…

Alguien pudiera pensar que ese index.html tan hermoso es el principio de algún proyecto: por suerte o por desgracia… no. Al menos por ahora no tengo nada que poner ahi, excepto la fantasía que ya está puesta.

Normalmente uno dice — o escribe — algunas palabras inaugurales para un momento como este, generalmente esas palabras se usan para darle anímos a los compañeros, o colegas y para dejar de trabajar esa mañana o esa tarde; pero como no tengo ni compañeros ni colegas, en este caso, y además son las 00:21, pues me doy la bienvenida, me auguro… cualquier cosa, y me tomo un baso de agua (ayer se me acabó la última cerveza).

¡Salud!

Borges

Posted on | Agosto 18, 2008 | No Comments

Quizás, seguramente, que un iletrado, un lego indocto(precisamente la inexistencia de esa palabra confirma mi autoflagelación). en fin, que a mi se me ocurra hablar de Borges quizás será, seguramente, considerado por algunos como una intrusión poco menos que herética, pero teniendo en cuenta que soy un ingeniero metalúrgico que se dedica a programar y cuyo sueño frustrado es dar clases de literatura a muchachos de secundaria… pues nada, soy coherente con mi incoherencia.

Siempre he sido un fanático de Borges, bueno no siempre, hubo un tiempo en que acaricié la cubierta rugosa de la edición Huracán de “Los pasos perdidos”, de Carpentier(*), y no entendía cual era el lío con ese argentino de escritura sencilla( y simple, creía yo), que comparado con mi dios del momento era solo un balbuceador de metáforas insulsas…

Fue cuando decidí ser escritor, sigo con mis incoherencias, busqué guía y, aunque la verdad es que no la encontré en ninguna parte, si tuve atisbos de enseñanza en diversos talleres literarios, en los que aprendí a apreciar, de veras, la dificultad de hilar palabras y lograr que el lector lea lo que le yo le dicte; eso lo logré en solo unos pocos párrafos de las muchas páginas que escribí; quizás por ello hoy le escribo código a una máquina, mucho más comprensiva y amable que yo mismo como lector. Decía, que comprender esas dificultades, y que sobre todo que fueran tan… difíciles, me enseñaron a reconocer a Borges, a disfrutarlo más allá de sus fábulas, que además son geniales.

Toda esta perorata viene  porque desde hace como un mes que tengo un par de libros de Saramago cambiando de lugar por todo el cuarto, pero sin acabar de quedar frente a mis ojos, o al menos no el tiempo suficiente, podría decir los títulos, pero no creo que valga la pena, baste decir que no se trata de ninguna de sus libros geniales, sino solo de otros buenos. En medio de mi frustración, era un momento en el que no quería trabajar(sí, trabajar para mi es un hobby), ni quería ver TV, que siempre es una mierda, y me había aburrido de destruir bots en Vendetta, además ya World of Warcraft me tiene medio harto… y por tanto me puse a registrar entre los pocos libros que he logrado acumular en estos 9 meses desde que llegué a México, y reencontré “El libro de arena”, lo abrí al azar y me encontré con uno de los cuentos más sencillos( e incluso simples) de Borges:”El espejo y la máscara”, pero su escritura precisa, su moraleja inconclusa e inútil, todo junto, fue como sentir de nuevo aquella emoción adolescente con la que tantas veces releí, esperando el amanecer, el Docktor Faustus de Thomas Mann.

(*) En realidad no estoy seguro de que fuera una edición Huracán, o más bien seguro que no lo era, pero no cabe duda de que leer un libro de esa magnitud, en una edicion tan asquerosamente mala es una imagen medio poética…

Cálculos y números en aplicaciones financieras

Posted on | Agosto 12, 2008 | No Comments

Hace como un mes ví esto en kriptópolis (un artículo de 20 páginas que muestra algunos problemas de java y C# en el manejo de fracciones y números en general con vistas a aplicaciones financieras, y sobre todo, consejos par evitar los errores, e incluso consejos para los test). Descargué el pdf, pues como en definitiva la plataforma que estamos desarrollando es precisamente una aplicación financiera… pero en la vorágine de trabajo lo dejé sepultado en mi disco duro hasta hoy, que nos tuvieron 2 horas esperando a un funcionario del gobierno, solo para hablar con él 5 minutos — al menos salió bien la minientrevista –.

Por suerte yo andaba con la laptop y buscando que leer(no tenía internet) redescubrí el pdf. Debo decir que me asombró el montón errores  potenciales que contiene mi código. Decididamente es una lectura obligada(o al menos conocimiento obligado, se saque de donde se encuentre) para todo aquel que desarrolle aplicaciones que  manejen dinero y usen java o C#.

Así que me espera una buena cantidad de trabajo, pues debo modificarlo todo antes de que la plataforma salga a produción, para lo cual no falta mucho.

Matriz de enteros en BLOB

Posted on | Agosto 11, 2008 | No Comments

Una de las medidas de seguridad que estamos implementando en nuestro proyecto de pagos móviles es una matriz dínamica de enteros, que en cada transacción debe intercambiar ciertas posiciones aleatorias con el servidor, de manera que ambos se identifiquen(esto además de usar SSL).

Para almacenar esta matriz en la base de datos, la muchacha que desarrolló la parte dl registro  de usuarios utilizó el tipo de datos BLOB. Como ella usó además JPA para la capa de persistencia pues lo único que necesitó hacer fue algo como esto:

@Lob
@Column(name = "matrix", nullable = false)
private int[][] matriz;

… y ya.

Pero la verificación de la matriz la tengo que hacer yo en jpos-ee, el cual usa hibernate, y para facilitarle la vida a los desarrolladores en su script para ant usa hbm2java, por lo que para definir el mapeo de las tablas lo aconsejable es escribir *solo* el hbm y recompilar el jpos-ee.

El lío es que el único mapeo  que se me ocurre para BLOB es precisamente la interfaz java.sql.Blob; ahora bien, donde me quedé perplejo fue en el momento de obtener la matriz de enteros para realizar la verificación del cliente; ya que Blob solo puede devolver dos cosas:

Me metí la tarde entera para descifrar este misterio, así que pongo aquí la solución, con la esperanza de ayudar a algún desafortunado que deba hacer lo mismo o algo parecido:

Blob blobFromClient = getBlobFromClient();
ObjectInput in=new ObjectInputStream(blobFromClient.getBinaryStream());
int[][] matrix = (int[][])in.readObject();
boolean validado = processMatrix(matrix);
in.close();

Lo más jodido es que la solución es trivial, pero por momentos pensé que tendría que hacer alguna chapucería para tener esto en tiempo…

« go backkeep looking »
  • Cuba (40)
    Cultura (1)
    Dimeder (5)
    General (11)
    GNU/Linux (1)
    Internet (10)
    Java (17)
    Literatura (4)
    Mexico (4)
    Programación (64)
    Software (1)
    Software Libre (7)
    Software privativo (2)
    Tecnología (35)

    WP Cumulus Flash tag cloud by Roy Tanck requires Flash Player 9 or better.

  • Meta

  • Archivos