05 abril 2005

Las PC's baratas

El primer tema que me interesa es este proyecto del MIT, impulsado por Nicholas Negroponte, para vender una Notebook de bajo costo... de bajísimo costo... de US$100!!! La notebook está basada en GNU/Linux, tiene un procesador de 500Mhz, una pantalla LCD de 12" color y amplia conectividad, entre otras cosas. Las órdenes de compra son de no menos de un millón de unidades, financiadas apropiadamente, y varios países como China y Brasil ya se mostraron interesados, pero las primeras pruebas beta se van a realizar en países chicos (como Camboya, donde se está ya realizando una prueba). La noticia ya tiene repercusión en algunos medio locales, y me parece un proyecto incríble, mucho mejor que nuestro programa "Mi PC" (más de esto después). Realmente espero que esta iniciativa tenga aceptación en el mundo. Y por que no... alguna vez también en nuestro país (después de todo también estamos en el mundo no!? aunque muchas veces parece que vamos siempre a contramano).

Por otro lado, últimamente hay mucho entusiasmo en la comunidad tecnológica por un conjunto de planes destinados a llevar tecnología a países pobres o con bajo desarrollo tecnológico. Argentina es uno de ellos, pero Brasil nos lleva la delantera; y en mi opinión, ha tomado mejores decisiones al respecto.

En primer lugar, el proyecto de Brasil se llama "PC Conectado" y su objetivo es llevar PC's baratas a los sectores pobres de su población y llegar a alrededor de mil personas para fines de este año. El proyecto está subsidiado por el gobierno del Presidente Luiz Inacio Lula da Silva, quien se está haciendo notar en el mundo de la tecnología desde hace ya un tiempo por su fuerte apoyo a Linux y las tecnologías Open Source (más información aquí y aquí).
Microsoft al respecto trató de persuadir al gobierno de Brasil para que te utilizara Windows en su nuevo plan, y para ello Bill Gates trató de hablar con Lula en el Foro Económico de Davos, pero éste último no lo recibió. En cambio, le pidió consejo al MIT, que le respondió que el free software es mucho mejor en las dimensiones de costos, poder y calidad que las ofertas propietarias; y que ellos aconsejan usar free software de gran calidad en contraposición con versiones reducidas de mucho más costoso software propietario (más información aquí). Brasil es el quinto país del mundo en cuanto a poblacion y su economía se encuentra en constante crecimiento. Ha tomado un rol cada vez más destacado en el movimiento del software libre, un esfuerzo que propone sistemas operativos libres como una alternativa a los sistemas propietarios y muchas agencias del gobierno están migrando hacia GNU/Linux para reducir en millones de dolares sus costos de licencias de software. "Desde que el crecimiento económico sustentable se basa en las contribuciones a la economía de la creación y el conocimiento, resulta obvio para nosotros que el mejor camino es la mayor saturación posible," dicen Bender y el coautor de la carta , el científico e investigador David Cavallo.

Por otra parte, la situación es bastante más distinta aquí en la Argentina. Nuestro plan, llamado "Mi PC" tiene dos etapas; la primera destinada a llevar alrededor de 400.000 computadoras este año a los hogares argentinos, y la segunda destinada a las pymes. Las computadoras tendrían un valor de alrededor de $1.300 para el modelo básico y $1.700 para un modelo un poco más avanzado, que se podrán pagar hasta en 40 cuotas de alrededor de $50. La noticia ya apareció en los medio más importantes del país, como La Nación ytambién en Clarín. Sin embargo, también despertó mucha polémica porque se ve al plan como una movida que beneficia exclusivamente al sector privado y hasta acusan al Ministro Roberto Lavagna de "operador de Microsoft".
Sin llegar a estas alturas, en mi opinión el tema está mal encarado. Es curioso por ejemplo que AMD no tenga participación en el proyecto, pero eso hasta podría entenderse. Lo que no puedo entender es como el Gobierno de nuestro país no consideró las alternativas Open Source! En ningún momento se manifestó estar por lo menos interesado y esto quedó finalmente demostrado ya que no solamente las computadoras del plan vienen con WinXP Home ya instalado, sino que también con todo un conjunto de aplicaciones Microsoft. Y notarán que el supuesto plan de gobierno está registrado bajo un dominio .com... sin duda ninguna casualidad. Este tema hasta despertó comentarios adversos (muy buena explicación del tema) en otros proyectos donde el gobierno argentino tiene participación, como el proyecto educar: "El plan viola la ley de defensa de la competencia y amenaza de muerte a las pequeñas y medianas empresas que se dedican a la venta de computadoras hogareñas, sin contar que es una estocada durísima a la venta de computadoras económicas con GNU/linux preinstalado".

