lunes, 28 de febrero de 2011

Cubriendo todas las necesidades: Radio Mobile

Actualmente, podemos afirmar que el software libre está presente en todas partes, cubriendo todo tipo de necesidades que se le puedan presentar a un usuario cualquiera. Ya desde sus inicios, Richard Stallman con GNU Emacs y GCC, se encargó de cubrir las necesidades básicas de todo desarrollador software: un editor de textos y un compilador. Llegando a nuestros días, nos encontramos con que el número de aplicaciones y software libre en general para todo tipo de perfiles de usuario, ha crecido considerablemente (y no por ello con baja calidad) hasta el punto de cubrir prácticamente cualquier campo de aplicación: navegadores web, suites ofimáticas, clientes de correo electrónico, juegos, reproductores y editores multimedia, servidores web, frameworks de desarrollo, y un largo etcétera.

Como claro ejemplo de esto, y por descubrir un área tremendamente específica y un tanto desconocida para el público general, tenemos Radio Mobile. Se trata de una herramienta de software libre (nacida en 1988), con la que el usuario puede simular y analizar sistemas de radiocomunicaciones, empleando para ello mapas topográficos digitales para simular el perfil de la elevación del terreno entre una antena transmisora y otra emisora. Según sus autores, su uso está especialmente recomendado para radioaficionados (de hecho, la autoría del software queda firmada bajo un indicativo de radioaficionado, concretamente de Roger Coudé, residente en Canadá) y para aplicaciones con fines humanitarios (siendo de hecho uno de los principales usos de esta aplicación, en el diseño y despliegue de sistemas radio en países en vías de desarrollo).

Capture Radio Mobile

Si bien es cierto que esta herramienta cuenta con ciertas limitaciones e imprecisiones, como por ejemplo los modelos de propagación soportados, pero presentando también una gran flexibilidad, al permitirse por ejemplo el diseño y creación de nuevos modelos de diagramas de radiación para antenas (además de por supuesto el hecho mismo de ser un software libre que poder estudiar, ampliar, mejorar y evolucionar), su potencia queda lejos de las aplicaciones comerciales para uso profesional en las grandes empresas de telecomunicaciones. No obstante, se ha de reconocer el gran mérito que supone el que esos radioaficionados y personas sin presupuesto suficiente como para adquirir las carísimas licencias de las aplicaciones comerciales de este campo, tengan acceso a la simulación de enlaces de radiocomunicaciones mediante esta herramienta, teniendo en el caso de los estudiantes de ingeniería un nivel de acercamiento para una mejor comprensión de los conocimientos teóricos aprendidos, impagable.

lunes, 21 de febrero de 2011

Nokia + Microsoft = ¿?

La irrupción de iOS y Android en el mercado de los sistemas operativos para teléfonos móviles supuso un varapalo para Nokia, que hasta ese momento había sido el líder indiscutible en ventas a nivel mundial de estos dispositivos. Nokia no tuvo más remedio que reaccionar, intentando entre otras cosas captar desarrolladores para su plataforma: Symbian. Así, Nokia liberó el código fuente de dicho sistema operativo, pese a lo cual, las cosas no mejoraron para el gigante escandinavo. Entre aquellos amantes del software libre que no terminaban de quedar satisfechos con Android, se comenzó a generar gran expectación en torno al otro gran proyecto de Nokia, también basado en software libre (Linux, y auspiciado por la Linux Foundation, al contrario que Android pese a estar basado igualmente en Linux) y en su predecesor Maemo: MeeGo.



Pero en los últimos días, ardió la mecha tras el anuncio oficial de la alianza establecida entre Nokia y Microsoft, para incluir Windows Mobile en los dispositivos móviles del primero. Con ello, Nokia dice adiós a su control total sobre los dispositivos que diseña y produce, pasando de un modelo equivalente al de Apple con su iPhone, al que se podría comparar con el modelo que siguen actualmente HTC o Samsung con Android. Teniendo todos estos factores en cuenta, ¿a qué está jugando Nokia? ¿Alguna vez llegó a creer fuertemente en la filosofía y posibilidades del software libre? ¿A qué se deben estos giros tan repentinos y radicales, sin un rumbo fijo? ¿Son normales estos cambios de estrategia a golpes de timón?

