Archive for August, 2010

Hace ya la friolera de 3 años, comencé un pequeño proyecto del cual había varios parecidos por la red rondando. No era otra cosa que una pequeña publicación digital orientada a llevar la informática de forma libre a todo el mundo, apoyándose siempre el en software libre, pero nunca dando de lado a las demás publicaciones.

Dicho proyecto se denominó SofLix (el nombre lo inventé yo, no fue más que unir las palabras SOFtware LIbre y ponerle la señal de uniX) y tuvo la friolera de 3 publicaciones, más o menos queridas, pero ahí están.

El caso es que tras la publicación del número uno de la revista, pensé que podíamos hacerle llegar una entrevista a alguien conocido dentro de este mundillo. Le pregunté a las personas que colaboraban conmigo y a compañeros de clase. Incluso tuve varios correos con Javier Hernandez, dueño de http://www.javierH.com y estuvimos pensando a quien entrevistar.

Salieron los nombres de Linus Torvald, Richard Stallman e incluso Deb e Ian, los fundadores del proyecto Debian…, pero no me terminaban de convencer.

Más tarde aparecieron los nombres de Tim Berners Lee y de Miguel de Icaza, los cuales tras hablar con un compañero de clase decidí que sería alguno de ellos dos.

Con el señor Tim Berners Lee no llegué ni siquiera a contactar, su “secretaria” en la fundación W3C me dijo muy hamablemente que el Señor Lee no tenía tiempo para esas cosas, que probara en otro momento, a groso modo eso fue lo que me comentó.

Con Miguel de Icaza si que llegué a contactar y me respondió que gustosamente me contestaría a todas las preguntas. Tras esto, avisé a todos los colaboradores y a mis compañeros de clase para que me enviaran sus preguntas más algunas mías, creé el artículo y lo firmé en nombre del equipo.

Nadie avisó en su blog, ni si quiera yo, solo avisamos de habría una sorpresa en el número 2 de SofLix…, y luego en el número 3.

Lamentablemente, las respuestas a las preguntas que envié por correo nunca tuvieron respuestas. A día de hoy, muchas si la tienen, más que nada porque hace ya 3 años de aquello…, pero en aquel momento, Diciembre del año 2007, era lo que se movía en la comunidad.

Os dejo a continuación la entrevista y el artículo que se iba a publicar al completo.

Miguel de Icaza es un desarrollador mexicano de software libre. Entre sus aportaciones destacan la fundación del proyecto GNOME, el controlador de archivos o ficheros Midnight Commander, Gnumeric, el modelo de componentes Bonobo y la plataforma Mono.

Sus fuertes críticas hacia la presunta apatía del gobierno de su país en relación con la forma en la que se insertaba a México en la vida digital, tuvo mucho eco en la comunidad tecnóloga en el país. Propuso un modelo de desarrollo basado en código abierto tanto para el acceso a la red de la comunidad en general, como de desarrollo de aplicaciones gubernamentales. En lugar de esta propuesta, el gobierno de su país decidió pagar a Microsoft para dotar de la infraestructura de software de éste proyecto. Actualmente el proyecto vive en el abandono, como vaticinaba Miguel.

De Icaza nació en el año de 1972 en la ciudad de México. Su padre es físico y su madre bióloga. Cursó la licenciatura en Matemáticas en la facultad de ciencias de la Universidad Nacional Autónoma de México donde a la edad de 18 años comenzó a participar en el proyecto GNU. Su primera aportación fue el gestor de archivos o ficheros Midnight Commander.
No finalizó sus estudios de licenciatura en la UNAM. Su reputación como programador le valió un viaje con gastos pagados a las oficinas de Microsoft para una entrevista de trabajo, la cual aprovechó para predicar las ventajas del software libre a la empresa fabricante de Windows. No obtuvo el empleo, pero trabó amistad con Nat Friedman, quien años más tarde se asociaría con él para fundar la empresa Helix Code (posteriormente rebautizada como Ximian) en la ciudad de Boston.

