Trabajo duro…

En este momento estoy trantando de juntar las herramientas para crear una aplicación web con toda la interacción de Ajax y la magia de la Web 2.0 y es realmente complicado.

No estoy encontrando una herramienta que me permita avanzar con orden, orientada a objetos y que sea fácil de instalar para el cliente. Donde el marco de desarrollo es interesante, la instalación es horriblemente compleja, y donde impera la simplicidad, como en PHP, hay que trabajar mucho para que el desorden no nos tape.

Ganó el PHP, al que estoy trabajando con algunas librerías desde el Eclipse. Ni siquiera Aptana, que estuvo a punto de convencerme con el Jaxer. La instalación es bastante fea, la conectividad con base de datos es pobre y se han concentrado en hacer que el debugging sea muy bueno. No alcanza. Para colmo, el entorno no funciona con el servidor interno en Linux, que es al único sistema al que le confío una aplicación server. Fuera!

Ruby on Rails me pareció una excelente opción, a pesar de que la instalación no es lo mejor, pero cuando uno quiere hacer cosas raras como un master detail, termina toqueteando tanto el código que mejor es hacerlo con PHP. Me dió pánico pensar en meterle Ajax y me fui corriendo. Y a esta altura, no voy a desarrollar nada que no se comporte con la inteligencia que estoy acostumbrado a usar en casi todo lo que uso hoy en día en Internet.

Qué necesito?

  1. Orientado a Objetos: clases y herencia. Sin eso no hay trato
  2. Buena interacción con el cliente, ágil y moderna: Ajax
  3. Fácil de instalar para el cliente, en Linux.
  4. Open Source: no voy a usar una plataforma que el día de mañana pierda soporte o que vaya hacia donde no quiero, o que nunca arregle los bugs porque está agregando prestaciones que quiere su departamento de marketing.

Se Viene La Revolución

En tecnología, hemos usado la palabra revolución muchas veces y de tantas vueltas que ha dado el mundo, anunciar un nuevo giro se ha vuelto tedioso.

Nunca como antes, sin embargo, la revolución que hoy vivimos ha hecho temblar a la industria que las produce. De hecho, después de tanto anunciar que las cosas tienen que cambiar, yo mismo he quedado sorprendido de que, finalmente, las piedras estén rodando.

Windows Vista ha sido un estrepitoso fracaso. Como nunca, la gente dice que está contenta con la versión anterior y no puede encontrar una razón de peso para cambiar su sistema. Solamente lo soporta si ha comprado un equipo nuevo, y en muchos casos pide que le instalen el viejo XP, o termina haciéndolo por su cuenta.

El renovado estilo gráfico no le hace sombra a sus competidores, y lo cierto es que más allá de eso, no tiene mucho más que ofrecer. Microsoft dice que es mucho más seguro, pero mejorar lo que se tiene es mucho más fácil que cambiar de sistema. Y para empeorar las cosas, Vista es más lento y requiere una buena inversión en más recursos para la computadora.

Microsoft contaba con que las personas cambiarían sus computadoras, como lo habían hecho en otras oportunidades, y de la misma manera que muchos fabricantes de accesorios, esperaba que nuestros equipos se volvieran obsoletos y saliéramos a comprar todo otra vez. Pero no ha sucedido tan rápido como se esperaba y la poca habilidad de Vista para conectarse con la vieja impresora que no deseamos cambiar o con la placa de sonido que nos gusta como suena, se han vuelto en su contra.

De hecho estamos en la época del reciclado, del ahorro de energía, y todo ese consumo cae mal. Existe una gran cantidad de equipos disponibles que funcionan, que antes hubieran sido desechados con desprecio y que ahora nos negamos a dejar atrás. Y Vista simplemente no cabe en estos equipos.