Es indudable que para Microsoft se trata de un negocio redondo, puesto que consigue la entrada de lleno en un sector que tenía totalmente perdido tras la llegada demasiado tardía de su Windows Mobile. Pero, teniendo en cuenta la importante presencia que Nokia posee actualmente en los incipientes mercados asiáticos e iberoamericanos, ¿no le habría resultado mucho más provechoso decidirse por una estrategia basada en Android, por lo que además, seguramente habría abaratado sus costes respecto al uso de Windows Mobile, y empleando un sistema operativo ya muy popular entre la sociedad?

El tiempo dirá si se trata de una decisión acertada por parte del gigante internacional Nokia. Pero por el momento, quienes sí hablaron son los mercados bursátiles, ofreciendo en torno a una caída del 10% de las acciones de Nokia tras el anuncio del acuerdo.

miércoles, 16 de febrero de 2011

Arquitectura LAMP

La arquitectura LAMP (tradicionalmente Linux-Apache-MySQL-PHP/Perl/Python), promocionada fuertemente por la editorial O'Reilly hasta desembocar en la adopción del término mencionado para referirse a ella, puede que sea uno de los casos de éxito más sobresalientes del software libre como arquitectura. Esta arquitectura, que consta de un sistema operativo, un servidor web, una base de datos y un lenguaje de programación, todos ellos distribuidos bajo una licencia de software libre, ofrece una manera tremendamente rápida (además de por venir normalmente de serie en las distribuciones de Linux) para la construcción de una aplicación web para usuarios finales a un bajo coste. Siendo tecnologías sin dependencia alguna entre ellas (nunca fueron pensadas con el fin de interoperar entre sí), hace que resulte sorprendente los buenos resultados que se suelen obtener en producción, y siendo un gran ejemplo de la variedad y calidad de productos que ofrece el software libre. Pero sus detractores también ofrecen argumentos para no utilizarlo como por ejemplo la posible falta de soporte respecto a un Windows Server y una base de datos Oracle. Sin embargo, si visitamos páginas de empleo como InfoJobs, veremos un alto número de ofertas de empleo para personas con experiencia en LAMP, lo que nos ofrece la idea de que su grado de penetración en el mercado es elevado, por lo que debemos pensar en que, en cualquier caso, las ventajas que nos ofrece LAMP son mucho mayores que sus desventajas.

viernes, 11 de febrero de 2011

LibreSoft Gymkhana 1.0 en el Android Market

Desde el pasado 4 de febrero de 2011, la versión 1.0 de LibreSoft Gymkhana está disponible en el Android Market. LibreSoft Gymkhana es una aplicación Android para organizar y participar en juegos de pistas; el uso de tecnologías incluidas en smartphones hace que permita incluir experiencias nuevas a las ya tradicionales y divertidas gymkhanas.






También se trata de un juego libre (Open source), educativo y geolocalizado, relacionado con aplicaciones de M-Learning & Turismo principalmente. Está basado en la red social móvil LibreGeoSocial, que incluye una interfaz de realidad aumentada móvil. Gracias a LibreSoft Gymkhana serás capaz de organizar y gestionar gymkanas móviles (m-gymkhana) con soporte para múltiples tipos de retos destinados a los participantes, usando smartphones Android (gymkhanas de nueva generación) fácilmente y sin gran esfuerzo.




LibreSoft Gymkhana es un proyecto desarrollado dentro del grupo LibreSoft del Departamento GSyC (Universidad Rey Juan Carlos) con el apoyo y bajo el marco de la red eMadrid, y ha sido empleado hasta el momento exitosamente en varios eventos organizados por la Comunidad de Madrid: "La Noche de los Investigadores 2010" (un evento de ámbito europeo con el objetivo de acercar a la población en general a la ciencia y a sus investigadores) y "X Semana de la Ciencia" son tan sólo algunos ejemplos. Para más información sobre LibreSoft Gymkhana, puedes visitar su sitio web (click aquí), donde encontrarás cómo descargar e instalar la versión 1.0 (click aquí), noticias, experiencias, vídeos, e información de contacto.

