Archivo

Entradas Etiquetadas ‘libre’

C.I. XVI: Hashtables VS Arrays, Matemáticas de Borges, renombrar archivos masivamente en Linux, Ejemplos de Crontab, Linux 3.2

Sábado, 7 de Enero de 2012 Gaspar Fernández Sin comentarios

Estos días, aunque inactivos, he seleccionado algunos enlaces que me han parecido interesantes:

[Arduino] Utilizando la memoria Flash en lugar de la SRAM para constantes

Viernes, 2 de Diciembre de 2011 Gaspar Fernández Sin comentarios

temp_ardublogOtra cosa no, pero los Arduino no son conocidos por su gran memoria RAM, y es que, por ejemplo en la serie Diecimila, con el Atmega168 tenemos 1Kb de RAM, con el Atmega328, hay 2Kb de RAM, aunque puede que para algunos de nuestros programas nos quedemos un poco cortos.

Una gran ayuda para esto puede ser utilizar las constantes que cree nuestro programa, en forma numérica de tabla de valores constante, o de cadena de caracteres, por ejemplo, para enviar mensajes predeterminados por el Serial, decir el nombre de la aplicación, la versión, etc.

PROGMEM

Será una macro creada para almacenar datos en espacio de programa. El programa no ocupará más, y tendremos más memoria libre para utilizar y reservar a nuestro antojo.

Antes de utilizar PROGMEM, debemos hacer

1
#include <avr/pgmspace.h>

y así poder tener acceso a todas las funciones adicionales que nos proporciona esta biblioteca.

Viendo la memoria libre

Hay una función que encontré aquí, un poco chapucera, pero eficiente (en la web hay mejores funciones, pero esta es la primera que encontramos), y que calcula el espacio que queda en la memoria (en bytes):

1
2
3
4
5
6
7
8
9
10
11
12
13
// this function will return the number of bytes currently free in RAM
// written by David A. Mellis
// based on code by Rob Faludi http://www.faludi.com
int availableMemory() {
  int size = 1024; // Use 2048 with ATmega328
  byte *buf;

  while ((buf = (byte *) malloc(--size)) == NULL);

  free(buf);

  return size;
}

Con esta función podemos ver la memoria que nos queda:

PROGMEM CON NÚMEROS (int, float, char, byte, unsingeds…)

Para probarlo, lo mejor es ver una demostración (no he incluido la función availableMemory(), copiad y pegad de arriba):

1
2
3
4
5
6
7
8
9
10
11
12
void setup()
{
  Serial.begin(9600);
}

PROGMEM int numero=25;
void loop()
{
  Serial.println(numero, DEC);
  Serial.println(availableMemory(), DEC);
  delay(1000);
}

Podemos ver cómo numero está declarado como PROGMEM int, bien, eliminemos el PROGMEM y vemos qué hace, ¡tenemos 2 bytes menos libres! Aquí demostramos que de verdad no estamos utilizando la RAM.

Arrays de números

Ahora viene lo bueno, no hacemos nada si sólo almacenamos en Flash valores, por separado, lo interesante es poder almacenar arrays con lo que tendremos muchas más posibilidades.
Por ejemplo, podemos hacer:

1
2
3
4
5
6
7
8
9
10
11
12
PROGMEM int numeros[]={10, 29, 38, 47, 56, 64, 73, 82, 91, 0};

void loop()
{
  static int pos=0;
  Serial.println(pgm_read_word(&numeros[pos++]));
  Serial.println(availableMemory(), DEC);
  if (pos==10)
    pos=0;

  delay(1000);
}

Cada segundo mostrará por pantalla un número del array de enteros, y todos estarán en Flash, el coste de eso será de unos 100bytes más en el binario que, por tanto también irá a Flash, además de algunos ciclos de procesador; aunque en este caso, importa más la memoria.

He utilizado pgm_read_word() porque el array es de enteros (2 bytes = 1 word), si nuestra variable fuera de 1 byte (char, byte) se podrá utilizar pgm_read_byte() y si la variable es de 4 bytes (long) podremos utilizar pgm_read_dword(), para variables tipo float tenemos de igual manera pgm_read_float().