En agosto de 1997, con el apoyo del también mexicano Federico Mena, fundó el proyecto GNOME con el propósito de crear un entorno grafico de escritorio y proveer una infraestructura sólida para el desarrollo de software libre. Su trabajo le hizo acreedor dos años después al Premio al Software Libre de la FSF y a ser reconocido como el Innovador del Año por el Tecnológico de Massachusetts.

En septiembre de 2000 la revista Time lo nombró uno de los 100 principales innovadores para el siglo XXI. Meses después anunció la creación del proyecto Mono, una reimplementación de la plataforma .NET para Linux y otros sistemas Unix. Tras una breve participación en la película Antitrust (2001) contrajo matrimonio en el año 2003 con María Laura, una ciudadana brasileña.
Actualmente es el Vicepresidente de Desarrollo en Novell (la empresa estadounidense que adquirió su compañía en el 2003) y dirige el proyecto Mono, además de participar en múltiples conferencias de difusión o promoción del software libre a nivel internacional.

Y a continuación, empezamos con la entrevista.

Antes de nada, darle las gracias por atendernos.

1.¿Cual cree que ha sido su mayor meta en la vida?, ¿que espera del futuro?.

2.Cuando comenzó el proyecto GNOME con Federico Mena, ¿pensó que llegaría a ser uno de los entornos de escritorio más famoso y usado de Linux?.

3.Al igual que usted cuando comenzó sus proyectos, miles de estudiantes en el mundo estarán comenzando a desarrollar software, ¿que les podría decir?. A título de que usted posee gran experiencia en este campo y estos pueden encontrarse en algún momento desorientados. ¿Recibieron en sus comienzos alguna ayuda económica?.
4.¿Que piensa que se debería mejorar en GNOME con mayor urgencia?. Podriamos diferenciar entre usuarios domésticos y administradores de grandes instalaciones, ¿que se debería mejorar para unos y para otros?.

5.Es de sobra conocido que en diversas plataformas se está empezando a usar Linux como sistema operativo, vease palms, dispositivos móviles, consolas,…, ¿que nos puede decir de la implantación de GNOME en estos sistemas operativos?.

6.Debido a la inminente aparición de KDE4 (cuando se publique esta entrevista se prevé que ya habrá sido publicado), entorno el cual ha creado mucha expectación, ¿debería hacer algún movimiento GNOME?.

7.¿A que tipo de usuarios está orientado GNOME?.

8.¿Se esperan cambios importantes para una futura GNOME 3.0?.

9.A título de curiosidad, ¿quien inventó el logotipo de GNOME?, ¿se sabe en que se basó y por que?.

10.Hace bastante tiempo, Linus Torvald criticó duramente a GNOME, ¿cual fue su opinión en aquel momento?, ¿conoce a Linus Torvald en persona?, ¿ha hablado en algún momento con él sobre aquel hecho?.

11.Conocido es de sobra el problema de algún software (vease GNOME, KDE, OpenOffice, Firefox, etc) del consumo tan desmesurado de memoria que hacen. ¿No cree usted que antes de avanzar en otros campos habría que solucionar este problema?.

12.Gracias a varias distribuciones Linux, miles de usuarios se están adentrando en el mundo de Linux y, a su vez, usan GNOME. Si usted tuviera que vender su producto, ¿que tiene GNOME que no tenga KDE?.

13.Como un pequeño inciso, ¿Linux o GNU/Linux?.

14.Y cambiando de tema, para aquellos usuarios que lo desconozcan, ¿que es MONO?.

15.¿Cuando y por que nace MONO?.

16.¿Que diferencias hay entre el proyecto MONO y el proyecto Portable .NET?.

17.En foros universitarios se ha podido escuchar que migrar .NET a Linux sería “hacerle el juego a Bill Gates”, ¿que opina sobre ello?.

