Archivo

Archivo para Octubre, 2010

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

Intercambiar mensajes en red local [ solución rápida con netcat y kdialog ]

Sábado, 23 de Octubre de 2010 Gaspar Fernández Sin comentarios

A veces tenemos la necesidad de, en la propia red local intercambiar algún mensaje de texto, ya sea una dirección web o algo así. Muchas veces se opta por enviar un e-mail, aunque aquí traigo una propuesta interesante. No para uso diario, pero para uso puntual cuando no tenemos nada a mano, o para estudiar el método.

Actualmente usa netcat y KDE (para la petición de datos de forma gráfica).

Con netcat sólo bastaría. En un ordenador ponemos:

$ netcat -l -p 6517

Actuaría como servidor escuchando por el puerto 6517 (he usado este puerto, porque creo que no hay ningún servicio definido en este lugar), luego en otro ordenador podemos escribir:

$ netcat [IP/host del primer ordenador] 6517

Con lo que conectaríamos con el otro ordenador. Es una conexión no cifrada, con lo que en este punto no estamos hablando de seguridad, sólo de un “apaño”.

Pero bueno, aunque sea un apaño no tiene por qué ser demasiado feo, así que vamos a acompañarlo de unos diálogos (con kdialog) y a hacer unos scripts que nos permitan iniciar netcat de forma fácil (incluso vincularlo a una tecla de nuestro sistema).

[ enviamensaje ]

1
2
3
4
5
host=`kdialog --inputbox "A que host quieres enviar un mensaje"`
mensaje=`kdialog --inputbox "Escribe el mensaje"`

# Puerto 6517 sin asignar
echo "$mensaje" | netcat -c $host 6517

Desde este archivo preguntamos al usuario el host con el que quiere hablar, y luego se le pide introducir el mensaje, que se mandará por netcat ( -c vale para que la conexión se cierre cuando se termine de enviar el mensaje )

[ recibemensaje ]

1
2
3
4
5
6
7
8
9
10
while read input
do
        kdialog --textinputbox "Alguien te manda algo" "$input" 2>&1 1>/dev/null;
        if [[ "$?" != "0" ]]
        then
                break;
        fi
done

echo "FIN DEL PROGRAMA"

Con este script escribiremos en un diálogo con kdialog el texto recibido por el mensaje. netcat nos pasará por su salida estándar el contenido del mensaje, así que tendremos que leerlo con read

Si aceptamos la ventana dejaremos de esperar mensajes.

[ servidormensajes ]

1
2
3
4
5
6
7
8
9
while (( 1 ))
do
        netcat -l -p 6517 -e ./recibemensaje
        kdialog --yesno "Desconectar servidor?"
        if [[ "$?" == "0" ]]
        then
                break;
        fi
done

Desde aquí ponemos el socket en escucha ( -l = listen ) en el puerto 6517 y lo que recibamos se lo pasamos al script recibemensaje; una vez que esto termine nos preguntará si queremos cerrar el servidor o estamos esperando mensajes de alguien más.

Ahora sólo tenemos que vincular a alguna tecla los script servidormensajes y enviamensaje con lo que podremos comunicarnos con las personas de nuestra red local sin problema. El programa también funcionará por Internet, si tenemos los puertos necesarios abiertos y redireccionados en el router (si usamos router) o nuestro firewall no restringe las conexiones por el puerto 6517 (aunque podemos cambiarlo).

Programar en C++ puede llegar a ser frustrante

Miércoles, 20 de Octubre de 2010 Gaspar Fernández Sin comentarios

cuchilloSiempre se dice que una de las reglas de la programación es “escribir poco”, tenemos que aunque en ciertos lenguajes, tenemos que escribir dos veces las cosas. Por ejemplo, para un sencillo hola mundo con clases en C++ (se puede hacer todo en el mismo archivo, pero queremos el código bien organizado):
[ hwclass.h ]

1
2
3
4
5
6
7
8
class HolaMundo
{
 public:
  HolaMundo();
  ~HolaMundo();

  void coutVersion();
};