Cadenas de caracteres sin buffer

Para escribir cadenas de caracteres, lo mejor es utilizar un buffer (pero ya estamos gastando memoria), por tanto vamos a hacer un ejemplo para imprimir por el Serial sin necesidad de utilizar buffer:

1
2
3
4
5
6
7
8
9
10
11
12
13
char mens[] PROGMEM = "Hola mundo cruel y despiadado";

void loop()
{
  char *mem=mens;

  while (pgm_read_byte(mem) != 0x00) /* Comparamos con \0, un terminador */
    Serial.print(pgm_read_byte(mem++));
  Serial.println();

  Serial.println(availableMemory());
  delay(1000);
}

Podemos hacer el mensaje más largo, que seguimos consumiendo la misma cantidad de memorial. Para imprimir por el Serial con esta técnica podemos crear una función (printpgm()):

1
2
3
4
5
6
7
8
void printpgm(char *texto)
{
  char *mem=texto;

  while (pgm_read_byte(mem) != 0x00) /* Comparamos con \0, un terminador */
    Serial.print(pgm_read_byte(mem++));
  Serial.println();
}

o como comentan aquí, modificar la clase HardwareSerial para incluir un método que imprima cadenas de caracteres procedentes de la memoria de programa.
Y creando estas funciones nos llevamos alguna que otra sorpresa en memoria libre (aunque pequeña).

Preparando nuestro entorno para Arduino sin Java

Miércoles, 3 de Agosto de 2011 Gaspar Fernández 2 comentarios

Arduino Emacs

Como comenté en el post anterior, la plataforma Arduino viene con un IDE hecho en Java, no es muy completo, pero nos hace el apaño, aunque, como es mi caso, estoy acostumbrado a Emacs. Aunque esta guía no estará limitada a este editor, ni a Ubuntu (o basados en él).

El objetivo, es usar nuestro IDE o editor preferido para trabajar con estos pequeños bichos programables.

En principio tenemos que instalar las herramientas para compilar los programas para la plataforma (esto es común con todas las instalaciones). Los Arduino utilizan chips Atmel AVR, por lo que usaremos el compilador AVR-GCC para esta plataforma. Como construir el ejecutable es un proceso más o menos costoso (de hacer a mano) utilizaremos la herramienta de construcción scons con la que podremos generar el ejecutable gracias a un script en python.

Ubuntu y derivados (en mi caso Linux Mint)

Lo primero es instalar los programas necesarios:

$ sudo apt-get install gcc-avr avr-libc scons avrdude python-serial

En este caso:

  1. gcc-avr: Es el compilador
  2. avr-libc: Son las librerías para la plataforma
  3. scons: La herramienta de construcción
  4. avrdude: Utilidad para programar chips avr
  5. python-serial: Es un módulo de python para trabajar con el puerto serie (nos servirá para subir los programas al Arduino).

Sabayon Linux / Gentoo también

Ya que recientemente he instalado Sabayon en mi ordenador, quisiera extender esto un poco más:
En este caso, tendremos que instalar, ya sea vía Entropy (forma gráfica) o equo (en consola) los paquetes crossdev, scons y pyserial:

$ equo install crossdev scons avrdude pyserial
$emerge crossdev scons avrdude pyserial # Sólo para Gentoo

Tras ello tenemos que descargar y construir las bibliotecas y el entorno para compilar para AVR:

$ USE=”-openmp” crossdev -t avr -s4 -S –without-headers

(y esto tardará un rato)

Parte común y manual

Tras ello, descargamos la plataforma de aquí [ 64bit , 32bit versión 0022, última a 31 de Julio de 2011 (web de descarga con más opciones) ], por ahora bien podíamos estar instalando la plataforma completa, ya que el archivo que hemos descargado contiene el IDE Arduino. Ahora introduciremos una variación.

Debemos descomprimir el archivo que hemos descargado, yo he creado un directorio en mi home: /home/gaspy/proyectos/Arduino:

$ mkdir -p ~/proyectos/Arduino
$ cd ~/proyectos/Arduino
$ tar xvzf arduino-0022.tgz