18.Así mismo, ¿no cree que hubiera sido mejor esforzarse por integrar la JVM en el núcleo de Linux en vez de apostar por otro lenguaje orientado a objetos?.

19.Si intentamos portar un código en .NET de Windows a Linux y descubrimos que no es protable al 100%, ¿no traería esto más problemas que soluciones?.

20.¿Cree que terminará .NET trabajando en Linux con la misma fiabilidad y facilidad que en Windows?.

21.Existiendo tantos lenguajes orientados a objetos, ¿por que .NET?, ¿por que no python o java?

22.Hay quienes ven la mano de Microsoft detrás del proyecto MONO, por aquello de que Novell obtuvo acuerdos con Microsoft, ¿que les diría?.

23.Hace poco, en Madrid ha habido una serie de conferencias sobre MONO, en concreto, para quienes no lo conozcan, el MONO SUMMIT 2007 los días 28-30 de Noviembre, ¿que nos podría contar de dicho encuentro?, ¿se ha llegado a alguna conclusión interesante?.

24.Cambiando de tema, ¿cree usted que, a día de hoy, los sistemas operativos Linux pueden hacerle frente a otros sistemas como Windows o MAC en su lucha por el usuario doméstico?. ¿Debería cambiar algo en Linux para hacerlo más accesible?. ¿Cree que a largo plazo se podrá “ganar la batalla”?.

25.Y hablando de software, vamos a llamarlo “no libre”. Hay quienes piensan que este tipo de software debería erradicarse, ¿no perderiamos la libertad de elección si cuando queremos comprar un PC solo tenemos software libre o software libre?, es decir, ¿no seriamos totalmente libre si pudieramos elegir en igualdad de condiciones libre o propietario?, ¿cual es su opinión?.

26.Apartándonos del software libre, Windows XP a base de parches y SP ha llegado a ser un sistema operativo estable, ¿por que cree deciden apostar por Vista y no seguir mejorando XP?. Se ha demostrado que esto ha sido un error grave, ¿cree que Microsoft acelerará el desarrollo de su siguiente sistema operativo para solucionar esto?. Esto podría llevar a que su siguiente sistema fuera peor que Vista, ¿no es este el momento de Linux?.

27.¿Que opina de los ordenadores de APPLE?, ¿cree que existe la posibilidad de que APPLE convierta su SO en software libre al 100%?. Para quien no lo sepa, el sistema operativo MAC OS X no es en su totalidad software privativo, ya que tiene capas que están bajo licencias de software libre.

A continuación le presento una sería de preguntas que poco o nada tienen que ver unas entre otras. Se trata de conocer sú opinión sobre diversos temas.

28.No se si sabrá que en algunos países, uno de ellos España, las carreras de informática no tienen atribuciones profesionales. ¿Conoce la problamática?, en tal caso, ¿cual es su opinión?.

29.En España, muchos gobiernos (autónomos y central) promueven el software libre creando distribuciones GNU/Linux, ¿que opina sobre que el propio gobierno sea quien promueva el software libre?.

30.Así mismo, algunos de estos gobierno mantienen repositorios con todo el material que desarrollan (software, código fuente,…) a los cuales tienes acceso una vez que te identifiques para aprobar tú solicitud, ¿no cree que esta medida contraviene la licencia GPL?.

31.¿Cree que México este preparado para GNU/Linux y el Software Libre?.

32.¿Que consejos les darías a aquellas Universidades Mexicanas para que enseñen mas sobre herramientas de software libre?.

33.Siempre se ha dicho que Linux era SO exclusivamente de hacker y excesivamente complicado, ¿que tiene que decir sobre esto?.

34.Si tuviera que vender a cualquier usuario el SO Linux, ¿que le diría?.