[ hwclass.cpp ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include "hwclass.h"

using namespace std;

HolaMundo::HolaMundo()
{
  cout<<"Hola Mundo!!"<<endl;
}

HolaMundo::~HolaMundo()
{
  cout<<"Adiós Mundo!!"<<endl;
}

void HolaMundo::coutVersion()
{
  cout<<"HolaMundo Versión 1.0"<<endl;
}

[ main.cpp ]

1
2
3
4
5
6
7
#include "hwclass.h"

int main()
{
  HolaMundo hm;
  hm.coutVersion();
}

Si queremos compilar el proyecto podemos hacer:

$ g++ -o holamundo main.cpp hwclass.cpp

Bueno, a lo que voy, como veis en hwclass.cpp y hwclass.h se repiten algunas cosas, el nombre de la clase, y el nombre de los métodos cuando vamos a definir el código de cada uno… cuando en el archivo .h se definen decenas de métodos resulta muy repetitivo teclear una y otra vez lo mismo y más aún mantener el orden de los métodos.

Para ello quiero presentar dos aplicaciones:

lzz

Podemos descargarlo desde aquí, tiene multitud de opciones y es bastante potente. Aunque yo veo un gran defecto, tenemos que crear un fichero lzz, que luego el programa lo convertirá a cpp y hpp extrayendo la información según corresponda. Por otra parte, para generar el ejecutable, necesitamos el binario de lzz (como si de un compilador se tratara)

stubgen

Lo encontramos aquí, y aunque le falta alguna que otra cosilla como personalización de la documentación, es bastante potente y nos permite trabajar normalmente con nuestro .h y generar el .cpp con todos los métodos empezados, justo para que nosotros completemos el código.

Foto: ~Brenda_Starr~ (Flickr)
¿Por qué un cuchillo? Un stub en programación es un trozo de código incompleto (tal vez simula lo que va a hacer, o sólo es una pincelada)… stub se parece a stab (puñalada).

La peor forma de conseguir una buena imagen: criticar a la competencia

Domingo, 17 de Octubre de 2010 Gaspar Fernández Sin comentarios

Hace unos días, vía @sofiavitale, encuentro un link a un vídeo en Youtube. Resulta que Microsoft Office tiene un canal de vídeos y entre ellos hay una crítica gratuíta a OpenOffice.org. Por si os interesa ver el vídeo: está aquí. El caso es que supuestamente hablan personas que han tenido problemas adoptando OpenOffice.org y han tenido que pasar a utilizar productos de MS.

El vídeo tiene, algunas cosas que pueden ser más o menos verdad (dice que a veces hay problemas cuando otro comparte documentos con nosotros, y es que muchas veces compartir documentos de MS. Office es horrible… incluso entre otros MS. Office; pero sí, el soporte de documentos de MSOffice no es completo; aunque yo diría que cuando otra persona comparte con nosotros un documento que no es de MSOffice con alguien que tiene MSOffice, ese sí que tiene un problema); dicen que… si una solución Open Source se rompe, ¿quién la arregla? Pues en una empresa, el departamento encargado, igual que cuando un MS. Office se pone rebelde… en fin, dicen muchas cosas en el vídeo… eso sí, todo muy bien presentado y un aspecto muy dinámico, moderno y convincente (con gente de verdad que lo dice, aunque no enseñen sus caras), que se note que el vídeo ha costado $$$.

Lo realmente curioso es cuando votamos:
screenshot-14-10-2010-171051
¡¡ Qué montón de votos negativos !! Parece que a poca gente le gusta el vídeo, y no creo que sea que todos los defensores del software libre hayamos entrado y votado… más bien es que, aunque seamos Microsoft, no tenemos derecho a criticar de gratis a la competencia.

25 años de C++ . Entrevista a Bjarne Stroustrup

Sábado, 16 de Octubre de 2010 Gaspar Fernández Sin comentarios

Hace dos días, el 14 de Octubre, se cumplieron 25 años de la publicación del primer manual de referencia de C++.

En wired.com podemos leer una interesante entrevista a Bjarne Stroustrup.

Lo ví ayer en Barrapunto

Categories: C/C++, General Tags:

Interfaces Gráficos en Linux con gtkmm 1 [Hola Mundo]

Jueves, 14 de Octubre de 2010 Gaspar Fernández 4 comentarios

ventanaAunque a veces, cuando nos dedicamos a programar en Linux, recurrimos a la consola (ya que muchos de nosotros tenemos siempre una abierta), a veces es interesante crear un Interfaz Gráfico de Usuario (en inglés GUI, Graphical User Interface), para ello, si no queremos complicarnos demasiado tenemos dos opciones: Gtk+ y Qt.

Bien, vamos con Gtk+, está muy extendido y escrita en C, aunque aquí hablaré de una interfaz de Gtk+ para C++ llamada gtkmm, que nos proporciona las clases necesarias para jugar con la potencia de Gtk+ de una forma un poco más amigable (ya que podemos crear un botón, una etiqueta o una ventana como objetos de C++, hará todo un poco más intuitivo).

Una primera prueba que me gusta hacer es poner todo el código junto, sin mucha organización, para crear un “hola mundo”, para ver más o menos a qué nos enfrentamos y cómo, si vamos a tener que escribir mucho y esas cosas:

[ holamundo.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
#include <gtkmm.h>

using namespace Gtk;

int main(int argc, char *argv[])
{
  // Inicialización GTK
  Main entorno(argc, argv);

  // Declaración de objetos
  Window ventana;
  Label etiqueta;

  // Características de la ventana
  ventana.set_title("Hola Mundo!");
  ventana.set_border_width(5);
  ventana.set_default_size(400, 200);

  // Etiqueta
  etiqueta.set_text("Hola Mundo!!");
  ventana.add(etiqueta);

  // Mostrar todo
  ventana.show_all_children();

  // Ejecutar GUI
  entorno.run(ventana);

  return 0;
}

Para compilar debemos hacer lo siguiente:

$ g++ -o holamundo holamundo.cpp `pkg-config –cflags gtkmm-2.4` `pkg-config –libs gtkmm-2.4`

Eso sí, debemos sustituir el 2.4 por la versión de gtkmm que tengamos instalada. Para ver cuál es, podemos hacer lo siguiente:

$ pkg-config –list-all | grep gtkmm

Bien, una vez hecho esto, vamos a intentar adquirir una metodología de programación que nos permita reaprovechar código, y tenerlo todo organizado, vamos a crear archivos .h y .cpp:

[ hworld.h ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#ifndef _HWORLD_H
#define _HWORLD_H

#include <gtkmm.h>

using namespace Gtk;

class HolaMundo : public Window
{
 public:
  HolaMundo();
  ~HolaMundo();

  Label etiqueta;
};

#endif

[ hworld.cpp ]

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

HolaMundo::HolaMundo()
{
  this->set_title("Hola Mundo!");
  this->set_border_width(5);
  this->set_default_size(400, 200);

  etiqueta.set_text("Hola Mundo!!");
  this->add(etiqueta);

  this->show_all_children();
}

HolaMundo::~HolaMundo()
{
}

[ hellomain.cpp ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <gtkmm.h>
#include "hworld.h"

int main(int argc, char *argv[])
{
  Main entorno (argc, argv);

  // Creamos la ventana
  HolaMundo hmundo;

  // Ejecutamos
  entorno.run(hmundo);

  return 0;
}

Ahora compilamos con:

$ g++ -o hellom hellomain.cpp hworld.cpp `pkg-config –cflags gtkmm-2.4` `pkg-config –libs gtkmm-2.4`

Hará lo mismo, ¡vaya tontería! pero lo tendremos todo mucho más organizado, hemos introducido todo lo referente a la ventana en una misma clase.

Una pequeña nota: escribo arriba using namespace Gtk para no repetir todo el rato Gtk::[Tipo] , Gtk::[Método], ya que todo lo que estoy utilizando hasta ahora pertenece al espacio Gtk.

Ahora vamos a hacer algo más complicado, vamos a utilizar algunos elementos más y vamos a introducir algún botón, para que se desempeñe alguna acción:
[ hworld.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
#ifndef _HWORLD_H
#define _HWORLD_H

#include <gtkmm.h>

using namespace Gtk;

class HolaMundo : public Window
{
 public:
  HolaMundo();
  ~HolaMundo();


  void click_salir();
  void click_mensaje();

  VBox cajaV;
  HButtonBox botonera;
  Label etiqueta;
  Button *botonSalir, *botonMensaje;
};

#endif

Creamos un objeto derivado de Gtk::Window en el que incluimos los elementos que habrá en la ventana:

  • VBox es una caja con divisiones horizontales, es como si cortáramos horizontalmente en trozos a lo largo de la vertical
  • HButtonBox es una caja para poner botones a lo largo de la horizontal
  • Button es un botón. Pondremos dos, uno para salir y otro para mostrar un mensaje emergente
  • Label es nuestra etiqueta de “Hola Mundo”

Definimos dos métodos para los eventos click_salir() y click_mensaje().

Los botones los he declarado como punteros para demostrar cómo podemos trabajar con objetos de este tipo.

[ hworld.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
#include "hworld.h"
#include <sstream>      // Para hacer string<<int

HolaMundo::HolaMundo()
{
  // Configuro la ventana
  set_title("Hola Mundo!");
  set_border_width(5);
  set_default_size(400, 200);

  // Configuro la etiqueta
  etiqueta.set_text("Hola Mundo!!");

  // Configuro la botonera
  botonSalir=new Button(Stock::QUIT);
  botonMensaje=new Button("Mensaje");

  botonSalir->signal_clicked().connect(sigc::mem_fun(*this, &HolaMundo::click_salir));
  botonMensaje->signal_clicked().connect(sigc::mem_fun(*this, &HolaMundo::click_mensaje));

  botonera.pack_start(*botonSalir, PACK_SHRINK);
  botonera.pack_start(*botonMensaje, PACK_SHRINK);

  // Configuro la división
  add(cajaV);
  cajaV.pack_start(etiqueta, PACK_EXPAND_WIDGET); // Esto ocupará el máximo tamaño
  cajaV.pack_start(botonera, PACK_SHRINK);

  show_all_children();
}

HolaMundo::~HolaMundo()
{
  delete botonSalir;
  delete botonMensaje;
}

void HolaMundo::click_mensaje()
{
  int res;
  std::stringstream ss;
  MessageDialog dialog("Esto es un mensaje emergente");
  res=dialog.run();

  if (res==RESPONSE_OK)
    etiqueta.set_text("Has dicho OK");
  else if (res==RESPONSE_DELETE_EVENT)
    etiqueta.set_text("Has cancelado el diálogo");
  else
    {
      ss<<"Has respondido otra cosa: "<<res;
      etiqueta.set_text(ss.str().data());
    }
}

void HolaMundo::click_salir()
{
  hide();
}

Vemos cómo en el constructor hemos configurado todos los elementos de la ventana, vemos cómo en la botonera y la cajaV, para añadir objetos se ha utilizado el método pack_start, las propiedades Gtk::PACK_SHRINK (encogerá el objeto contenedor) y Gtk::PACK_EXPAND_WIDGET (lo expanderá)

Pero la cajaV la añadiremos a la ventana con el método add.

Los botones los creamos con new (recordamos que eran punteros), tenemos muchos botones de Stock predefinidos, y podemos crear uno con esta propiedad (todos están en Gtk::Stock::XXXXX), aunque también podemos crearlos directamente con un texto.

Para conectar los eventos (de los botones por ejemplo) usamos connect(), como parámetro podemos incluir una función (con sigc::ptr_fun(&funcion)) o un método de clase (con sigc::mem_fun(*objeto, &Clase::metodo)), será la función o método que llamaremos cuando se genere el evento (en este ejemplo será el click sobre el botón).

Además, incluyo una caja de diálogo en la que luego distinguimos si se cierra por el botón aceptar (Gtk::RESPONSE_OK), o cerrando la ventana (Gtk::RESPONSE_DELETE_EVENT) modificando el texto del Label.

[ hellomain.cpp ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <gtkmm.h>
#include "hworld.h"

int main(int argc, char *argv[])
{
  Main entorno (argc, argv);

  // Creamos la ventana
  HolaMundo hmundo;

  // Ejecutamos
  entorno.run(hmundo);

  return 0;
}

Como vemos, el programa principal es exactamente igual que el anterior, como la compilación del proyecto:

g++ -o hellom hellomain.cpp hworld.cpp `pkg-config –cflags gtkmm-2.4` `pkg-config –libs gtkmm-2.4`

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.

Se cancela la Open Source World Conference (OSWC2010)

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

logo-oswcok_2Como cada dos años, se celebra la OSWC en Málaga; aunque este año… va a ser que no. Según dicen en la web:

Debido al reajuste presupuestario que está acometiendo el Gobierno andaluz para mejorar la situación económica.

Por ahora están “buscando alternativas”…

Aunque resulta sospechoso que lo digan cerca de 20 días antes de que se celebre. En mi opinión, la organización de este año fue bastante mala, empezando por que a menos de un mes de la conferencia no disponíamos del programa, había pocas publicaciones y este año había una reducción de 1 día (la del 2008 también en Málaga y la del año pasado en Cáceres fueron 3 días), además este año un día se destinaba a profesionales (que está muy bien, networking para empresas y un espacio más controlado para lo que es la conferencia, además no tienen que dar de comer a tanta gente, recuerdo que en el 2008 todos teníamos almuerzo gratis).

Es una pena…

Actualización 13:14 Según la página de Facebook de la OSWC, se ha cancelado del todo, ya no buscan alternativas ni nada.

Visita otras webs de la red