Luego, debemos descargar el arma secreta, es un script de construcción para scons y Arduino. Podemos encontrarlo en la página oficial del proyecto arscons. Lo podéis descargar de aquí:

Este archivo tiene que estar en el directorio de cada proyecto. Nuestro primer proyecto será ej1

$ mkdir ej1
$ wget http://arscons.googlecode.com/svn/trunk/SConstruct

Antes de continuar debemos hacer alguna modificación de rutas en el archivo SConstruct, por lo que es una buena idea dejar un archivo SConstruct operativo y copiarlo dentro de nuestros proyectos. Las modificaciones serían para las variables:

  • ARDUINO_HOME_DEFAULT, que debe contener el directorio donde estan instaladas las herramientas de Arduino, lo que acabamos de descomprimir. En mi caso /home/gaspy/proyectos/Arduino/arduino-0022/
  • ARDUINO_BOARD, debe ser el modelo de nuestra placa.
  • ARDUINO_CONF, nos dice dónde está la configuración de las placas Arduino, donde buscará las especificaciones de la nuestra.

Vemos aquí la modificación de las variables en su contexto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
if platform == 'darwin':
# For MacOS X, pick up the AVR tools from within Arduino.app
ARDUINO_HOME_DEFAULT = '/home/gaspy/proyectos/Arduino/arduino-0022/'
ARDUINO_PORT_DEFAULT = getUsbTty('/dev/tty.usbserial*')
elif platform == 'winnt':
# TODO: add Windows port.
assert(False) # not supported.. yet.
ARDUINO_HOME_DEFAULT = None
ARDUINO_PORT_DEFAULT = None
else:
# For Ubuntu Linux (9.10 or higher)
####################### ESTA ES LA LÍNEA IMPORTANTE
ARDUINO_HOME_DEFAULT = '/home/gaspy/proyectos/Arduino/arduino-0022/'
####################### FIN DE LA LÍNEA IMPORTANTE
ARDUINO_PORT_DEFAULT = getUsbTty('/dev/ttyUSB*')
AVR_BIN_PREFIX = 'avr-'

ARDUINO_HOME    = ARGUMENTS.get('ARDUINO_HOME', ARDUINO_HOME_DEFAULT)
ARDUINO_PORT    = ARGUMENTS.get('ARDUINO_PORT', ARDUINO_PORT_DEFAULT)
####################### OTRA LÍNEA IMPORTANTE
ARDUINO_BOARD   = ARGUMENTS.get('ARDUINO_BOARD', 'diecimila')
####################### FIN DE OTRA LÍNEA IMPORTANTE
ARDUINO_VER     = ARGUMENTS.get('ARDUINO_VER', 20) # Arduino 0020
RST_TRIGGER     = ARGUMENTS.get('RST_TRIGGER', None) # use built-in pulseDTR() by default
EXTRA_LIB       = ARGUMENTS.get('EXTRA_LIB', None) # handy for adding another arduino-lib dir

ARDUINO_CORE    = pathJoin(ARDUINO_HOME, 'hardware/arduino/cores/arduino')
ARDUINO_SKEL    = pathJoin(ARDUINO_CORE, 'main.cpp')
####################### OTRA LÍNEA IMPORTANTE
ARDUINO_CONF    = pathJoin(ARDUINO_HOME, '/home/gaspy/proyectos/Arduino/arduino-0022/hardware/arduino/boards.txt')
####################### FIN DE OTRA LÍNEA IMPORTANTE

Dentro del directorio ej1 (de nuestro primer proyecto con Arduino) tiene que haber un archivo llamado ej1.pde que contendrá el código fuente del programa que queremos compilar y subir a nuestro Arduino. ¡ A trabajar ! Podemos coger este código de ejemplo para hacer que un led parpadee. Sólo copiar y pegar.

NOTA para Gentoo/Sabayon: Hay algún pequeño bug en esta distribución y al compilar no funcionará porque no existen los ficheros de biblioteca, el caso es que sí existen, pero no los encuentra. Para eso, modificaremos algunas líneas más de SConstruct:

1
2
3
4
5
6
7
8
9
10
11
envArduino.Append(BUILDERS = {'Processing':Builder(action = fnProcessing,
        suffix = '.cpp', src_suffix = '.pde')})
######## IMPORTANTE, LE PONEMOS LA RUTA DONDE TIENE QUE BUSCAR avr5.x
envArduino.Append(BUILDERS={'Elf':Builder(action=AVR_BIN_PREFIX+'gcc '+
        '-Wl,-dT /usr/lib/binutils/avr/2.20.1/ldscripts/avr5.x -mmcu=%s -Os -Wl,--gc-sections -o $TARGET $SOURCES -lm'%MCU)})
######## IMPORTANTE, LE PONEMOS LA RUTA DONDE TIENE QUE BUSCAR avr5.x
envArduino.Append(BUILDERS={'Hex':Builder(action=AVR_BIN_PREFIX+'objcopy '+
        '-O ihex -R .eeprom $SOURCES $TARGET')})

# add arduino core sources
VariantDir('build/core', ARDUINO_CORE)

También falla otra cosa, no se encuentra el archivo crtm168.o (mi placa Diecimila, este es el chip que usa), el archivo está en /usr/avr/lib/avr5/crtm168.o , pero lo busca en /usr/avr/lib/ podemos copiarlo como root, hacer un enlace,

root$ ln -s /usr/avr/lib/avr5/crtm168.o /usr/avr/lib/

o copiarlo como usuario en el directorio del proyecto, total, son 2Kb.

Para compilar el proyecto debemos, en el mismo directorio actual, ejecutar:

$ scons

y él se encarga de todo. Cuando estemos listos para subir al Arduino, lo conectamos y ejecutamos:

$ scons upload

Lo realmente bueno de esto es que podemos utilizar el editor o IDE que queramos, incluso podemos asignar una tecla rápida para compilar+subir

Mejoras para Emacs

Si utilizas Emacs, te interesará introducir lo siguiente en tu ~/.emacs :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
(defun run-scons ()
  "run scons"
  (interactive)
  (shell-command "scons"))

(defun run-scons-upload ()
  "run scons upload"
  (interactive)
  (shell-command "scons upload"))