35.¿No cree que la licencia GPL no protege en demasía el trabajo de los desarrolladores?, es decir, cualquier software bajo licencia GPL se puede modificar y redistribuir bajo la misma licencia, pero este “nuevo” software se podría vender, ¿no sería esto una agravio contra el creador original del software?. Otro ejemplo, si yo soy el creador de un software bajo licencia GPL y a su vez existe una empresa que trabaja en un software con el mismo cometido que el mío. Nadie podría impedir a dicha empresa obtener el código de mi software y así capturar ideas para su desarrollo, y todo esto sin copiar ni una sola línea de código, ¿no estariamos en un caso como el anterior?.

36.¿Que distribución utiliza?, supongo que usará GNOME, ¿me equivoco?.

37.A día de hoy se podría decir que existen miles de distribuciones Linux, ¿se podría caer en la monotonía y desorientar al usuario final?.

38.Como curiosidad, ¿existe una versión de la web del proyecto MONO en español?. La hemos estado buscando y no la hemos encontrado. En caso negativo, ¿a que se debe?.

39.¿Realiza en la actualidad algún trabajo para el kernel?.

40.¿Cuales son los objetivos de GNOME a corto y medio plazo?, ¿y de MONO?.

41.Como última pregunta, ¿cuales son los objetivos de Miguel de Icaza a corto y medio plazo?, ¿están ligados a GNOME y MONO?.

42.Sin más, de nuevo, muchísimas gracias por atendernos y por su tiempo. Reciba mi más cordial saludo, en mi nombre y en nombre de todo el Equipo SofLix.

Muchísimas gracias por su tiempo.

Lo dicho, una pena que no se llegara a publicar.

¡Saludos!.

Comments No Comments »

A la hora de auditar la fortaleza de la contraseña de nuestra conexión wireless, o de quien nos haya contratado para ello, protegida con WPA/WPA2 necesitaremos un diccionario, seguramente varios, de claves los cuales ocupan unos cuantos gigas de capacidad.

Una alternativa a usar un diccionario, si no lo tenemos, es usar el programa criptográfico John the Ripper, el cual irá probando una a una todas las posibles combinaciones de claves que pueda haber. A esto se le conoce como un ataque de fuerza bruta.

El comando para usarlo con la suite aircrack es el siguiente:

john --stdout --incremental:all | aircrack-ng -b BSSID -w - fichero.cap

Con la flag –incremental:all conseguimos que pruebe con todos los caracteres posibles y así, asegurarnos que la contraseña será encontrada. Este argumento se puede cambiar para que pruebe con letras solo, con números, etc., para más información al respecto, habría que leerse la documentación en la web de John The Ripper.

Cabe decir que una clave WPA2 puede llegar a tener un total de 64 caracteres, si tenemos una clave de 8 caracteres, teniendo números y letras en mayúsculas y minúsculas, tenemos un total de 26+26+10=62 combinaciones posibles sin contar los caracteres especiales. El número de combinaciones totales que John The Ripper tendría que hacer para obetener la contraseña es de 62*62*62*62*62*62*62*62=218 340 105 584 896, y si hacemos una media de 600 comprobaciones por segundo, según manuales encontrados por internet, tardaríamos un total de 11539 años en obtener la clave.

Comments 8 Comments »

Uno de los problemas que más quebraderos de cabeza me ha dado desarrollando con GStreamer ha sido poder obtener la duración de la canción o del medio que estaba reproduciendo, ya que, sin obtener dicho valor, por ejemplo, no podría controlar la reproducción de la canción, es decir, saber por dónde va por ejemplo.

El problema radica en que, para poder obtener dicha información el pipeline DEBE estar en PAUSA, si no, será casi imposible leer dicho dato.

¿Cual era el problema que tenía?, pues que la función queryDuration me devolvía siempre CERO y como es lógico, con una duración de cero minutos y cero segundos poco puedo hacer.

Este era el código que usaba:

1
2
3
4
5
Gst.init();
 playbin = new PlayBin2("AudioPlayer");
 playbin.setInputFile(new File(path));
 playbin.setState(State.PAUSED);
 playbin.setVideoSink(ElementFactory.make("fakesink", "videosink"));

