Archivo

Entradas Etiquetadas ‘software’

Linux en “Conspiración en la Red”

Jueves, 2 de Febrero de 2012 Gaspar Fernández 1 comentario

linux_antitrust1

En España, se la conoce como “Hackers 3: Conspiración en la red”, aunque no tiene mucho de tercera parte; o sólo “Conspiración en la red”, en Europa también se llama “Conspiracy.com” y en EEUU, su título original es “Antitrust“. Es una de esas películas que hace varios guiños linuxeros, aunque aparezca un Tim Robins disfrazado de Bill Gates.

En el fotograma que vemos al principio del post, podemos ver claramente un escritorio Gnome, con sus iconos característicos justo en el minuto 2:15; además de muchas pantallas de Gnome y mucho código HTML en los títulos de crédito podemos encontrar una terminal donde ejecutan “ps”:

linux_antitrust11En el minuto 51:42 y pocos segundos después, podemos ver en una imagen de una cámara (que sale en un tono azulado, excepto un sombrero rojo (Red Hat), y un minuto más tarde se ve cómo verifica los dispositivos de almacenamiento montados con mount:

linux_antitrust2

En general, la película tiene muchos guiños al software libre, como dicen en FayerWayer, podemos ver entre otras cosas:

  • A Miguel de Icaza, fundador del proyecto Gnome, entregando un premio a uno de los protagonistas.
  • Scott McNealy, CEO de Sun en 2001, entregando otro premio.
  • y muchas cosas más.

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:

Dialogando con HardwareSerial y SoftwareSerial más fácil

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

A la hora de dialogar con los Serials en Arduino, durante estos días he desarrollado funciones para leer cadenas completas de texto desde el Serial y para escribir con la sintaxis de printf(), ya que esto es mucho más fácil cuando se trata de formatear texto.

Bien, ahora se trata de unirlo todo y de dar soporte a cualquier Serial, ya sea HardwareSerial o SoftwareSerial sin complicarnos mucho la vida, con la posibilidad de cambiar esta entrada/salida en cualquier momento y así hacer nuestro programa más flexible.

Para ello he creado la biblioteca SerialExt:
SerialExt.h

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
32
33
34
35
36
37
38
39
40
#ifndef SERIALEXT_H
#define SERIALEXT_H

/* Quitar comentario si no vamos a usar SoftwareSerial, así
 reducimos un poco el tamaño del ejecutable. */

/* #define SEXT_NOSOFTWARESERIAL */

#include <WProgram.h>
#include <stdio.h>
#include <stdarg.h>

/* Si no vamos a usar el Software Serial, no creamos soporte para el */
#ifndef SEXT_NOSOFTWARESERIAL
#include <dynmem.h>
#include <SoftwareSerial.h>
#endif

class SerialExt
{
public:
  ~SerialExt();
  SerialExt(const HardwareSerial &serial, long bps=19200);
  #ifndef SEXT_NOSOFTWARESERIAL
  SerialExt(uint8_t rxp=2, uint8_t txp=3, long bps=19200);
  #endif
  int readString (char *str, unsigned size, const char *stop="\0");
  void printf(const char *fmt,...);
  // A veces, podemos necesitar esto desde fuera
  void serialPrint(const char *txt);
private:
  bool serialAvailable();
  int serialRead();
  HardwareSerial *hs;
  #ifndef SEXT_NOSOFTWARESERIAL
  SoftwareSerial *ss;
  #endif
  int timeout;
};

#endif

SerialExt.cpp

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#include "SerialExt.h"

void SerialExt::serialPrint(const char *txt)
{
  if (hs)
    hs->print(txt);
  #ifndef SEXT_NOSOFTWARESERIAL
  else
    ss->print(txt);
  #endif
}

void SerialExt::printf(const char *fmt,...)
{
  char tmp[128]; // resulting string limited to 128 chars
  va_list args;
  va_start (args, fmt );
  vsnprintf(tmp, 128, fmt, args);
  va_end (args);
  serialPrint(tmp);
}

SerialExt::SerialExt(const HardwareSerial &serial, long bps)
{
  hs=(HardwareSerial*)&serial;

  #ifndef SEXT_NOSOFTWARESERIAL
  ss=NULL;
  #endif
  timeout=3000000/(bps/8);  // ( 1000/(bps/8) ) * 1000 * 3.0 (milisegundos por signo por 1.5)
  // Initialize serial
  hs->begin(bps);
}

#ifndef SEXT_NOSOFTWARESERIAL
SerialExt::SerialExt(uint8_t rxp, uint8_t txp, long bps)
{
  ss=new SoftwareSerial(rxp, txp);
  hs=NULL;
  // Initialize serial
  ss->begin(bps);
}
#endif

SerialExt::~SerialExt()
{
  #ifndef SEXT_NOSOFTWARESERIAL
  if (ss)
    delete ss;
  #endif
}

// Sólo aplicable con HardwareSerial
bool SerialExt::serialAvailable()
{
  if (hs)
    return hs->available();
  else
    return true;
}

int SerialExt::serialRead()
{
  if (hs)
    hs->read();
  #ifndef SEXT_NOSOFTWARESERIAL
  else
    ss->read();
  #endif
}

int SerialExt::readString(char *str, unsigned size, const char *stop)
{
  unsigned i=0;
  char sIn;
  unsigned long m;
  // Queremos que la cadena se rellene hasta size-2 para que en el carácter
  // size-1 (el último) podamos meter el terminador \0
  --size;      
  while (serialAvailable() && i<size)
    {
      sIn=serialRead();
      if (strchr(stop, sIn))
    break;
      str[i++]=sIn;
      m=micros();
      while (!serialAvailable() && micros()<m+timeout);
    }
  str[i++]='\0';
  return i;
}

Esta biblioteca, hace uso de dynmem, para poder utilizar new y delete y crear el objeto SoftwareSerial. Aunque si no vamos a utilizar el Serial por Software, hay una directiva de pre-procesador (#define SEXT_NOSOFTWARESERIAL) que si quitamos el comentario no compilará nada del soporte, con lo que ahorraremos unos 600 bytes en el binario (que a veces, pueden salvarnos la vida).

Para probar la biblioteca, cargamos el siguiente programa de ejemplo:
serial1.h

1
2
3
4
5
6
7
/* En este archivo veremos la configuración de nuestro proyecto */

#define SERIAL_SPEED 19200
/* Led que queremos que parpadee mientras se ejecuta el programa */
#define STATUS_LED   11
/* Led que indica transferencia de datos */
#define BLINK_DELAY  500

serial1.pde:

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
// serial1
// Hace un eco con el puerto serie del Arduino
// Dialogamos con el Serial a través de la clase SerialExt. Desde aquí podremos dialogar
// con cualquier HardwareSerial o SoftwareSerial

#include "serial1.h"
#include <dynmem.h>
#include <SerialExt.h>
#include <SoftwareSerial.h>

#define MAX_BUFFER 100

// Almacenamos el estado como variable global
int estado=LOW;
// Almacenamos también el número de milisegundos anterior
unsigned long momento_anterior=0;
unsigned long bytes_recibidos=0;
// SerialExt SExt(Serial);

SerialExt *SExt;

void setup()
{
  // Queremos que un led parpadee mientras trabajamos
  pinMode(STATUS_LED, OUTPUT);
  digitalWrite(STATUS_LED, HIGH);
  delay(1000);
  digitalWrite(STATUS_LED, LOW);
  delay(1000);
  SExt = new SerialExt(Serial);
  digitalWrite(STATUS_LED, HIGH);
}

void loop ()
{  
  int recibe;
  unsigned long momento_actual=millis();
  char buf[MAX_BUFFER];
// No bloqueante, si hay algo para leer entramos, si no, no.
  if(Serial.available())
    {
      SExt->readString(buf, MAX_BUFFER);
      // Escribimos el buffer completo
      SExt->printf("Texto recibido: %s\n", buf);
    }
  // No usamos delay para el parpadeo porque nos entorpece la comunicación con el serial
  if (momento_actual-momento_anterior>=BLINK_DELAY)
    {
      // Cambiamos el estado siguiente. Si era HIGH (1) ahora será
      // LOW (0). He leído en algún lado que el valor de HIGH no
      // siempre es 1; pero en este caso sí es así.
      estado=!estado;
      // Escribimos el estado actual del led
      digitalWrite(STATUS_LED, estado);
      // Establecemos el momento anterior como actual.
      momento_anterior=momento_actual;
    }
}

Como vemos, SerialExt se encarga de hacer Serial.begin() y todo (tampoco es que sea gran cosa, pero nos ahorra una línea); en este ejemplo podemos ver cómo podemos intercambiar líneas completas de texto con Arduino a través del puerto serie.

Creando bibliotecas o librerías para Arduino

Viernes, 12 de Agosto de 2011 Gaspar Fernández Sin comentarios

Aunque en inglés library, es biblioteca (ese lugar donde hay tantos libros y se requiere silencio), y no librería (ese lugar donde se venden libros), a la RAE le da igual, y no quiero entrar mucho en eso…
Una de las ventajas de los lenguajes modernos es que no tenemos que escribir todo el código junto, incluso muchas partes de código no son nuestras; existen bibliotecas con funcionalidades que podemos llamar desde nuestros programas, y de hecho si queremos programar bien, uno de nuestros deberes es la reutilización de código, para lo cual, nosotros podemos crear nuestras propias bibliotecas y utilizarlas en nuestros programas… o compartirlas con otros desarrolladores.

Contaré todo esto de dos formas: para en el entorno Arduino y para hacerlo sin él.

En principio, vamos a hacer un pequeño programa en el que hagamos parpadear un led, aunque para ello, crearemos una clase llamada Parpadeo que nos permita configurar el led y el retardo. Esta clase estará en los archivos parpadeo.h y parpadeo.cpp ; a continuación pongo el código fuente de parpadeo.h, parpadeo.cpp y blinky.pde (el programa principal).

parpadeo.h:

1
2
3
4
5
6
7
8
9
10
11
12
#include <WProgram.h>

class Parpadeo
{
public:
~Parpadeo();
Parpadeo(int ledpin, int retardo);
void blink();
private:
int ledpin;
int retardo;
};

parpadeo.cpp:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "parpadeo.h"

Parpadeo::~Parpadeo()
{
}

Parpadeo::Parpadeo(int ledpin, int retardo): ledpin(ledpin), retardo(retardo)
{
pinMode(ledpin, OUTPUT);
}

void Parpadeo::blink()
{
digitalWrite(ledpin, HIGH);
delay(retardo);
digitalWrite(ledpin, LOW);
delay(retardo);
}

blinky.pde:

1
2
3
4
5
6
7
8
9
10
11
12
#include

Parpadeo p(10, 500);

void setup()
{
}

void loop()
{
p.blink();
}

Aunque, cómo debemos colocar estos archivos?

Con el IDE Arduino

SketchbookTenemos que mirar dónde tenemos nuestro sketchbook (File / Preferences), dentro de ese directorio, creamos otro llamado libraries (si no lo tenemos ya), y dentro de éste creamos parpadeo (el nombre de nuestra biblioteca). Ya podremos compilar libremente utilizando #include , e incluso si hacemos clic en Sketch / Import Library encontraremos parpadeo, para poder insertarla fácilmente en nuestros proyectos.

Con el script para scons

Lo bueno es este método es que podemos insertar nuestras bibliotecas donde queramos, por ejemplo para utilizar las incluidas dentro de sketchbook, podemos hacer lo siguiente:

$ scons EXTRA_LIB=/home/gaspy/sketchbook/libraries

La estructura debe ser siempre la misma:
[directorio de libraries] / [nombre de la biblioteca] / [nombre de la biblioteca.h] (y demás archivos)

Por lo tanto para compilar con el script de scons debemos incluir EXTRA_LIB=[directorio de libreries] y este directorio de libraries puede estar en cualquier lado, puede ser una ruta relativa o absoluta, puede llamarse de cualquier forma, por ejemplo, el mío se llama libs.

Si no queremos escribir mucho, y vamos a construir muchas veces desde línea de comandos podemos hacer lo siguiente:

$ LIBS=”EXTRA_LIB=[directorio de libraries]”
$ scons $LIBS

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.

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 ?

89 segundos. El tiempo medio de arranque de un ordenador…

Miércoles, 22 de Diciembre de 2010 Gaspar Fernández 4 comentarios

Hace poco en la revista Muy interesante leí un dato curioso. La media de tiempo de arranque de un ordenador es de 89 segundos, y eso hace que si lo arrancamos todos los días, perdamos algo más de 9h al año en arranques de ordenador.

Lo curioso es que a mi me parece algo excesivo, ¡89 segundos! Siempre depende del hardware que se tenga y de los servicios que se arranquen, bueno, y del sistema operativo que corra. Me gustaría hacer en los próximos días una pequeña encuesta vía Twitter/Facebook/Blog acerca de los tiempos de arranque de sus ordenadores.

A ver lo que sale… ¿ cuánto tarda tu ordenador en iniciarse ? Dejadlo en comentarios, me gustaría que escribierais el tiempo, el hardware (no muy exhaustivo tampoco CPU y RAM) o el tiempo que tiene el ordenador y el sistema operativo.

¿ Por qué me pasé a Linux ?

Domingo, 7 de Noviembre de 2010 Gaspar Fernández 2 comentarios

Mis andanzas con Linux empiezan en el año 2001, en busca de un sistema operativo nuevo, por descubrimiento e investigación. Todo empezó intentando instalar una Debian en un ordenador que tenía para hacer experimentos, aunque no funcionó (aunque parezca extraño lo primero que vi fue un Kernel Panic, y por aquel entonces no tenía ni idea de por qué). Luego fui probando, e intenté instalar Red Hat, pero no me hallaba con la consola, y luego probé Mandrake, que me funcionó a la primera y con la que estuve un par de años.

La primera impresión que tuve de un GNU/Linux era la de un sistema delicado, tenía esa impresión subjetiva de que iba a tocar algo y todo se iba a fastidiar, luego pasé a tener la impresión de que me ocultaba partes del hardware, yo veía que con MSDOS y Windows accedía a las unidades C: y D: y con Mandrake no encontraba la forma de hacerlo.

Lo primero que intenté hacer, después de ver todos los juegos de KDE (KDE2, por aquel entonces), fue intentar compartir archivos con mi máquina Windows, y preguntando en algunos foros di con SAMBA, y después de una tarde entera investigando y editando smb.conf por fin pude conseguirlo; luego probé CUPS (en principio, sólo quería ver cómo irían mis necesidades básicas) y luego lo utilizaba para conectar al IRC (Internet Relay Chat, que, por aquel entonces estábamos todos muy viciados, más o menos como ahora a Facebook).

Aunque por aquel entonces no avancé demasiado, no tenía mucha idea, y a veces, al mirar los manuales no me enteraba de nada. Así que lo dejé por un tiempo.

Mientras tanto seguí un par de años más con Windows, y llegué al punto de tener que formatear y reinstalar cada tres meses. Un driver de una impresora chocaba con una actualización de Windows que necesitaba para instalar un programa; por otra parte, el ordenador se volvió demasiado lento (tengo que decir que no llegué a ser usuario de Windows XP, lo último que probé fue Windows 2000), me daba problemas con pendrives (al enchufarlos y desenchufarlos), además de llegó un punto en el que perdí información de trabajos para la Universidad por culpa de algún capricho tipo pantalla azul, lo cual me frustró profundamente (Tengo que decir que soy un usuario al que le gusta tener muchas cosas abiertas, escuchar música, navegar por Internet, tener mensajería instantánea (ahora uso más twitter, pero bueno), al mismo tiempo tenía servidor web, de base de datos y algunos programas más abiertos (habría que ver mi Firefox 1.5 con 20 pestañas abiertas)), tengo que confesar que un año antes eliminé definitivamente MS. Office, porque cada vez era más pesado y me resultaba menos útil, porque no había forma de matar al dichoso clip/perro/mago que te “ayudaba”, y porque ocupaba mucho disco duro, por aquel entonces empecé a usar StarOffice. Además, Windows empezó a transmitirme la sensación de un sistema sistema frágil, a medida que lo iba utilizando, se iba haciendo más y más lento (siempre me tomé en serio el tiempo de arranque, aunque soy más de dejar el ordenador todo el día encendido; Windows arrancaba lento y tenía que reiniciar de vez en cuando…). Por otro lado tenemos el tema de antivirus, tenía que tener tiempo para ponerlo al día, y me quitaba recursos de sistema que yo en ocasiones necesitaba…

Por eso a primeros de 2004 decidí darle otra oportunidad a Linux, y mi principal objetivo era aprender, por eso, tras probar Ubuntu y terminar con una sensación de un sistema más delicado, un arranque un poco más rápido que Windows, y la instalación de muchas cosas que no quería decidí probar Gentoo ; por aquel entonces la instalación era más complicada que ahora, e incluso siguiendo el manual, tal vez a la primera no se instalara bien, en dos o tres semanas aprendí muchas cosas sobre el kernel, los componentes del sistema y algunos problemas de optimizar tanto al compilar (puede que a veces el programa no funcione exactamente como se espera), aunque tardé dos semanas, conseguí tener un entorno gráfico listo para empezar a trabajar. Lo más importante: arrancaba en menos de la mitad de tiempo que un Windows recién instalado, las aplicaciones iban mucho más rápido, aprendí a medio-defenderme y lo demás fue buscar aplicaciones que reemplazaran las que yo más utilizaba (o probar con wine a ver si pitaba la flauta).

Como suite ofimática estaba OpenOffice (era muy parecida al StarOffice, de hecho fue precursor; tenía Firefox, y Thunderbird para el correo (lo cambié porque antiguamente utilizando Outlook, porque parece que cada vez que actualizan ese programa dan menos información al usuario); necesité un visor de fotos y encontré gqview y una vez que tenía lo necesario para trabajar encontré una amplia gama de programas para hacer mi experiencia de usuario mucho más llevadera (kontact, xpad, aMSN, xmms, mplayer, y muchos más).
Sólo quedaba un editor de texto, ya que una de mis aficiones preferidas era la programación, y aunque estuve con Kate un tiempo, la que realmente me convenció (aunque fui advertido, de que el camino no sería fácil) fue EMACS (y llevaba un par de años buscando un editor de texto para Windows, aunque sin éxito).

Lo único que echaba de menos son programas para edición de vídeo, y de hecho me he tirado unos cuantos años sin hacer ningún montaje grande por esto mismo (con muchos de los programas existentes se puede montar vídeo, pero no se consigue mucha estabilidad), para mí la balanza no tiraba tanto en ese sentido. Aunque parece ser que ahora con Openshot hay una esperanza.

Tras mi experiencia he de decir que las curvas de aprendizaje de Windows y GNU/Linux son muy diferentes, mientras que en Windows llega un punto en el que te estancas (aunque aprendes algo, pero ya sea por poco interés, por no querer indagar más, pereza, etc, ya no aprendes demasiado), en GNU/Linux nunca dejas de aprender cosas todos los días; aunque lo más importante es que lo considero un sistema altamente productivo: hago más cosas en menos tiempo y además no tengo estrés añadido (como cuando llevaba 3 días con Windows sin reiniciar, ahora mismo tengo un uptime (tiempo encendido) de 25 días y no hay pérdida de rendimiento), es un sistema seguro (en 6 años, sólo he tenido un problema de seguridad en uno de mis equipos directamente conectados a Internet (sin router) y fue por no instalar una actualización crítica del núcleo; en cambio con Windows no era la primera vez que malgastaba una tarde entera (o varios días) en intentar limpiar un virus que acababa de salir a la luz, el antivirus no se había enterado y se iba a comer mis datos; o trabajar durante un día para averiguar qué le pasa a un programa que ha dejado de funcionar de un día para otro y terminar formateando.

Es un sistema que me hace sentir más cómodo trabajando, y en mi tiempo de ocio, apenas hay sorpresas (ojo, que a veces se cuelga, y tiene sus pataletas, pero en mucha menor medida, y el 80% de las veces, en mi experiencia, ha sido problema de hardware; como curiosidad, la última vez que me pasó fue problema de un cable de corriente suelto en un disco duro SATA)

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.

Visita otras webs de la red