La revolución que vivimos proviene de la gente que simplemente no quiere descartar sus computadoras, una vez más. Los vendedores de hardware, en franca rebelión, han escuchado a sus consumidores ofreciendo computadoras de bajo costo con Linux instalado. Microsoft está tratando de producir una versión reducida de XP para las computadoras de este rango con tal de no quedar fuera de este negocio, o dejar que su peor pesadilla se haga realidad: que la gente que empieza a usar Linux lo recomiende.

Hasta los aliados más acérrimos, como el grupo Gartner, han empezado a saltar del barco. Bill Gates, para parar la hemorragia anunció que Windows 7, una nueva versión, estará para el año próximo, y que será todo lo que Vista debió ser. Microsoft había planeado tenerlo listo para el 2010, pero está tratando de llegar antes con gran desesperación. Si se apura y tropieza, su situación ya no será frágil sino mortal. Hablar de una nueva versión ahora estanca aún más las ventas de Vista.

Microsoft es una compañía enorme, y su influencia ha marcado la forma en la que hacemos las cosas en tecnología. Hace muchos años, me inspiraba su fuerza emprendedora, pero me fui asustando de la forma en la que atacaba a sus competidores. Si alguno de ustedes ha visto comer a un cerdo adulto, la sensación es la misma.

Bill Gates dijo hace muchos años en una carta abierta, que no se podía hacer software de calidad si no se hacía de una manera redituada. Estaba en contra del software abierto y gratuito, y afirmaba que el software que emergía de esta filosofía nunca dejaría de ser un hobby.

Lo cierto es que cada vez se ve con más claridad que no se puede encarar un proyecto de gran envergadura si no se hace en forma cooperativa,y para hacerlo, el único contrato que se puede respetar se inicia compartiendo el código fuente que le da origen. Más allá del objetable comportamiento de Microsoft, cuando se fabrica el sistema operativo, la base y fundamento de todas las aplicaciones, es desleal producir cualquier otra aplicación porque se corre con una ventaja abusiva sobre cualquier otro competidor.

La industria está cansada del reinado de Microsoft. No sólo son los usuarios. Los vendedores de equipos sueñan con tener el control total del software, como lo tienen cuando instalan Linux. No entienden los principios del software libre y es muy posible que en un principio no respeten los lineamientos que deben seguir, pero ciertamente, es el sistema operativo perfecto para ellos. Si no lo han instalado hasta ahora es por un motivo de peso: no desean pagar por la transformación del   mercado. Los márgenes son pequeños y la guerra de los precios ha fragmentado a todos los jugadores, pero se están animando con los equipos de bajo costo que paradójicamente dejan mejores márgenes. Por lo menos hasta ahora.

Windows nunca tuvo un gran costo para los fabricantes de equipos. Pero los cincuenta dólares que les cuesta se pueden transformar en soporte, y el soporte extendido es un gran negocio.

Para los fabricantes de periféricos, como las impresoras, las placas gráficas y esas cosas, el mundo del código abierto es interesante. Muchas veces intentaron encerrar a sus clientes con tecnologías que funcionan de forma complementaria, o planearon obsolencias forzadas, al dejar de dar soporte a una pieza que se puso vieja, pero todo eso da muy mala imagen y no siempre es legal. Son cosas que no se pueden hacer contra la comunidad si se juega con las reglas del código abierto.

En el mundo super competitivo de las placas gráficas, todos menos uno de los fabricantes han abierto el código de sus manejadores. El argumento favorito de los fabricantes de periféricos para no abrir su código es que le están dando información importante a la competencia. Pero la competencia siempre obtiene la información de alguna manera, y las empresas que abrieron su código entendieron que  era la mejor manera de aprovechar a la comunidad y no quedar fuera del mundo Linux. Estamos hablando de gigantes como Intel, AMD y tantos otros. La empresa restante se llama NVidia, pero se espera que pronto rinda su postura y muestre su código.

No estoy haciendo predicciones sobre la muerte de Microsoft, pero las cosas van a cambiar profundamente si hablamos de que esta compañía no será la que controle el desarrollo del software, ni la que imponga sus reglas de comercialización. Si Apple comprende este cambio tendrá los reflejos para cambiar sus propias conductas monopólicas.