Y aun diciéndole que pusiera el estado del pipeline a PAUSED, seguía devolviendo un cero como valor.

Haciendo un debug a lo grande (poniendo un bucle sin reproducir nada y ver cual era la transicion de los estados y que valor devolvía xD), observé que el problema era que pasaba de cargar el archivo a reproducirlo de forma demasiado rápida, sin darle tiempo al programa a poner el estado a PAUSE y leer el valor de la duración, por lo que siempre al leer el estado, el valor que devolvía era cero.

¿Solución? esperar a que el pipeline se ponga en PAUSED antes de seguir con la reproducción.

 

1
2
3
while(playbin.getState()!=State.PAUSED){
System.out.println("El medio aun no está listo.");
}

Y así conseguimos detener la ejecución del programa hasta que el pipeline esté listo para leerse.

Comments No Comments »

Ultimamente he estado trabajando bastante con GStreamer y JAVA, ya que estoy sumergido en un proyecto bastante ilusionante la verdad del que, poco a poco, iré comentando aquí.

Lo que voy a comentar en este post es algo que podemos obtener de la propia web de GStreamer en su documentación, y no es otra cosa que reproducir un archivo MP3, o cualquier otro soportado por GStreamer, desde JAVA.

A continuación dejo los enlaces a la wikipedia de GStreamer y JAVA, para orientar a algún perdido.

  • Gstreamer – http://es.wikipedia.org/wiki/GStreamer
  • Java – http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Java

En la propia documentación de GStreamer se nos avisa de la potencia de este framework y que no es apropiado para “iniciados”, por lo que recomienda usar otros como Java Media Framework, aunque si os soy sincero, con un poco de ganas es fácil de utilizar. Personalmente, he tenido más problemas a la hora de utilizar Swing, que conectando con GStreamer y utilizar sus herramientas.

Lo primero que hay que tener en cuenta es que tanto GStreamer como JAVA son multiplataforma, por lo que lo aquí enseñado debería, ojo, DEBERÍA, ser válido tanto para Windows, Linux (en estos dos SOs es donde he realizado las pruebas) y MAC.

Como he dicho, el siguiente código su única función es la de reproducir un archivo MP3, y tiene la siguiente estructura.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public void runEngine(File file) {
try {
//Obtengo la ruta absoluta del archivo a reproducir
path = file.getAbsolutePath();
 
//Arrancamos la librería GSTREAMER para rpeorducir el medio.
Gst.init();
 
//Creamos la tubería por donde circulará la información, 
//playbin es el medio que proporciona GStreamer para 
//controlar la reproducción
playbin = new PlayBin("AudioPlayer");
 
//Agregamos el archivo que queremos reproducir
playbin.setInputFile(new File(path));
playbin.setVideoSink(ElementFactory.make("fakesink", "videosink"));
 
//Cambiamos el estado a PLAYING y comenzamos la reproducción.
playbin.setState(State.PLAYING);
} catch (Throwable e) {
System.out.println("GStreamer no soportado: " + e.getLocalizedMessage());
}
}

Como podemos observar, la herramienta principal es el objeto llamado “playbin”, lo cual es un pipeline ya creado que nos permite controlar la reproducción del medio.

Y hasta aquí lo más simple de todo, a partir del playbin, podemos controlar toda la reproducción (pausar, detener, resumir, avanzar…) y obtener información (bitrate, tiempo de reproducción…), por lo que es una herramienta muy poderosa.

En los foros de GStreamer se hablar de una evolución de playbin llamada playbin2, lo cual, por lo que he llegado a leer está en versión BETA, y no he llegado a probarlo.

Más adelante hablaré de como reproducir archivos de video y otras cosillas bastante interesantes que se pueden hacer con GStreamer, además, de liberar al fin mi proyecto en el cual llevo trabajando desde comienzos de este año y me ha servidor para sacar un sobresaliente en la carrera 😀

Comments 2 Comments »

   Beat diabetes   Diabetes diet