Monthly Archives: March 2008

Tres imagenes de la ciudad de mexico

Post corto y sin mucho sentido. Fotografias tomadas en el circuito interior de la ciudad de mexico, no hace mucho tiempo. Las tres fotos fueron tomadas el mismo dia.

1. Yo quiero esta placa para mi auto 🙂

2008-01-30_08.40.22

2. Lo mas nuevo en antivirus, debe ser bueno, porque esta anunciado en un espectacular.

2008-01-30_09.25.04
Alguien se acuerda de cuando peter norton anunciaba esto? Es impresionante que el espectacular siga en perfectas condiciones despues de casi 15 años de que salio ese producto.

3. La ultima es una imagen chusca y un poco desconcertante.  Tu auto tiene una calavera rota o se le esta cayendo la defensa, que haces?
Le pones una manta agarrada por pinzas para colgar la ropa, por supuesto:
New Image

2

3

México voto SI para estándar OOXML

Update: Al parecer México termino cambiando su voto hacia el SI. Su voto no tuvo mucho peso, ya que es oficial. OOXML es un estándar ISO. La aprobación fue definida por los miembro participantes (miembros P), así que el voto de México no ayudo ni perjudicó.

Titulo original de la entrada:
México se abstuvo en su voto para OOXML

La espera termino, y al final, con la ultima información que se tiene México conservo su voto de 2007 y se abstuvo de la votación sobre el ya tan llevado y traído asunto de establecer OOXML de Microsoft como estándar.

El voto depende directamente de la Secretaria de Economía, específicamente de la Dirección general de normas.

Que se requiere para que OOXML sea aprobado bajo estándar? Básicamente lo siguiente:

  1. Dos terceras partes de los votos de los miembros participantes (es decir: 22 de los 32 posibles)
  2. Y que no haya mas de una tercera parte del total de votos negativos ( es decir, 24 de 96 votos)

Como estamos al día de hoy?

22 de 32 votos en el criterio 1
14 de 69 votos en el criterio 2

Es decir, si todo se queda como estamos al día de hoy (que es lo mas probable), el OOXML pasaría a ser el estándar ISO 29500 y la diferencia seria de un solo voto.

Esperaremos las cifras oficiales, pero difícilmente serán diferentes a estas.

Días negros estos de marzo, sin duda….

La marina estadounidense se olvida de los sistemas cerrados

Hace poco, la marina estadounidense anuncio que ya no esta dispuesta a tirar su dinero a la borda utilizando sistemas cerrados. Al parecer los costos de sistemas que estaban altamente altamente unidos tanto en software, hardware y datos ya estaban siendo un problema.

Y es entendible, como dije en el post anterior sobre sistemas estándares,  una vez que tu ecosistema de sistemas cerrados empieza a crecer, los costos de manutención crecen, tanto por la complicada integración entre ellos, así como por el ya sabido problema de “vendor lock-in”, que te obliga a comprar soluciones a un solo proveedor.

La marina ya lo entendió. El apoyar el uso de sistemas abiertos, es cuestión de dinero.

La importancia de los estandares

No, esta vez no voy a hablar de los estándares html. Esta vez voy a hablar de las tecnologías estándar en el mas amplio sentido de la palabra.

Estándar: Adj. Que es lo más habitual o corriente, o que reúne las características comunes a la mayoría.

Si eres un recién egresado de la carrera de ciencias de la computación,  seguramente tu primer trabajo será programación en visual básica, usando una base de datos SQL server en un servidor windows. Tienes suerte. Si, en serio.

dinosaur

Con el tiempo te vas a encontrar con que tienes que dar mantenimiento a cosas como estas:

  • Sistemas con lenguajes de programación que ya no existen en el mercado
  • … cuya ultima versión salió en 1997…
  • … cuyo único IDE es web…
  • … y que solo funciona en redhat 6.2…
  • … y que esta basado en Básica
  • … o peor, en FORTRAN
  • Bases de datos no relacionales…
  • … basados en archivos de texto plano
  • … que no soportan ACID
  • … o por lo menos integridad referencial….
  • … o de perdida atomicidad
  • … ni multithreading

Y tu trabajo será hacer que esos sistemas sigan funcionando. Mis condolencias. Una vez que tu trabajo es mantener un sistema monolítico como estos, tu carrera esta en peligro. La mayor parte del conocimiento y experiencia que obtengas de estos sistemas no te servirá una vez que te vayas a otra empresa. En muchos aspectos tendrás que empezar de cero, y probablemente tendrás que empezar de negativo, ya que estos sistemas te encierran en el pasado, amarrandote a malas practicas y dejándote atrás en una industria en la que el conocimiento es obsoleto en 6 meses.

Y te conviene tener cuidado de no caer en estas malas no solo por ti, sino por tu empresa. Es cuestión de libertad, pero sobre todo de finanzas. El trabajar con sistemas no estándares les puede estar costando mucho dinero:

  1. Estas herramientas por ser tan exóticas, suelen tener pocos especialistas. Debido al soporte limitado conseguir alguien que te pueda resolver un problema complicado, te puede costar muy caro.
  2. Muchas veces es poco mas que imposible hacer una migración a un sistema operativo mas nuevo. Estarás muy expuesto a problemas de seguridad así como a problemas de performance. Inclusive podría ser difícil o imposible migrar de hardware, en caso de contingencia.
  3. Por la naturaleza de este tipo de herramientas es posible que no puedan crecer al ritmo de tu negocio. Talvez hoy tienes 10 usuarios, pero en un futuro podrías tener 1000. Cuando el sistema no puede crecer, lo mas probable es que tu única opción sea aventar dinero al problema, en términos de hardware. Toma en cuenta que la escalabilidad de un problema en términos de hardware no es lineal. Duplicar la capacidad de procesador no necesariamente reduce a la mitad los tiempos de respuesta, aun paralelizandolo como lo explica la ley de Amdahl. Piensa en términos de escalabilidad.
  4. Si el proveedor de estos sistemas es tu único soporte, te encontraras en el problema de “vendor lock in“. Una vez que un sistema de este tipo es vital para tu negocio, tu proveedor te cobrara lo que el quiera sin que tu puedas hacer mucho para evitarlo.
  5. La curva de aprendizaje suele ser muy alta, costándote muchas horas hombre obteniendo un costo-beneficio mucho menor, ya que son conocimientos poco reusables fuera del campo original del problema.

Te sorprendería saber cuantas empresas del top 100 en este país cuentan con problemas similares. Ahora, que hacer para evitar caer en estos problemas?

  1. Para todo sistema a la medida EXIGE el código fuente. Una vez que tu compras un sistema, ese sistema es TUYO, ya no le pertenece a quien lo creo. El código es de quien lo paga.
  2. EXIGE la documentación completa del software que compres, tanto la documentación técnica como la de usuario. (si, se que es de primaria, pero te sorprendería el porcentaje de software no documentado que existe en este país)
  3. Prefiere que el software que compres este basado en software libre o que sea software libre.
  4. EXIGE que tengas completo acceso a los datos generados en dichas aplicaciones. Otra vez, los datos que generes son tuyos, no de tu proveedor. Además dichos datos deben ser fácilmente exportables a formatos estándares.
  5. Prefiere que el software este basado en lenguajes estándares. Te será mas fácil y barato extender tu sistema si esta hecho en PHP, Ruby, C#, ASP.NET o Java, que si esta hecho en MUMPS o en CLIPPER o en Informix.
  6. En caso de que el sistema sea realizado en un lenguaje propietario, EXIGE que el sistema sea extensible con un API publica y documentada en un lenguaje comercial estándar. Java suele ser una buena opción en estos casos.
  7. EXIGE por contrato que el sistema sea soportado en versiones futuras de sistema operativo al menos por una cantidad determinada de años. Este puede ser un punto complicado de negociar, pero si no lo haces corres el riesgo de que tus servidores sigan corriendo Windows Vista por los siglos de los siglos.

No permitas que tu carrera se reduzca a mantener un software monolítico, créeme, no te conviene.
Parafraseando a un clásico,  esto se trata mucho sobre la libertad, pero sobre todo, de dinero.

Probando IE 8 Beta

Como ya todos saben, Internet Explorer 8 Beta fue lanzado en esta semana. Es una versión especial para desarrolladores, para que vayamos viendo de que se trata.

Como me encanta criticar a microsoft estar a la vanguardia, es mi obligación probarlo. Especialmente después de la noticia de que por default IE8 entrara en SuperDuperStandardMode, lo que sin duda, es un avance hacia una mejor web.

Dispuesto a instalarlo, leo en el IE blog que solo se puede tener un Internet exploder, digo Explorer, a la vez (a menos que se haga un hack feo), por lo que solo me queda la opción de confiar en microsoft instalarlo en una máquina virtual.

La instalación corre sin problemas.

La primer pantalla te pregunta tus proveedores de búsquedas, blogging, etc. Es un poco obstrusiva, pero es beta, right?

IE8_beta_1_screenshot

A primera vista hay unas mejoras en la interfaz, losa favoritos se movieron de lugar, (para tenerlos igual que firefox). El dominio esta resaltado de la URL. Talvez lo mas interesante es que si van a poner el modo IE7, aunque parece que aun no funciona bien. De hecho hay muchos problemas con algunos sitios, tanto en modo IE7 como en modo IE8. Pero es beta, right?

Al momento no hay mucho que ver. Agregaron soporte para microformatos (especiales para IE, of course), el soporte para CSS 2.1 todavía esta incompleto, obtiene un score bajísimo en el acid test3. Pero es beta, right?

Procedo a reiniciar mi equipo y me sorprende una pantalla de bienvenida.

Dibujo

Un momento… (léase en voz de homero simpson), algo no esta bien. Reinicio, y nada. No hay manera de volver a arrancar la máquina de nuevo. Parece que hasta aquí llego mi aventura con IE8. Fue bueno mientras duro.

Parece que tendré que esperar un poco mas para poder disfrutar de las bondades de IE8. Al final de cuentas, es beta, right? 🙂