; Ejecuta scons y scons upload con C-x SPC y C-x C-SPC
(global-set-key (kbd "C-x SPC") 'run-scons)
(global-set-key (kbd "C-x C-SPC") 'run-scons-upload)

; Asigna la extensión .pde al modo c++-mode
(setq auto-mode-alist (cons '("\\.pde$" . c++-mode) auto-mode-alist))

Aunque hay formas más elegantes de hacerlo, esta es la forma más rápida de asignar una tecla a scons; puede que utilicemos make para otras y no queramos modificar nuestro constructor. Otra cosa, las teclas elegidas no son las mejores, tengo que perfeccionar esto.

Por otra parte, es importante que los archivos .pde se abran directamente con el modo c++ y así podemos aprovechar sus ventajas.

Otros editores

Si usáis kate, podéis mirar este artículo para coger inspiración.
Si usáis gedit, podéis leer esto. (fuera de Poesía Binaria).

Un nuevo juguete… Arduino Diecimila

Lunes, 1 de Agosto de 2011 Gaspar Fernández 2 comentarios

Arduino DiecimilaGracias a mi amigo David Morán conozco Arduino. Arduino es una plataforma de hardware libre. En este caso formado por una pequeña placa con un micro-controlador, varios puertos de entrada y salida, un interfaz serie para programación o energía y una toma de corriente, que puede ser la base de gadgets, utensilios, juguetes, autómatas programables de cualquier tipo; además, se compone de un entorno de desarrollo con el que podemos realizar nuestros proyectos en multitud de lenguajes y plataformas.

Para instalar las herramientas necesarias en nuestra plataforma favorita, podemos seguir este enlace. Aunque tenemos que tener en cuenta que el IDE de desarrollo está hecho en Java, es algo pesado para mi gusto y no es gran cosa. Aunque está muy a mano la compilación y el hecho de subir los programas a nuestro Arduino, seleccionando el modelo que tenemos; tiene soporte para tabs y es muy sencillo, puede que te hayas quedado con la mosca detrás de la oreja y quieras más.
Captura ArduinoPuede que estés acostumbrado a un entorno de desarrollo y no quieras cambiar. Bien, para eso está el software libre, dado que el compilador de usaremos será AVR-GCC, podremos personalizar el proceso de compilado y subida de datos de nuestro proyecto para el procesador de Arduino.
A modo de presentación y antes de liarme haciendo posts sobre esta nueva (para mí) plataforma, dejo un par de vídeos:




No son lo más emocionante, pero tengo que empezar con algo :)

C.I. IX: KGPU, M$ Skype, NOSQL, Twitter VS frustración

Viernes, 13 de Mayo de 2011 Gaspar Fernández 2 comentarios

Os dejo algunos enlaces interesantes recopilados estos últimos días:

  • Speeding Up The Linux Kernel With Your GPU. Lo que leéis, hay un proyecto para acelerar el kernel con la ayuda de la GPU. Patrocinado por NVIDIA y la Universidad de Utah, puede hacer las lecturas/escrituras en sistemas de archivos cifrados 3 ó 4 veces más rápidos. En principio sólo vale para cifrado, pero bueno, sólo es cuestión de pensar qué tareas del kernel se podrán paralelizar y compensa hacer en GPU (vamos, que la transmisión de datos de y a la memoria gráfica no sea más lenta que procesar la tarea en CPU; y que la tarea sea paralelizable).
  • Microsoft adquiera Skype, ¡es hora de usar Ekiga! Ha sido la noticia de la semana, y es que no sabemos qué pasará con Skype a partir de ahora, esperemos que los clientes se sigan manteniendo y la forma de funcionar actual. Aunque es un buen momento para que los desarrolladores de proyectos libres de VoIP se pongan las pilas y mejores bastante sus proyectos, para llegar a ser verdaderos rivales para este servicio. Al final del artículo vemos una imagen que me encanta (sky .net).
  • ¿Has leído la licencia de Microsoft Windows? (Esa que todo el mundo acepta con los ojos cerrados) . De vez en cuando aparece algún artículo similar, pero es cierto que el 99% de los usuarios de Windows no lee la licencia y la acepta, aunque los fabricantes nos dan pocas opciones si se da el caso de que no aceptamos la licencia.
  • ¿Qué son las bases de datos NOSQL? Es un artículo muy interesante sobre este tipo de bases de datos, nos puede servir como un buen punto de referencia para empezar a adentrarnos en este nuevo mundo (muchos enlaces para devorar información).
  • Samsung libera código fuente del software usado en el Galaxy S II . Enhorabuena a Samsung por este movimiento, animará a muchos a tunear el sistema libremente y seguro que se promociona este modelo (y modelos futuros y derivados).
  • Las estrategias de Twitter para minimizar la frustración de los usuarios . Cualquiera diría que Twitter está reduciendo la desesperación de los usuarios, son algunos detalles subliminales curiosos.

Skype + Webcam en Linux Mint / Ubuntu 64bit

Lunes, 11 de Abril de 2011 Gaspar Fernández 2 comentarios

skype-webcam_recorteLa semana pasada, el 6 de abril salió la nueva versión Beta de Skype 2.2 para Linux. Aunque esta versión esté a años luz de la versión para Windows (aunque por otra parte lo prefiero, no quiero que recarguen tanto el programa), había algunas cosas básicas que deberían haber hecho hace tiempo, sobre todo en el campo de la compatibilidad con la cámara web, por ejemplo.

El programa no es libre, ni piensa serlo, aunque el protocolo de voz de skype es de lo mejor que he visto, ya que permite la comunicación con mucha compresión, más nítida que con otros medios y un ancho de banda similar. Y aunque no se les vea muy comprometidos, hay que darles la enhorabuena por hacer su software para esta plataforma, y  al menos permitir comunicarnos con otros usuarios de skype.

Hasta el momento, para mí había varios problemas:

  • Con ALSA, a veces quería enviar más información de la cuenta o menos de la que se espera, y ALSA se quejaba, dejaba de escucharse un tiempo. Skype decía que era culpa de ALSA, ALSA, que era culpa de skype…
  • Con Pulseaudio a veces se perdía el sonido, era fallo de skype, pero bueno, se reinicia y no pasa nada.
  • Webcams:
    • Con una gráfica Intel, olvídate de que se vea tu webcam (es raro, pero ni ves ni envías)
    • Con otra gráfica, pero un SO de 64bit, olvídate también, no se podrá acceder a la webcam.

En esta nueva versión han hecho cambios en esos aspectos, dicen que han mejorado el audio con Pulseaudio, y al no poder provocar el error no lo he podido probar todavía, y han mejorado el soporte de webcams. Con un equipo con gráfica Intel no he probado, pero sí en 64bit.

Para funcionar con la webcam en 64bit (con ciertas cámaras, por ejemplo la OV511/519, yo tengo una Creative muy vieja, también se repite el problema con algunas Genius y algunas Logitech). Primero tendremos que instalar los módulos de compatibilidad de Video4Linux de 32 bit.

$ sudo apt-get install lib32v4l-0

Y a la hora de ejecutar skype:

$ LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so skype

Esto ya funcionaba en la Beta 2.1 con algunas cámaras, pero no con todas. Ahora funciona con algunas cámaras más.

Podremos configurar el acceso directo a skype para que ejecute también el LD_PRELOAD.

Ahora mismo, dejo las instrucciones para Linux Mint / Ubuntu, aunque en cualquier distribución podremos instalar las librerías Video4Linux de 32bit y precargarla antes de ejecutar skype.

Linuxeros unidos, jamás serán vencidos

Jueves, 20 de Enero de 2011 Gaspar Fernández 2 comentarios

Muchas empresas y usuarios menosprecian GNU/Linux indicando que es un sistema operativo que utilizan muy pocas personas como para que se nos tome en serio.
Es cierto que no somos tantos, aunque cada vez somos más y estamos en un momento en que debemos luchar para que se nos tome en serio, porque nos gusta utilizar este sistema y estamos más cómodos con él; porque queremos que al llegar a una tienda de informática no nos miren con caras raras cuando queremos hardware que funcione bajo Linux, y porque queremos que las grandes empresas se curren un poco más sus drivers para este sistema operativo (con un poco más de trabajo, conseguiremos mucho mejor rendimiento que con algunos otros SSOO).

Por eso existen iniciativas para que los usuarios nos hagamos notar, y os invito a participar desde aquí. Esta es una nueva forma de apoyar a la comunidad.


  • Somos más del 1%
    en escritorios, porque está claro que en servidores sí que lo somos en servidores (y no sólo por los menores costes). Este enlace lo publiqué hace un tiempo, pero viene a cuento volverlo a promocionar.
  • Encuestas APP. Desde esta cadena de tiendas de informática de España, hacen una encuesta a los usuarios de cuál es el mejor sistema operativo. Hace unos meses Linux estaba en primer lugar, pero en una semana, el número de votantes de Windows se duplicó. No podemos dejar que ocurra. Si usas Linux, vota!
  • Apoyar la iniciativa de crear Adobe CS para Linux. También lo publiqué hace un tiempo, yes que hay muchos artistas independientes y empresas de diseño cautivas sobre todo a Windows por culpa de esta suite. Si Adobe creara productos para Linux, se eliminaría una gran barrera para muchos usuarios.
  • Entrar en Linux Counter. Otro contador más de usuarios de Linux.
  • Si en tu escuela o Universidad no usan Linux, puedes enviar un mensaje al servicio de informática. Por ejemplo en la Universidad de Málaga, si eres alumno, o miembro de la comunidad universitaria puedes enviar un mensaje desde esta direción.
  • ¡Acaba con el BOFH y el RTFM! Sabemos que a la mayoría de la gente no le gusta leer; quiere cosas fáciles y bonitas. Así que si nos piden ayuda con algo relacionado con software libre, no nos podemos negar.
  • Si compras un periférico u ordenador que no funcione bien bajo Linux… siempre puedes crear tus drivers, pero ese no es el caso de la mayoría de nosotros… pero podemos enviar cartas o mensajes a la empresa responsable para que facilite drivers para nuestro sistema; tal vez si somos sólo dos personas no hagan nada, pero si de cada 1000 productos, 100 personas se quejaran seguro que tomarán cartas en el asunto.
  • Protestar, enviar mensajes a todos los responsables de las web que den problemas con un navegador que respeta los estándares web. Por ejemplo páginas como renfe.es, y multitud de páginas más que sólo funcionan con Internet Explorer. Como antes, si ven que un número considerable de usuarios se queja, segúramente se pongan las pilas. Tenemos que dejar claro que si no soportan nuestro navegador, es que no quieren que usemos sus servicios.

¿ Se os ocurre alguna medida más ? O, ¿ alguna web en la que podamos hacernos oir ?

Una Libre Software World Conference que hace historia [Actualizada 28/10/2010 17:20]

Jueves, 28 de Octubre de 2010 Gaspar Fernández Sin comentarios

cartel

Tras asistir a la Libre Software World Conference, organizada tras la cancelación por parte de la Junta de Andalucía de la Open Source World Conference y de la mano de ASOLIF y Andalibre (recordemos que se ha organizado en prácticamente dos semanas) he de decir que no me ha decepcionado para nada; ha tenido contenidos muy interesantes por parte de numerosas empresas y organizaciones que trabajan con software libre.

Ha sido un evento muy rápido, ya que había hasta cuatro charlas simultáneas y era imposible estar en todo, aunque para eso teníamos Twitter (#lswc, #oswcalt) y éramos bastantes los que publicábamos el estado de la conferencia a la que asistíamos.

Es cierto que ha sido un evento muy empresarial, ya que tanto Opentia, Yerbabuena Software, AbanQ, Igalia, Yaco y algunas más presentaban productos propios que seguían la filosofía libre y nos mostraban que es posible hacer negocio y es un modelo válido tal y como destacaba en la presentación Francisco Salas (Concejal del Área de Nuevas Tecnologías) un crecimiento en este sector del 14% en tiempos actuales de crisis.

Nos han hablado de lo que es posible hacer con la tecnología actual y las tendencias de mercado, destacando soluciones de web semántica y análisis de fuentes de datos. Todo lo que corresponde a la captura de información de diversas fuentes, procesamiento e indexación para ser mostrado en un único punto.

Aunque sobre todo ha habido un mensaje claro durante toda la conferencia: “El software privativo tendrá dinero para moverse, pero el software libre tiene personas (comunidades)”, y es que si no no hubiera sido posible revivir la conferencia tras la cancelación.

271020103895Cabe destacar también, sobre todo por la mañana que las salas estaban repletas, éramos muchos los interesados en las conferencias, tanto estudiantes como trabajadores y aficionados al software libre que asistimos al evento y aunque fue destacada la participación de empresas que presentaban sus productos, era posible la captación de ideas para muchos de los que trabajamos en este mundo, y la participación de organizaciones que nos mostraban un poco la filosofía de este movimiento.

Como dije antes, era imposible asistir a todo, y era una pena tener que seleccionar, pero quisiera publicar también un resumen de las charlas más interesantes a las que asistí.

Peritaje Informático

Virtua / David Santo Orcero / CEII

Gregorio Ambrosio Centeno (CPIIA (Colegio Profesional de Ingenieros en Informática de Andalucía)) nos introduce un poco el tema y nos da la única referencia al software libre (a parte del uso de nmap por parte de Lucas) de la charla, y es que muchas herramientas aquí utilizadas han sido privatizadas o eliminadas y casi todas son propiedad de los EEUU, la noticia más triste de la conferencia.

David Santo Orcero nos habla más de derecho que de software y es que en el peritaje informático estamos tratando de dos disciplinas  una muy regulada  (derecho) y otra nada regulada (informática), nos da un “curso acelerado” para ser perito informático en un juicio.

Lucas González (Virtua, Opentia) nos demostró cómo averiguar la existencia de un ataque de phising. Recibimos un e-mail de parte de paypal, con un enlace para identificarnos, le seguimos la pista a ese enlace para ver a dónde nos lleva.

Oracle OpenOffice

Louis Suarez-Potts

A veces hay charlas que si no se dan en una conferencia, no pasa nada, y es que el representante de Oracle, en lugar de hablar bien de OpenOffice, estuvo diciendo que el código de OpenOffice.org era difícil de mantener, eran muy grande y complicado y que si se toca por un lado, se rompe por otro… tal vez sea por el fork LibreOffice (que en la tanda de preguntas, declaró no saber lo que es un fork, y se hizo un poco el loco, pero luego se notó que estaba completamente al tanto de todo), pero por una parte, querría decir que nadie externo sabría “meterle mano” a OpenOffice; pero por otra parte entendí que como era tan difícil de mantener ellos abandonarían el proyecto.

KDE. El Escritorio Elegante

Antonio Larrosa

Ésta fue de mis favoritas, y es que hizo falta tiempo. Aunque soy usuario de Fluxbox para el escritorio, utilizo muchas herramientas de KDE (KDE3.5 por el momento, pero bueno).

Fue una presentación de todo lo que hace KDESC4 y la verdad es que no dio tiempo a verlo todo, Antonio tenía preparadas muchas cosas y al final no vimos la mitad, aunque dio tiempo a hacer un repaso de Plasma, Marble, Nepomuk, QtDesigner, Akonadi, Digikam y algunos más con demostraciones de funcionamiento en directo (lo que dio tiempo en media hora).

La conferencia

Faltó tiempo, faltó algo de contenido para gente de “a pie”, a veces puede dar la impresión en este tipo de actos que estamos obligando a la gente a usar software libre, y no es así, sólo se está demostrando lo que es posible hacer, y lo que se está haciendo en este  mundo, valga la redundancia, somos libres de usarlo o no.

Me gustaría ver, para otras conferencias (no sé si en esta conferencia se dio el caso, no pude asistir a todo), el proceso de creación de un proyecto, experiencia contada por alguien implicado desde que sale el proyecto, forma comunidad, etc; así como también sería interesante ver alguna charla en la que hablen participantes/finalistas/ganadores del concurso universitario de Software Libre. Son sólo ideas.

Actualización: He añadido algún dato más (subrayado), links por todas partes para tener más información y lo que viene debajo de estas líneas.

Bueno, y si dije que no tendríamos obsequios me equivoqué, porque por la tarde, encontrábamos un libro gratuíto: “Introducción a la programación en Symbian” de Pedro Merino Gómez, Almudena Díaz Zayas, Esteban Egea López y Joan García Haro. Recordemos que Nokia liberó la plataforma Symbian a principios de año.

Mañana empieza la LSWC

Martes, 26 de Octubre de 2010 Gaspar Fernández Sin comentarios

lswc Mañana abre sus puertas la Libre Software World Conference a las 10:00. Se celebrará en Málaga, en el palacio de ferias y congresos. Después de la anulada OSWC, en menos de 20 días la lista de correo de ASOLIF no ha parado hasta dar vida al encuentro que todos estábamos esperando.

Tal vez no regalen bandolera + taza de desayuno + hub + comida + obsequios varios, pero los contenidos programados serán interesantes para todos.

Además, en Málaga será un gran día para el software y el conocimiento libre, gracias a una serie de eventos programados para mañana

OSWC ha muerto de forma sospechosa, pero OSWCalt sí que tiene vida

Lunes, 11 de Octubre de 2010 Gaspar Fernández Sin comentarios

Ya os comenté que la Open Source World Conference (OSWC) se canceló a unos 20 días de celebrarse y han dejado de dar señales de vida por completo… por otra parte, vemos que la cancelación es sospechosa (Barrapunto, Juantomas - Hacking the Planet). Y Microsoft está entre medias, luego tenemos la filtración en Wikileaks de un documento para entorpecer el crecimiento del software libre en Europa.

Afortunadamente, la gente de ASOLIF se ha puesto las pilas a una velocidad de vértigo y mantiene vivas nuestras esperanzas. Por eso, están organizando la OSWCalt para los días 27 y 28 de este mes. Ahora más que nunca debemos permanecer unidos por el software libre.

Si tenéis Facebook podéis entrar aquí.

Seguiré posteando más información en cuanto la tenga.

Visita otras webs de la red