Nota del autor

Si la entrada que estás leyendo carece de imágenes, no se ve el vídeo que teóricamente lleva incrustado o el código fuente mostrado aparece sin formato, podéis conocer los motivos aquí. Poco a poco iré restableciendo la normalidad en el blog.
Este blog es un archivo de los artículos situados previamente en Lobosoft.es y ha dejado de ser actualizado. Las nuevas entradas pueden encontrarse en www.lobosoft.es. Un saludo,
Lobosoft.

viernes, 25 de febrero de 2011

Políglotas

En la anterior entrada del blog mencionaba lo interesante que resulta –a mi parecer– poseer un perfil profesional en el que, aunque nos hayamos especializado en una determinada materia o tecnología, dominemos un amplio espectro de conocimientos. A lo largo de los años las distintas batallas diarias nos hacen ver cómo hasta lo que menos podríamos imaginarnos nos ayuda a resolver un determinado problema. En muchas ocasiones son, en efecto, estos conocimientos que podríamos denominar periféricos los que nos ayudan a dar con la solución que andamos buscando.

Mientras escribía sobre la especialización y la diversificación recordaba un artículo escrito hace unos años por Paul Graham en su blog, “Beating the Averages”, en el que hacía referencia a “La paradoja de Blub”. Si no la conocéis, os invito a leer el artículo completo de Graham y, de cualquier modo, aquí presento un escueto resumen de la mencionada paradoja.

La Torre de Babel

Supongamos que Blub es un hipotético lenguaje de programación de propósito general que nos permite resolver diversos tipos de problemas y para el que existen, al menos, un lenguaje menos potente que él y otro que lo es más. Imaginemos a un programador de Blub que, por ejemplo, conoce la existencia del ensamblador y del lenguaje Pascal. Para nuestro desarrollador está claro que el ensamblador no es lo suyo (para eso están los compiladores) y, desde la perspectiva de Blub, Pascal no aporta mucho más que una sintaxis desconocida para él y, aunque desconoce a qué corresponde tal o cual función de Blub, intuye que Pascal no le aporta demasiado. También ha visto algo de Java, un lenguaje que, en este caso, es más potente que Blub, pero dado que “piensa en Blub”, no es capaz de apreciar la potencia de Java como lenguaje. Es decir, que si bien nuestro programador es capaz de, mirando “hacia abajo”, darse cuenta de esos lenguajes son inferiores a Blub, su desconocimiento hace que sea incapaz de mirar “hacia arriba” y apreciar las ventajas de otros lenguajes más potentes.

Esta paradoja fue usada por Graham para ilustrar la relación existente entre diversos lenguajes de programación y la completitud de Turing y, en particular, para hacer ver lo difícil que resulta comparar dos de ellos entre sí cuando no se conoce alguno de ellos en profundidad.

Volviendo al tema de la anterior entrada, cuanto más amplio y diverso sea nuestro perfil, mejor preparados estaremos para solucionar los problemas que se nos presenten por delante y más acertadas serán nuestras decisiones sobre qué tecnología o qué herramientas usar para construir la solución pensada. E incluso para elaborarla, por qué no. Quienes dominan varios idiomas y mejoran sus conocimientos filológicos son capaces de inferir el significado de un mensaje emitido en un idioma extraño para ellos si es afín a alguno de los que conocen, e incluso afirmar si uno de ellos ha más evolucionado que el otro desde una raíz común o si deriva de aquel. Con los lenguajes informáticos ocurre otro tanto: aunque la mayoría de ellos permite ofrecer soluciones teóricas a los problemas con que nos encontremos, algunos permitirán ponerlas en práctica de un modo más eficiente, ya sea por la plataforma sobre la que se sustentan o por el enfoque que posee el propio lenguaje.

Lo anterior, que parece de Perogrullo, no debe de serlo tanto cuando a lo largo de los años me he encontrado con gente tan acérrima seguidora de un determinado lenguaje o familia de tecnologías (“Jafa forever”, “Microsoft a muerte”, …) que era incapaz de admitir que montar un CMS para gestionar un blog era más rápido y eficiente usando PHP que Java sobre un Apache Tomcat o que, a largo plazo, un ERP en .NET Framework sería probablemente más fácil de mantener y extender que de hacerlo en Python, por ejemplo. Aunque a priori un desarrollador de Bulb tendrá listo su programa en menos tiempo si lo hace en “su” lenguaje antes que en otro que no domine, a largo plazo sus decisiones y forma de programar estarán supeditadas a aquello que le es familiar, y cuanto más estrecho sea su campo de visión más limitadas estarán sus propuestas.