Bueno... por hoy eso es todo. Mi conclusión es que, aunque nosotros vayamos contra la marea, hay muy buenos proyectos en el mundo para disminuir la tan famosa "brecha digital", y creo que los proyectos de Brasil (de concretarse utilizando software libre) y del MIT van por el camino correcto. Esto va más allá de los típicos fanatismos respecto del Open Source. Esto pasa por dar a la gente que no tiene la oportunidad, una herramienta poderosísima para su educación y para acercarlos al mundo. El tema del open source no solamente es una cuestión de costos. También afecta directamente a la economía de un país, permitiendo que los estudiantes/programadores puedan conocer como funcionan los sistemas que están usando, aprender de ellos y poder trabajar dando servicio técnico o creando nuevos productos. Con esto quiero decir que no solamente es lindo decir "usamos GNU/Linux", sino también decir "nuestros estudiantes de x carrera usan GNU/Linux, le dan soporte a las empresas locales y tienen pasantías en empresas de desarrollo de software". Eso sí sería excelente. Esperemos que entonces, y sin el lobby de afuera, alguna vez podamos afirmar esto. Hasta la próxima!

17 marzo 2005

Una nueva plataforma para nuestras aplicaciones?

Cuando terminé de leer este artículo hoy por la mañana, me di cuenta que muchas de las cosas que allí se presentan no solamente las comparto, sino que cada día están más y más a nuestro alrededor. Para ponerlo en pocas palabras, la escritora nos comenta acerca de un par de rumores y algunos hechos que nos darían a entender que Google está desarrollando un sistema operativo. O que lo deberían hacer antes que Microsoft. Pero esto no es lo que más me interesa del artículo, sino el desarrollo de nuevas... "plataformas" o "técnicas" para desarrollar aplicaciones. Ya no se trata de armar una linda cajita y entregar el producto con una licencia de usar-una-sola-vez, como Microsoft se está dando cuenta. Ahora el foco está cambiando hacia servicios entregados a través de la web. Y si Microsoft se dio cuenta de esto y está reaccionando, Google no se podía quedar atrás, aunque sus esfuerzos parecen, al menos por ahora, menos centralizados. En lugar de presentar un sistema como Indigo, Google está desarrollando diversas aplicaciones en la web, como GoogleSuggest y GoogleMaps, que funcionan de una manera similar, al menos en el concepto.

Para detalles técnicos, aquí se encuentra una explicación de cómo funciona GoogleSuggest, y aquí otra sobre cómo funciona Gmail. También les dejo este link, que trata acerca de lo mismo, pero con el nombre de Ajax.

En definitiva, las tecnologías como XHTML, CSS, XML, XMLHttpRequest y JavaScript juntando y haciendo uso de todo nos permite desarrollar aplicaciones para la web de una manera sin precedentes, en cuanto a la "experiencia" que el usuario tiene al usar nuestros sistemas. Ya no se trata de cargar una página cada vez que le hacemos una request a una página. Con estas tecnologías -que ya están entre nosotros desde hace un tiempo, pero hasta ahora no se habían usado de esta manera- el usuario hace una request y puede seguir usando nuestra aplicación mientras su solicitud se procesa de manera asíncrona en el servidor. ¿El resultado? No solamente el usuario trabaja con una interface mucho más agradable y productiva, sino que también se consume menos ancho de banda -ya que no se envían páginas completas al cliente sino solamente paquetes de datos más pequeños- y también se reduce la carga de trabajo del lado del servidor, ya que el procesamiento se realiza del lado del cliente.

Es de esperar que este tipo de aplicaciones empiecen a expandirse en el futuro. El ritmo con el que lo hagan depende de muchos factores. Google y Microsoft seguramente tendrán mucho que ver en esto, y ya están mostrandonos signos de lo que se viene. De todas maneras, aunque las tecnologías no son nuevas, la forma de utilizarlas en conjunto sí. Por lo tanto realmente no podemos decir de que manera se utilizarán en el futuro, todavía queda mucho por investigar y desarrollar. Hasta la próxima!

09 marzo 2005

Información sobre C#

Estos últimos días estube leyendo mucho acerca del lenguaje de programación C#. No es ninguna novedad para los que leen habitualmente este blog que a mi me interesa mucho. Aunque todavía estoy dando mis primeros pasos con el lenguaje, sigo muy de cerca el avance de ciertos proyectos que les voy a comentar hoy y las novedades que va a traer la próxima versión del lenguaje 2.0.

Para los que se sienten un poco perdidos, les comento que el lenguaje de programación C# es un lenguaje de programación de propósito general diseñado por Microsoft para su plataforma .NET. Sus principales creadores son Scott Wiltamuth y Anders Hejlsberg, diseñador del lenguaje Turbo Pascal y la herramienta de Desarrollo Rápido de Aplicaciones (RAD en inglés) Delphi. C# es un lenguaje de programación que toma las mejores características de lenguajes preexistentes como Visual Basic, Java o C++ y las combina en uno solo. Es mucho más sencillo e intuitivo programar en C# que hacerlo con cualquiera de estos lenguajes ya que carece de elementos heredados innecesarios en .NET. Por esta razón, se suele decir que C# es el lenguaje nativo de .NET.

Terminada la introducción, aquí les dejo un link en el que están explicadas las nuevas características que el lenguaje incorporará en su versión futura. En resumen, se explican los componentes genéricos, los iteradores, los métodos anónimos, los tipos parciales y la compatibilidad con los estándares ECMA e ISO.
A continuación les comento de un muy interesante tutorial que encontré en la red acerca de C#, en un sitio llamado Clikear que es un portal para desarrolladores del .NET Framework. Para gente que se encuentre un poco más avanzada, un excelente libro es "Dissecting a C# Application: Inside SharpDevelop" que se puede descargar gratuitamente desde aquí.

En cuanto a entornos integrados de desarrollo (IDE, en inglés) y herramientas, primero que todo hay que nombrar al estándar, el que sigue todo el resto. Este es el Visual Studio de Microsoft. Pero... como yo no estoy dispuesto a pagar (aunque vale la pena realmente) porque por ahora programo como un hobby, vamos a ver las "otras" alternativas.
  1. La primera de todas es bajarse el SDK del .NET Framework. Tiene todo lo necesario para que uno empiece a programar inmediatamente. Pero no cuenta con el hermoso IDE que trae VisualStudio. Todo se usa mediante línea de comandos y su editor de texto preferido.
  2. Si seguimos en Windows, la segunda es usar SharpDevelop, que necesita el .NET Framework para funcionar. Es totalmente Open Source y funciona muy bien, sin mencionar el hecho de que también compila código de VB.NET.
  3. Otro proyecto muy interesante, es MONO. Ya he hablado bastante de este proyecto, pero para los que no lo conocen les cuento que es una implementación Open Source del .NET Framework basada en el estándar ECMA 334 (la especificación del lenguaje C#) y en el ECMA 335 (la especificación del Common Language Infrastucture) que permite desarrollar aplicaciones multiplataforma (Linux y Windows).
En cuanto a las dos últimas herramientas, se encuentran en constante desarrollo, aunque ya se encuentran disponibles muchas aplicaciones desarrolladas bajo estos entornos (más de 2.000 aplicaciones Open Source según SourceForge se encuentran en diversos estados de desarrollo programadas en C#). Con esto se demuestra que son verdaderamente útiles y se pueden aprovechar las capacidades del lenguaje al máximo.

Por hoy, ya terminé. Espero que les sirva para animarse a programar en esta plataforma y aprovechar todas las herramientas disponibles para eso. Como último detalle, les cuento que Microsoft tiene una interesante certificación para desarrolladores .NET gratis. Hasta la próxima!

07 marzo 2005

Estoy de vuelta!

Bueno, primero que todo les quiero pedir perdón a todos los que estaban esperando una actualización. Diferentes cosas me mantuvieron off-line por mucho tiempo, entre ellas un final, las vacaciones y los casi dos meses que me estuve peleando con diferentes ISPs hasta conseguir que mi nueva conexión ADSL funcionara sin problemas. Mis disculpas para todos.

En este momento estoy disfrutando de la ya antes mencionada conexión, pero solamente bajo WinXP, cosa que pretendo cambiar a la brevedad... o cuando encuentre tiempo suficiente para configurarla bajo Mandrake. O finalmente me decida a probar Gentoo en mi máquina. Cualquiera de las dos es bienvenida, y si alguno me puede contar como les fue en un intento similar no duden de postearlo en los comentarios!

En cuanto a novedades, les cuento que muchas realmente no he encontrado en el mundo de las noticias. Pero si en el mundo del software. Como primera medida y treinta segundos después de haber comprabado que mi conexión funcionaba, bajé de la red el ZoneAlarm, un firewall privativo para Windows bastante bueno. Sin embargo, mi adicción (!) por el soft Open Source clama porque instale otro, asi que si alguien conoce alguno que funcione en WinXP por favor hágamelo saber a la brevedad. Acto seguido, y con el firewall andando, me fui hasta la página de Mozilla para bajar su navegador Firefox. La verdad es que estoy encantado con él, aunque tiene algunos problemas para visualizar determinadas páginas (como la de mi facultad por ejemplo!) es excelente. Una de las cosas que más me gustó fue el gestor de descargas, realmente bueno. Y ahora finalmente me encuentro buscando una alternativa Open Source para mi AVG Free Edition. Misma situación que con ZoneAlarm. Hasta ahora lei que el ClamWin funciona bastante bien, pero todavía se encuentra en estado de beta. Veremos que sucede cuando lo pruebe. Todavía no incluye un scanner en tiempo real (uno tiene que manualmente escanear cada archivo), ni Outlook Addin (que por suerte no uso!) ni POP3 Proxy, sin embargo borra automáticamente un adjunto infectado. Como última novedad de este lado les comento que estoy jugando Planeshift, y la verdad que me tiene muy entusiasmado! Todavia se encuentra en un estado muy prematuro de desarrollo, pero tiene mucho potencial!

Y en otras novedades, hace poco recibí un mail en el que estaban buscando pasantes para una empresa de Mar del Plata. Pero lo que me llamó la atención fue que estaban buscando gente con manejo de Linux y MySql, para implementar un sistema de cobro, facturación y stock desarrollado por esta misma gente en Gambas. Como mucho de esta tecnología no conocía, estube haciendo una pequeña investigación en la red, y parece interesante. Muy cortita, se trata de un Entorno Integrado de Desarrollo (IDE en inglés) basado en un intérprete de Basic con una extensión a objetos, como Visual Basic (tm), aunque no es un clon. Personalmente me gustaría que ya estuviéramos desarrollando en Argentina bajo Mono, pero sin embargo es muy alentador ver que las empresas se están volcando a soluciones Open Source y alentando el desarrollo local. Lo cual me alegra, porque significa que voy a tener trabajo!

Eso es todo por ahora, les dejo un abrazo grande a todos.

26 enero 2005

Patentes

Sin lugar a dudas, este es uno de los temas que más vueltas trae en el mundo de la informática, y tiene dos extremos muy claros. Por un lado, tenemos a Microsoft por ejemplo, que se les ocurre patentar hasta la piel! Y por el otro, y la que nos ocupa hoy, tenemos gente como IBM y Sun que estan liberando muchas de sus patentes bajo estándares abiertos. Varios ejemplos de ello son la reciente promesa de liberación de más de 1600 patentes por la gente de Sun, la presentación del sitio OpenSolaris y también la promesa de la gente de IBM de liberar más de 500 patentes para gente que esté trabajando en proyectos Open Source (necesita registrarse gratuitamenteen el NYTimes para ver la noticia).
Todo esto promete mucho, y generalmente no todas estas promesas se concretarán. Pero es importante dejar de lado el escepticismo y ver la importancia de este tipo de medidas. No solamente es una movida publicitaria para las empresas, sino que también le permite a los desarrolladores open source no tener que reinventar la rueda continuamente, y esto es verdadero valor. Las empresas también se ven ampliamente beneficiadas con estas medidas, ya que les permite una mejor auditoría de su código y una mayor cantidad de desarrolladores involucrados en sus proyectos, que en conclusión nos permiten tener acceso a todos a un mejor software.
Como nota curiosa, les dejo un link a un artículo en Wired acerca de Biología Open Source y el link de SourceLicense. Hasta la próxima!