Imagino cambios tan fuertes como una versión de XP de código abierto, o Microsoft creando una empresa diferente para su producto Office, porque tendrá que limpiar su diálogo con la industria con señales muy claras para seguir jugando sin su posición de fuerza.

Virus eran los de antes…

Antiguamente era muy fácil saber que uno tenía un virus en la computadora: se ponía muy lenta, accedía al disco cuando no lo esperábamos, -los discos eran más ruidosos y las computadoras estaban más concentradas sólo en nosotros- en resumen, los síntomas no se hacían esperar.

De hecho, los virus eran mucho más mortales, y tendían a destruirlo todo. El mecanismo de contagio era muy parecido: un diskette con jueguitos. Uno se contagiaba como lo hacía un marinero desprevenido, por un berretín. La culpa flotaba junto con la miseria y la enfermedad.

Los virus han cambiado mucho porque no prosperarían en la red si tuvieran ese comportamiento. Estan equivocados los mails que circulan con noticias apocalípticas de virus que no tienen cura y que destruyen todo a su paso. Un  virus tan letal y violento no puede propagarse porque destruyó el agente de contagio.

Y por eso los virus han empezado a convivir mejor con nuestras computadoras., porque el móvil del virus ahora es convertirla en una multiplicadora de SPAM. Y ciertamente, ahora los productores de virus tienen una recompensa monetaria que los alienta.

El virus siempre tuvo un comportamiento irreverente, la invasión, el consumo de los recursos agenos y el desprecio por los usuarios incautos. Pero no es una exclusividad de los virus informáticos, y como desarrollador de software muchas veces tuve que reconsiderar el comportamiento de los programas que salieron de mi mente para no traicionar la confianza que habían depositado en mi.

Más pequeño es mejor

Cuando se escribe software comercial, siempre se corre contra reloj. Cada lanzamiento de una nueva versión es una carrera alocada en la que los nuevos features, o mejoras que se le agregaron para hacer más apetitosa la compra del producto, deben funcionar a la perfección, por lo menos para la demo de ventas. Queda poco tiempo para corregir problemas, o bugs, que están acumulados, muy poquito tiempo para las mejoras que desean los viejos clientes y decididamente, nada de tiempo para hacer limpieza, eliminar código innecesario y unificar tareas y criterios.

Continue reading “Más pequeño es mejor”

Por qué bootear sin disco?

En algunos entornos hostiles, las piezas móviles son el talón de aquiles. Tratamos de eliminar ventiladores, disketteras y unidades de cdrom.

Un automóvil es un entorno hostil porque se mueve y estropea los discos rígidos y raya los cds. Pero un entorno hostil también es un lugar lleno de polvo. El polvo destruye a la tecnología si no está protegida. Muchas veces es conductor de electricidad y provoca cortocircuitos. Otras veces provoca oxidaciones, pero en las piezas móviles provoca fricciones y obstrucciones intolerables.

Otro entorno hostil es el entorno sumergido, en el que la ventilación no se puede hacer moviendo paletas y en el que se requiere un compartimento estanco.

Para mayor hostilidad, los individuos hostiles, sean animales o humanos, ponen a prueba cualquier pieza de tecnología hasta el límite. Requieren un compartimento estanco y fuerte. Con un sistema de sujeción adecuado.

En todos estos entornos, el disco rígido dura muy poco. Salvo que usemos discos de estado sólido, pero todavía son caros. Y por eso tampoco son aptos para el último escenario hostil: el robo.

Caja Negra

No es la caja negra de un avión, es una expresión que acuñamos los esarrolladores de software cuando hablamos de un paquete cerrado, sin los códigos fuente, pero que hace lo que tiene que hacer: si es un microondas, uno abre la puerta, mete la taza, cierra la puerta y toca el botón. Se calienta el café, uno espera un poco y suena el teléfono. Es un proceso.

Continue reading “Caja Negra”