Lo expuesto, por supuesto, sería extensible a multitud de aspectos de nuestra profesión, y no solamente a la programación. Y, “aunque los experimentos haya que hacerlos con gaseosa”, no es menos cierto que de vez en cuando no está de más ser un poco innovador y abrirse a nuevas experiencias. Además, resulta divertido.

Propongo así ser políglotas tecnológicos.

miércoles, 23 de febrero de 2011

¿Es siempre preferible la especialización?

Hace unos días conversaba con un gran informático y mejor amigo sobre diversos temas, hasta que uno de ellos me hizo recordar una de las entradas que tengo pendientes desde hace mucho. Hablábamos sobre las necesidades formativas de cada cual y cómo íbamos cubriéndolas de un modo u otro, así como de las ventajas y desventajas de un perfil profundamente especializado frente a uno excesivamente diversificado o difuso. Dicho en tres palabras: especialización versus diversificación.

Una de las facetas que me parecen más fascinantes del mundo de la ecología es el estudio de cómo interactúan las diversas especies con su entorno. Por poco que nos fijemos en ellas, observaremos que algunas especies se especializan en la obtención de recursos de un determinado hábitat, alcanzando el máximo aprovechamiento del mismo; alcanzan, por tanto, un nivel óptimo de integración con el entorno. Suelen aparecer en regiones aisladas geográficamente, como islas o territorios que presenten barreras biogeográficas (por ejemplo, una alta cadena montañosa), y como ejemplos podrían valernos el oso panda o el koala: grandes consumidores de bambú o eucalipto, respectivamente, y francamente despreocupados de improbables depredadores. Frente a estas, otras especies optaron por una estrategia generalista u oportunista, aprovechando cualquier recurso que esté en su mano alcanzar pero sin alcanzar una optimización máxima. Nuestros amigos los córvidos (por ejemplo, las cada vez más extendidas urracas) o muchos roedores (como la rata o el conejo) podrían servir de ilustración a este respecto. Entre ambos tipos de especies se encuentra un amplio espectro de otras más o menos adaptadas a su entorno.

¿Qué tiene que ver lo anterior con el perfil profesional de un informático? Bien, las especies especialistas alcanzan un aprovechamiento óptimo de los recursos en un entorno que ha resultado estable a lo largo del tiempo. De seguir así, resulta claro que estarán más adaptadas que cualesquiera otras para obtener el mejor rendimiento de aquello que necesiten para sobrevivir. Las especies generalistas, en cambio, no serán capaces de alcanzar ese máximo, pero obtendrán lo necesario para su supervivencia de diversas fuentes. En un ecosistema estable los especialistas vivirán “mejor” que los oportunistas, pero si las condiciones cambian –sobre todo si lo hacen de forma brusca o radical, sin dejar tiempo ni oportunidad para adaptarse a las nuevas- las poblaciones de especies oportunistas permanecerán más estables que las de especialistas y, posiblemente, si las nuevas circunstancias les son propicias, podrán incluso medrar en ellas.

Dentro del ecosistema de la informática, a mi parecer, resulta de lo más interesante poseer un perfil variopinto, especializado en lo posible en una rama del conocimiento, en efecto, pero que no deje de lado otras que puedan dotarte de un valor añadido en un momento dado. Creo que los dos extremos planteados pueden resultar nefastos para un profesional: una excesiva especialización puede hacer que carezcamos de valor a pocos años vista dentro de un sector tan cambiante como el nuestro, aunque en un hipotético presente nos dé cuantiosos réditos (como podría ser el caso de un consultor SAP o un desarrollador muy especializado en una tecnología floreciente), y una diversificación extrema nos llevaría a ser un claro ejemplo del refrán: “aprendiz de mucho, maestro de nada”.