domingo, 6 de febrero de 2011

Un proyecto de hardware libre: Arduino

Ya en la primera entrada del blog hice una mención velada a un mundo en el que el hardware libre fuese una realidad, como ya lo es a día de hoy el software libre. Hace unos días vi el documental que enlazo más abajo, sobre una interesante tecnología que sin duda alguna, está suponiendo una auténtica revolución, al menos en los entornos educativos de nivel superior: Arduino, una plataforma de hardware libre. Lo cierto es que tanto el documental, como por supuesto, la plataforma Arduino, no tienen desperdicio. Durante la media hora escasa que dura el documental, cada una de las personas que realizan algún comentario u observación, nos dejan, quizás sin ser conscientes de ello, una serie de interesantísimas frases dignas de análisis.

Arduino, comenzando como un proyecto Open Source en el que cualquiera pudiera llegar, ayudar y contribuir, y pensado para que perdurase pese al posible cierre de la escuela en la que nació, es un gran ejemplo de la influencia que el mundo del software libre comienza a tener sobre muchas otras áreas de nuestro mundo. Una iniciativa bonita y necesaria, nacida con la idea de facilitar, a un bajo coste económico, la posibilidad de que toda persona aprenda y comprenda cómo funciona el mundo tecnológico en el que nos encontramos inmersos.

Arduino The Documentary (2010) Spanish HD from gnd on Vimeo.

jueves, 3 de febrero de 2011

A medio camino entre git y subversion: git-svn

Actualmente estoy trabajando en dos proyectos de software libre. Los repositorios de estos proyecto, utilizan subversion (svn) como sistema de control de versiones. Sin embargo, llevaba tanto tiempo oyendo hablar de git, que tuve ganas de acercarme un poco más y comprobar por mí mismo las bondades que se le atribuyen, pese a que también hay quien dice que no ofrece grandes ventajas respecto a svn para proyectos pequeños con pocos desarrolladores.

Así, desde unas semanas estoy utilizando git-svn. Evidentemente no es lo mismo, pero creo que sí es una buena aproximación, teniendo en cuenta que el repositorio con el que trabajo es svn, no interoperable con git (así, digamos que en mi copia local trabajo como si de un git se tratase, pero contando con pequeñas diferencias a la hora de realizar los commits, puesto que todo debe ser entendible para ese subversion). Pese a todo, he de decir que hasta el momento estoy bastante contento, descubriendo cosas nuevas que no podía hacer con svn (o al menos, desconozco si realmente se pueden hacer). Algunos ejemplos de esto son que de entre todo el conjunto de ficheros modificados en mi espacio local, puedo indicar cómodamente cuáles de ellos quiero incluir y cuáles no en cada commit, lo cual es tremendamente beneficioso de cara a la atomicidad de los cambios introducidos en un proyecto. Otra gran ventaja es que dentro de un mismo fichero, normalmente nos podremos encontrar con que hemos introducido, eliminado o modificado diferentes bloques de código; así, git también nos permite fácilmente seleccionar qué bloques de modificación dentro de un mismo fichero, queremos seleccionar para nuestro commit, o postponerlo para otro.

En cualquier caso, esto son tan sólo pequeños caramelos si nos fijamos en la potencia de otras muchas funcionalidades de git: merge, branches, etc. Tan sólo un pero le pongo por el momento a git-svn: si enviamos de una sola vez al repositorio todos los commits realizados sobre la copia local de trabajo, todos esos commits aparecerán en el repositorio con la misma hora (en realidad, con pequeñas variaciones, quizás de segundos), cuando realmente nos gustaría que apareciese la hora a la que se realizó el commit sobre la copia local. Pero realmente esto no es culpa de git-svn, ya que realmente en subversion, el timestamp del commit lo establece el servidor al subir los cambios al repositorio, mientras que en git, el timestamp se marca en la propia máquina de trabajo al hacer el commit en ella, y conservándose ésta al realizar el push.