Personalmente, hace unos años me encontré en una situación en la cual me “salvó” de una situación embarazosa poseer un perfil intermedio pero con una fuerte carga generalista. Aunque mi perfil académico está enfocado al área de sistemas, lo cierto es que, salvo un par de experiencias en este ámbito, mi carrera profesional me ha llevado a trabajar, sobre todo, en desarrollo de software. Mis intereses particulares, como bien sabéis quienes habéis seguido el blog durante un tiempo, se centran más en el área de la seguridad informática (aunque ahí me considero poco más que un neófito: ¡me queda tanto por aprender!). Y por haber vivido en Granada, una ciudad maravillosa para el estudiante pero nefasta para el trabajador, a lo largo del tiempo fui acumulando experiencias de lo más diversas en el mundo de la programación; desarrollador web (desde páginas básicas en HTML con sus CGIs hasta ASP.NET pasando por PHP y su terrible “hermano” ASP) y de aplicaciones de escritorio (Visual Basic, Java, VB.NET y C#). Pues bien, cuando cambié de ciudad (y trabajo) hace unos años y me vine a Málaga, lo hice para ocupar un puesto de analista programador en C#, pero finalmente acabé llevando a cabo labores de consultoría (definiendo el proceso de Gestión de la Configuración para un organismo público) junto a unos superiores de los que aprendí mucho, durante un tiempo planteando una serie de cambios sobre herramientas de software libre (volvía el PHP) e, incluso, volviendo a .NET en el último periodo que pasé allí.

De resultas de lo anterior, cuando me marchaba, mi responsable directo –y primigenio entrevistador– me comentó que, debido a cierto varapalo, las expectativas empresariales que habían propiciado mi contratación no se habían visto cumplidas y que únicamente me había salvado de la cola del desempleo (o de buscar un nuevo trabajo justo un par de meses después de mudarme a la ciudad) la capacidad de adaptación y aprendizaje que me había proporcionado el perfil que poseía.

Siempre he pensado que es más interesante (y divertido) poseer un perfil versátil a la par que completo, y en esta apreciación coincidía con mi amigo. Pero, ¿qué os parece a vosotros? ¿Veis mejor ser especialista o ser oportunista? ¿Un bólido o un todoterreno? Y, en el caso de un término medio, ¿hacia qué lado de la balanza os inclinaríais?

martes, 18 de enero de 2011

Conocer la MAC de un equipo remoto

Aunque me propuse, tras llevar a cabo el borrón y cuenta nueva de Lobosoft, que los cambios en el mismo fueran profundos, llevando a cabo un cambio en el tratamiento que daría a los contenidos y desligando estos -hasta cierto punto al menos- del desarrollo de software, lo cierto es que han transcurrido los meses y no he contado con todo el tiempo que habría deseado y, en último término, necesitado, para escribir en él cuanto tenía previsto. Además de eso, en el fondo un servidor es un enamorado de la tecla, y es por ello que he decidido dejar paso al software en el blog, no ya como antaño, con listados de código de mayor o menor extensión, mas sí al menos con pequeñas “píldoras” que solucionan los pequeños retos con los que en ocasiones nos encontramos. Inauguro la sección con una clase de apenas 16 líneas que, para más inri, únicamente se ocupa de llevar a cabo una llamada mediante interoperabilidad a una función de la API IP Helper de Microsoft.

Un compañero de trabajo se preguntaba cómo conocer la dirección física (MAC) del dispositivo de red de una máquina ajena al ordenador donde se ejecutaría la aplicación que estaba desarrollando. El programa en cuestión debería conocer la MAC del mismo para llevar a cabo una serie de comprobaciones y no sería posible solicitarlo a ninguna aplicación de la misma ya que esta únicamente incorporaría un firmware con capacidades bastante acotadas. Está claro que, encontrándose conectados dentro de la misma red, ambos equipos podrían verse y, por tanto, sería posible usar el protocolo ARP (Address Resolution Protocol) para localizarla.

Refrescando nuestros conocimientos de redes, el protocolo de resolución de direcciones, ARP, permite enviar un paquete de solicitud (ARP request) a la dirección de difusión de nuestra red (broadcast) con la dirección IP en la que estamos interesados. Ya sea la máquina que buscamos, u otra de la red que posea información sobre ella en su caché, responderá (ARP reply) con la dirección Ethernet que buscamos. Esto, explicado de forma un tanto básica (para saber más, podéis consultar el RFC 826, donde está documentado el protocolo ARP).

Desde la consola de comandos es posible usar el comando arp.exe para visualizar la tabla de conversiones entre direcciones IP y físicas actualmente disponible en nuestro equipo. En la siguiente imagen se muestra una solicitud de este tipo, aunque es posible localizar la entrada correspondiente a una determinada dirección IP simplemente indicándola tras el comando; por ejemplo, mediante

arp –a 192.168.0.1


Siendo así resulta fácil interpretar que podemos llevar a cabo esa solicitud desde nuestro código. En el caso de .NET, la forma más rápida de hacerlo es invocando directamente a la función SendARP() de la API IP Helper (librería iphlpapi.dll). El código de ejemplo que incluyo simplemente hace eso: recibe la IP sobre la que queremos recabar información de la consola, la convierte a UInt32, ya que es el tipo que recibe SendARP() –aunque podríamos haber recuperado ese valor de la propiedad IPAddress, habiendo convertido previamente la cadena con la dirección IP a un objeto de tipo IPAddress, lo cierto es que dicha propiedad está obsoleta desde hace bastante tiempo y Microsoft desaconseja usarla-, y realizamos la llamada a la API. Esta nos devolverá, si es capaz de recuperarla, la MAC correspondiente a la IP en cuestión. Y ya, simplemente, nos quedará mostrar la información sobre esa dirección física del modo adecuado.


Sencillo, ¿verdad?

miércoles, 8 de diciembre de 2010

La terrible revelación de WikiLeaks

Entrada publicada originariamente en el blog Andanzas de un Trotalomas bajo el mismo título.


Ayer mismo escribía de forma somera acerca de las implicaciones que han tenido las filtraciones de las comunicaciones gubernamentales que ha hecho públicas WikiLeaks y la caza de brujas a que ha sido sometido Julian Assange a raíz de este hecho. Afirmaba entonces que WikiLeaks, en el que se ha dado en llamar CableGate, no revelaba nada que no se supiese ya o, al menos, fuese fácilmente imaginable. Horas después, sin embargo, era apresado finalmente Assange y puesto a disposición de las autoridades (ojo, no escribo justicia, porque eso está por ver), lo que me ha hecho reflexionar sobre WikiLeaks y sobre la verdadera y terrible revelación que nos ha hecho.

Julian Assange era buscado porque pesaban sobre él dos denuncias de abusos sexuales interpuestas por dos mujeres, Anna Ardin y Sofia Wilen, que habían mantenido relaciones con el activista de forma consentida hasta que, presuntamente, este había dejado de lado los deseos de aquellas y había prescindido del uso del preservativo. Así que tenemos una serie de pruebas que relacionan a Assange con Ardin y Wilen, y la palabra de estas dos contra la de aquel sobre la aquiescencia existente en su intercambio sexual. Que después de la denunciada violación ambas mujeres siguiesen en contacto con Assange, desayunando cordialmente con él una de ellas y acompañándole en público la otra, es algo que deberá estudiar el juez que dicte sentencia sobre un caso que ya fue denunciado y dado por cerrado en su día al considerar el propio fiscal que no existían fundamentos para sospechar de una violación. Si Assange es culpable de algo a este respecto debería pagar con la pena correspondiente. De no serlo, habría que estudiar si esas mujeres no incurrieron en un delito de violencia de sexo, usando este además como arma arrojadiza, y llevarlas ante los tribunales.
Pero WikiLeaks no es Assange, como parecen pretendernos hacer creer. Las causas abiertas contra este nada tienen que ver con los documentos publicados por la organización. Nada, más allá de la maniobra de distracción y campaña de desprestigio que están suponiendo, claro. Las revelaciones de WikiLeaks no han puesto en juego la vida de nadie, que se sepa, pero sí han puesto en entredicho la seguridad de los sistemas informáticos estadounidenses y hecho visibles las complejas interacciones de la diplomacia internacional. Como ya dije, no revelan nada que no se supiese con anterioridad; una cadena es tan fuerte como el más débil de sus eslabones, y en la seguridad de los sistemas informáticos hay que tener siempre en cuenta el factor humano. Y que en el juego diplomático y político la hipocresía está a la orden del día no es algo que sorprenda a nadie hoy día.

¿A qué tanto ruido, entonces?
El lenguaje político está diseñado para hacer que las mentiras suenen verdaderas y el asesinato respetable, y para dar una apariencia de consistencia al puro viento.George Orwell.
WikiLeaks ha venido a demostrar que los gobiernos no son intocables y que Internet, con sus autopistas de la información, no se puede someter tan fácilmente como algunos quisieran. Esas vías de comunicación que hacen posible hoy día que los mercados internacionales arrojen importantes dividendos a empresas transnacionales que se encuentran, en muchos casos, por encima de las leyes de los países en los que operan y que pertenecen o poseen a los amos del mundo, esas vías, decía, permiten que la información circule aun a pesar de las trabas que se le intenten poner. WikiLeaks ha caído de los servidores de varias importantes compañías, se han cortado sus recursos financieros pero la comunidad, la ciudadanía, ha mantenido vivos "sitios espejo” o mirrors desde los que es posible seguir accediendo a la información. Incluso los cuestionables actos de ataque a sitios web de empresas que han boicoteado a WikiLeaks no suponen otra cosa que la disconformidad global con la persecución a que han sometido, desde su intocable posición, los gobiernos a la página de esta organización.

Pero decía que WikiLeaks sí que ha hecho una terrible revelación. Realmente no es así, sino que han sido los propios gobiernos los que, en su afán de persecución, han revelado su faz. El intelectual Noam Chomsky ha firmado, junto a intelectuales australianos, una carta abierta dirigida al primer ministro de Australia instándole a realizar una “fuerte declaración de apoyo a Julian Assange”, asegurándose además de que este reciba los derechos y protección que le correspondan. Cuando personas tan reconocidas como Chomsky y los demás firmantes de la carta, cuando los ciudadanos temen tan a las claras por la integridad física del detenido, recordemos, por un gobierno que se quiere democrático y que quiso ser referente de libertades y oportunidades para el resto del planeta, algo va mal.

La terrible revelación de WikiLeaks es que da igual que hicieran pública información del gobierno norteamericano, que no importa que se haya llevado a cabo una “caza del hombre” para encubrir la de la organización, ni tan siquiera que parezca darles igual mostrarse tal cual son en este caso. La revelación es que no están dispuestos a ser cuestionados, ni a que la ciudadanía reivindique transparencia. Quieren seguir en sus tronos dorados de amos del mundo a costa de todo y de todos, porque, como ha dicho el republicano McConnel sobre Assange: "Creo que el tipo es un terrorista de alta tecnología. Ha hecho un daño enorme a nuestro país y creo que necesita ser perseguido con toda la fuerza de la ley. Y si eso se convierte en un problema, entonces habrá que cambiar la ley".

Hoy me permito dejaros con un par de canciones que, creo, vienen al caso. "Tierra de nadie", de Barón Rojo, cuya letra os recomiendo escuchar tras leer la entrada, e "Imagine", de John Lennon, que murió asesinado tal día como hoy, treinta años atrás, y que parece más utópica que nunca.

Salud.

Más información en:

martes, 7 de diciembre de 2010

La larga marcha

Entrada publicada originariamente en el blog Lobosoft bajo el mismo título.

Han transcurrido algunos años desde que leí una obra de Stephen King titulada La larga marcha. Realmente, el libro fue publicado en su día bajo el seudónimo de Richard Bachman y no se puede decir que se encuentre, ciertamente, entre lo mejor de la prolífica producción del escritor. Estas últimas semanas me ha venido a la memoria “la caza del hombre televisada” que se narraba en sus páginas, con la salvedad de que además del hombre hoy se está intentando capturar la información y, para ello, ya que no es posible ponerle puertas al campo (en nuestro caso, a Internet), se intenta dejarla fuera del tablero de juego. Hablo, como no podía ser de otra forma, de WikiLeaks y de su actual director, Julian Assange.
En los tiempos que corren parece no resultar inusual comprobar cómo una entidad admirada pasa a convertirse para los amos del mundo en, hipotéticamente, un grupo de criminales. Todo por decirnos lo que ya sabíamos o, al menos, intuíamos; que las corruptelas políticas están a la orden del día, que los derechos humanos no se respetan en zonas en guerra o que están siendo "pacificadas", que la diplomacia ya tenía un nombre, hipocresía, y que los que manejan el cotarro no quieren que nadie les estropee la fiesta que se han montado.
La persecución a que están sometiendo a Assange, que teme por su vida, ha derivado en una acusación de abusos sexuales en Suecia. Curiosamente es algo que no se investigó antes y que ahora sale a la luz, pero, independientemente de si el australiano resulta culpable o no -algo que solo podrá decidir un juez, en todo caso-, lo que está claro es que se trata de un intento de desprestigio de la organización a través de su cabeza visible y un desvío de la atención mediática sobre lo que está en juego: la neutralidad de la red y la libre circulación de información.
Respecto a la forma en que WikiLeaks ha publicado la información, podremos estar de acuerdo o no, pero no creo que sea actualmente lo realmente importante o, al menos, el debate que está sobre la mesa. Tal vez podría haber filtrado la información realmente importante antes de ser publicada (total, lo que opine el embajador estadounidense de nuestros políticos es pecata minuta frente a los gusarapos que suelta sobre ellos la oposición), y ciertamente existen datos que no deberían ser liberados con ligereza; a nadie le gustaría que sus datos personales o de su intimidad estuviesen disponibles libremente por la red pero, cuando se trata de información que nos atañe a todos, al ser emitida por quienes dudosamente nos representan y gustosamente nos gobiernan, sí que debería existir una mayor transparencia por su parte. En el caso particular de los cables diplomáticos, de no existir información trascendental detrás de los mismos, no aportan nada valioso y tal vez deberían haber sido omitidos para no interferir en la comunicación entre estos países, pero sí que resulta vital conocer el trato que se da a los civiles en Irak, por ejemplo.
A partir de ahora, habrá que pensarse si comprar libros en Amazon es una buena opción y si pagar la compra a través de PayPal no resulta incompatible con nuestros principios, habida cuenta de que los primeros expulsaron a WikiLeaks del "asilo" que suponían sus servidores a la primera de cambio y que la segunda compañía cerró la cuenta que mantenía la organización para recibir donativos. Los Gobiernos gestionan nuestros datos, pero ahora también tenemos los suyos a nuestra disposición. Y el futuro de Internet se está decidiendo ante nuestros ojos.
Os dejo con una recopilación de interesantes enlaces relacionados con este tema:
Actualización a 8 de diciembre de 2010:
Añado un enlace más de mi autoría, tras la detención de Julian Assange:

La larga marcha

Han transcurrido algunos años desde que leí una obra de Stephen King titulada La larga marcha. Realmente, el libro fue publicado en su día bajo el seudónimo de Richard Bachman y no se puede decir que se encuentre, ciertamente, entre lo mejor de la prolífica producción del escritor. Estas últimas semanas me ha venido a la memoria “la caza del hombre televisada” que se narraba en sus páginas, con la salvedad de que además del hombre hoy se está intentando capturar la información y, para ello, ya que no es posible ponerle puertas al campo (en nuestro caso, a Internet), se intenta dejarla fuera del tablero de juego. Hablo, como no podía ser de otra forma, de WikiLeaks y de su actual director, Julian Assange.

En los tiempos que corren parece no resultar inusual comprobar cómo una entidad admirada pasa a convertirse para los amos del mundo en, hipotéticamente, un grupo de criminales. Todo por decirnos lo que ya sabíamos o, al menos, intuíamos; que las corruptelas políticas están a la orden del día, que los derechos humanos no se respetan en zonas en guerra o que están siendo "pacificadas", que la diplomacia ya tenía un nombre, hipocresía, y que los que manejan el cotarro no quieren que nadie les estropee la fiesta que se han montado.

La persecución a que están sometiendo a Assange, que teme por su vida, ha derivado en una acusación de abusos sexuales en Suecia. Curiosamente es algo que no se investigó antes y que ahora sale a la luz, pero, independientemente de si el australiano resulta culpable o no -algo que solo podrá decidir un juez, en todo caso-, lo que está claro es que se trata de un intento de desprestigio de la organización a través de su cabeza visible y un desvío de la atención mediática sobre lo que está en juego: la neutralidad de la red y la libre circulación de información.

Respecto a la forma en que WikiLeaks ha publicado la información, podremos estar de acuerdo o no, pero no creo que sea actualmente lo realmente importante o, al menos, el debate que está sobre la mesa. Tal vez podría haber filtrado la información realmente importante antes de ser publicada (total, lo que opine el embajador estadounidense de nuestros políticos es pecata minuta frente a los gusarapos que suelta sobre ellos la oposición), y ciertamente existen datos que no deberían ser liberados con ligereza; a nadie le gustaría que sus datos personales o de su intimidad estuviesen disponibles libremente por la red pero, cuando se trata de información que nos atañe a todos, al ser emitida por quienes dudosamente nos representan y gustosamente nos gobiernan, sí que debería existir una mayor transparencia por su parte. En el caso particular de los cables diplomáticos, de no existir información trascendental detrás de los mismos, no aportan nada valioso y tal vez deberían haber sido omitidos para no interferir en la comunicación entre estos países, pero sí que resulta vital conocer el trato que se da a los civiles en Irak, por ejemplo.

A partir de ahora, habrá que pensarse si comprar libros en Amazon es una buena opción y si pagar la compra a través de PayPal no resulta incompatible con nuestros principios, habida cuenta de que los primeros expulsaron a WikiLeaks del "asilo" que suponían sus servidores a la primera de cambio y que la segunda compañía cerró la cuenta que mantenía la organización para recibir donativos. Los Gobiernos gestionan nuestros datos, pero ahora también tenemos los suyos a nuestra disposición. Y el futuro de Internet se está decidiendo ante nuestros ojos.

Os dejo con una recopilación de interesantes enlaces relacionados con este tema:
Actualización a 8 de diciembre de 2010:
Añado un enlace más, tras la detención de Julian Assange:

miércoles, 10 de noviembre de 2010

Decrecimiento informático

Unir decrecimiento e informática en una misma frase puede parecer una locura o una paradoja, pero lo cierto es que una de las ramas de la tecnología que mayor crecimiento ha experimentado desde su nacimiento hace apenas unas décadas es susceptible de hacer suyas algunas de las consideraciones que esta corriente de pensamiento, máxime cuando ha sido puntera en aspectos como el ahorro energético y optimización de la gestión de la información.

Por situarnos en contexto, podríamos decir que "la consigna del decrecimiento tiene como meta, sobre todo, insistir fuertemente en abandonar el objetivo del crecimiento por el crecimiento, [...] En todo rigor, convendría más hablar de acrecimiento, tal como hablamos de ateísmo". Estas palabras del economista Serge Latouche nos invitan a reflexionar sobre dos aspectos. El primero, común entre los defensores del decrecimiento, es eliminar la concepción del crecimiento económico como único motor de bienestar y la imposibilidad de detenerlo si queremos mantener un estado del bienestar. Existen innumerables países donde el crecimiento económico desmedido no ha evitado la existencia de desigualdades sociales o de personas que viven en la miseria. El otro aspecto, el del “acrecimiento” me parece muy adecuado para aplicarlo a la informática ya que, en rigor, esta entrada sobre decrecimiento informático bien podría haber sido titulada como “acrecimiento informático”, un verdadero desafío a la Ley de Moore. Veamos el porqué de esta afirmación.

Según afirmaba Moore -uno de los fundadores de Intel- en 1965, el número de transistores de un chip se duplicaría cada dos años y con él, la potencia de cálculo de los ordenadores. Este crecimiento exponencial de la potencia de los ordenadores ha sido visto como un beneficio por los usuarios y profesionales del sector y, de hecho, el auge de la informática ha sido propiciado en buena parte por el abaratamiento del precio de los equipos (gracias en parte a esa disminución del tamaño de los chips). Sin embargo, ¿hasta qué punto utilizamos al máximo las posibilidades que nos ofrecen nuestros ordenadores personales? ¿Es realmente necesaria esa renovación continua de los equipos?

Hasta no hace mucho, al comprar un ordenador sabíamos que al salir de la tienda ya estábamos llevando con nosotros un ordenador desfasado, tal era la velocidad de renovación de la oferta en el mercado. Ahora, con la proliferación de equipos de menor tamaño y prestaciones más limitadas (los archiconocidos “notebooks” o “notepads” y, actualmente, los iPad y sus clónicos, herederos de los “tablet-PC”) el mercado del hardware ha comenzado a diversificarse y a apostar en menor medida por el incremento de la velocidad de procesamiento de sus equipos, ofreciendo prestaciones alternativas para todo tipo de usuarios. Sin embargo, al igual que planteaba hace un momento: ¿hasta qué punto aprovechamos todas las posibilidades del hardware?

Los equipos que suelen ofrecer los distribuidores llevan preinstalado un sistema operativo que, las más de las veces, es software propietario (privativo), usualmente Microsoft Windows en alguna de sus versiones o alguno de Apple en sus equipos (MacOS, iOS…). Aunque podríamos extendernos con diversos factores negativos de este tipo de software (llegará el momento para ello, sin duda) no es este el momento para ello. Sin embargo, sí que es cierto que no siempre aprovechan del mejor modo el hardware disponible (la excepción aquí tal vez podría ser Apple, ya que en su caso hardware y software están siempre íntimamente relacionados), como podíamos comprobar no hace mucho al contrastar el rendimiento visual de Windows Vista frente a algunas distribuciones de GNU/Linux usando Compiz en su interfaz de usuario. La penalización en rendimiento que conlleva usar sistemas operativos con grandes despliegues en el aspecto visual (o que no permitan ajustarlo a las necesidades del usuario) también debería ser tenida en cuenta a la hora de establecer cuál es la mejor opción que podemos usar, máxime cuando el sistema operativo es la base para la ejecución de aquellas aplicaciones que interesarán más a cada perfil de usuario (suites ofimáticas, diseño asistido por ordenador, retoque fotográfico, videojuegos y un largo etcétera).

Sin embargo, las capacidades de multitarea/multiproceso de los sistemas operativos modernos, que parecen aprovechar al máximo los sistemas con múltiples procesadores o procesadores multinúcleo palidecen ante la aparente simplicidad y eficiencia de sistemas operativos como SymbOS, un sistema operativo multitarea para ordenadores de 8 bits basados en el microprocesador Z80 (el usado por los míticos ordenadores domésticos de la década de los 80). Cuando hace varios años vi una versión de este software funcionando me vino a la cabeza el enorme potencial que tenían aquellos, en apariencia, limitados equipos y cómo a lo largo de los años una creciente comunidad de aficionados a los mismos ha seguido explotando sus posibilidades y asombrándonos con cada nuevo lanzamiento.

Algo parecido me ocurrió recientemente cuando vi un vídeo del entrañable Spectrum (mi primer ordenador) reproduciendo precisamente una animación mediante la técnica de video streaming. La fluidez con que se movían las imágenes no permitía imaginar, aun a pesar de lo limitado de la gama de colores representada, que se tratase de un ordenador equipado con un Z80 y apenas unos cientos de kilobytes de memoria RAM. Versiones de videojuegos mucho más actuales como "Doom" en 3D o "Prince of Persia" ejecutándose en esas máquinas (especialmente en clónicos de Spectrum rusos, estos sí de mayor potencia) donde se desenvolvían con toda soltura. Estos ordenadores de 8 bits han seguido evolucionando a su ritmo, al margen de las demandas de un mercado del que quedaron excluidos por la llegada de los ordenadores de 16 bits como el Amiga y, muy especialmente, del PC. Los equipos soviéticos son un ejemplo de cómo la falta de recursos ha agudizado el ingenio, permitiendo crear ordenadores en muchas ocasiones caseros, en otras producidos a baja escala, que si bien superan a sus predecesores en potencia de cálculo lo cierto es que basan su éxito en el uso eficiente por parte del software de los recursos que le ofrece el hardware.


SymbOS ejecutándose en un MSX.


"Prince of Persia" para Spectrum.
Por supuesto, se muestra difícil cuando no imposible volver a esa época dorada de unos ordenadores que hoy día se clasifican bajo la genérica categoría de “retro”. Es más, se nos podría tildar de nostálgicos y de no tener los pies sobre la tierra. Sin embargo, creo que sí se vuelve necesario hacer a la sociedad partícipe de lo innecesario del cambio de equipos informáticos cada poco tiempo. Además de lo costosa que resulta su producción en términos sociales y medioambientales (y económicos, aunque no lo parezca, aunque buena parte de los costes se omiten como externalidades que pagan los más desfavorecidos habitualmente) y lo contaminantes que son sus residuos, lo cierto es que parece absurdo dejarse llevar por una alocada carrera en la que software cada vez más devorador de recursos o menos eficiente (ya que como el hardware parecía ilimitado en muchas ocasiones no se optimiza el código que subyace a los programas informáticos) comienza a requerir hardware más potente que, tras ser adquirido, invita a instalar nuevo software con mayores funcionalidades que las más de las veces no necesitamos o no usamos pero que continua invitándonos a renovar continuamente nuestro ordenador con las tristes repercusiones a las que nos hemos referido brevemente.

Una alternativa a este cambio continuo del tándem software-hardware (o aplicaciones-equipos informáticos, como se prefiera) es el software libre. Entre las numerosas ventajas que presenta se encuentran algunas como la libertad de elección, modificación y distribución del software, el facilitar el aprendizaje de la informática y otras muchas que pueden verse con claridad, por ejemplo, en el mapa conceptual que incluye la entrada de la Wikipedia. La evolución de sistemas operativos y la posibilidad de tener aplicaciones “a medida” de las necesidades del usuario son ventajas que permiten ejecutar el software en máquinas con rendimiento más limitado, usualmente tomadas por obsoletas pero con una vida útil ciertamente prolongada, en nada acorde al momento en que las desechan los usuarios.

También resultan interesantes los usos de la computación distribuida basada en el tiempo de CPU sin uso de nuestros ordenadores domésticos. Proyectos como SETI@home, que usa el tiempo de procesamiento de los equipos cuando no están siendo utilizados por su usuarios, mediante “salvapantallas” especiales; Climate Prediction, para contribuir a la realización de simulaciones meteorológicas que permitan llevar a cabo predicciones más acertadas, o Rosetta@home, que trabaja con proteínas y sus interacciones buscando soluciones para diversas enfermedades son algunas de las opciones disponibles para contribuir con nuestros ordenadores al conocimiento científico.

En definitiva, y por no extenderme en demasía, creo que se hace necesario plantearse un “decrecimiento” o “acrecimiento” en la informática que se traduciría en un uso más eficiente de los actuales equipos informáticos y del software que ejecutan. Podríamos concretar algunos de los pasos a seguir en esta lista, indiscutiblemente limitada, que presento:
  • El software debería estar mucho más optimizado, permitiendo un mejor uso de las posibilidades del hardware.
  • El software debería ser más modular, permitiendo a los usuarios escoger qué aplicaciones y funciones les son necesarias.
  • Buscar alternativas cuando un determinado software tenga requisitos de hardware demasiado elevados o que excedan a la potencia del que disponemos. Existen numerosos programas que “hacen lo mismo” o que cubren nuestras necesidades sin ir más allá, aportando funciones totalmente prescindibles para el uso que damos al software pero que requieren de una máquina más potente.
  • Utilizar software libre hace posibles los puntos anteriores, además de respetar los estándares establecidos o defender valores éticos como los de igualdad, creatividad, colaboración, solidaridad, privacidad y libertad.
  • Puesta en valor de equipos informáticos considerados (erróneamente) como obsoletos.
  • Uso de equipos informáticos que permitan la reparación de sus componentes cuando se averían o su sustitución sin afectar, si no es estrictamente necesario, a otras partes del ordenador. Por ejemplo, un equipo de sobremesa es más sencillo de reparar o actualizar que un portátil.
  • Usar equipos que incluyan mejoras de eficiencia energética (sobre este tema incidiremos en próximas entradas).
  • No cambiar de ordenador a menos que sea absolutamente necesario y no exista otra opción. Si nuestro ordenador antiguo sigue funcionando podemos donarlo a alguna asociación local o que los lleve a países en desarrollo. Si está irremisiblemente averiado, llevarlo a un Punto Limpio de nuestra ciudad.

Para saber más: