Instalar Debian GNU/Linux en el Acer Aspire ONE A150L

— [ edit | raw ] migrated from node/1050

Cómo instalar nuestra querida Debian en el Acer Aspire ONE. Sé que hay varias buenas recetas sobre lo mismo, pero son efímeras y al final nos quedamos sin receta. CRySoL perdura.

El piratear se va a acabar

— [ edit | raw ] migrated from node/1049

Supongo que sabréis que el Ministerio de Cultura y estamentos privados tan reputados como la SGAE, la industria de los contenidos y las empresas de comunicaciones están preparando un proyecto para acabar con el P2P en España (la semana que viene) y parece que la propuesta va a ser el sistema francés de tres amenazas avisos.

ayuda con mail/sendmail

— [ edit | raw ] migrated from node/1048
hola amigos,

Ayuda con molinux, acceso a programas

— [ edit | raw ] migrated from node/1046
Hola, como dije cuando me presenté, no soy un experto de gnu/linux. Llevo unos meses utilizando ubuntu, la verdad es que no me ha dado problemas, pero hace unos días recibí la última versión de molinux, y decidí partir el disco e instalar en una mitad ubuntu y la otra mitad molinux (creo que fue una estupidez y que finalmente borraré uno de ello ya que son casi iguales, para lo que también pido ayuda, ya que no se como se hace, he de reconocer que tampoco he googleado sobre esto, asi que me pondré a ello). Bueno el caso es que antes de decantarme y elegir he decidido instalar algunos programas en molinux, como el aircrack o wireshack (que conste que es cuestión de auditoria :p) o a borrar los tipicos juegos. Bien, para lo primero me dice:

De ingenieros informáticos y otras criaturas fantásticas

— [ edit | raw ] migrated from node/1045

Con todo esto de las atribuciones, las competencias, los títulos, las huelgas, la mala información y la pura y llana desinformación (incluso intencionada) es un auténtico reto enterarse de qué va todo esto y hacia dónde va (si es que va) nuestra amada/odiada, al 50%, carrera de Informática.

DevkitPro 23b para Debian/Ubuntu/Molinux

— [ edit | raw ] migrated from node/1044

Con propósitos docentes he generado un paquetillo Debian que contiene DevkitPro 23b para ARM EABI, PPC y PSP completo, con las herramientas de manipulación de imágenes, generación de ROMs, depuración, etc.

Introducción a los hilos con la librería glib

— [ edit | raw ] migrated from node/1043
Esta receta prentede ser una introducción a los hilos utilizando la librería glib.

¿Qué es un hilo?

Un hilo de ejecución es una característica que permite a una aplicación realizar varias tareas concurrentemente. Los distintos hilos de ejecución comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos, situación de autenticación, etc. Esta técnica permite simplificar el diseño de una aplicación que debe llevar a cabo distintas funciones simultáneamente, por ejemplo si programamos videojuegos podemos tener un hilo para la Inteligencia Artificial, otro para la física y otro para el renderizado de los gráficos, pero todos ellos se ejecutarán de manera paralela.

¿Qué es glib?

La librería glib es una de las más importantes que existen en GNOME. Dentro de glib está implementada una serie de tipos de datos que nos hace más fácil, si cabe, el tratamiento de los datos y además tiene la propiedad de mejorar la portabilidad de nuestros programas.

Un ejemplo sencillo de programa en C++ que crea dos hilos

#include <cstdlib>
#include <iostream>
#include <glib.h>

GThreadFunc funcion_de_prueba(char *cadena);

int main(int argc, char *argv[])
{
  char *mensaje1 = "mensaje_1";
  char *mensaje2 = "mensaje_2";

  //inicializamos el soporte para hilos en glib
  if (!g_thread_supported ()) g_thread_init (NULL);

  //reservamos memoria para los hilos de manera dinámica
  GThread *productor = (GThread *) malloc(sizeof(GThread));
  GThread *consumidor = (GThread *) malloc(sizeof(GThread));

  //creamos los hilos
  productor = g_thread_create( (GThreadFunc)funcion_de_prueba,(char *)mensaje1 ,TRUE,NULL);
  consumidor = g_thread_create( (GThreadFunc)funcion_de_prueba, (char *)mensaje2 ,TRUE,NULL);

  //destruimos los hilos
  g_thread_join(productor);
  g_thread_join(consumidor);

  //liberamos memoria
  free(productor);
  free(consumidor);

  return 0;
}


//esta es la función que es llamada por los hilos
GThreadFunc funcion_de_prueba(char *cadena){
  printf("esta es la funcion de prueba\n");
  printf("mensaje  %s\n", cadena);
}

Resultados que deberás obtener

 esta es la funcion de prueba
mensaje mensaje_1
 esta es la funcion de prueba
mensaje mensaje_2

o bien

 esta es la funcion de prueba
 esta es la funcion de prueba
mensaje mensaje_1
mensaje mensaje_2

Referencias

Manual de glib Documentos glib Blog de greenbite

Nueva versión de Molinux Adarga 4.0

— [ edit | raw ] migrated from node/1041
Hola, no he visto nada de Molinux Adarga 4.0 por aquí, aunque supongo que la mayoría de los miembros de la comunidad ya lo conocen. Pero siempre quedará gente que no esté informada sobre éste (como era mi caso hasta hace 4 días).

Mermelada

— [ edit | raw ] migrated from node/1040
Hay unas cuantas piezas de fruta que nadie se come porque están empezando a pasarse, y no son tan apetecibles como el resto de la fruta. ¡Estupendo! Haz una mermelada con ellas.

Ingredientes

  • N gramos de fruta
  • N/2 gramos de azúcar
  • agua

Preparación

  • Echar un poco de agua en una cazuela y poner a hervir con el azúcar.
  • Opcionalmente, se puede añadir una rama de canela.
  • Picar la fruta en trozos muy pequeños, cuanto más, mejor. Como si quisiéramos hacerla puré.
  • Echarla a la cazuela y hervir, removiendo constantemente. A medida que la cocción vaya avanzando, la mezcla se irá solidificando.
  • Cuando tenga la textura adecuada, retirar del fuego y dejar enfriar en un bol.

¿Cuál es la textura adecuada?

Bueno, pues eso es muy subjetivo. Obviamente, no debe ser tan líquido como para chorrear, ni tan sólido como para cortarlo con cuchillo. El problema es que, al dejarla enfriar, se endurecerá aún más. Si habéis echado demasiado azúcar puede quedar demasiado dura. En ese caso, se puede volver a calentar al baño maría y rebajarla añadiendo un poco de agua.

Bridges de red para VirtualBox y QEMU

— [ edit | raw ] migrated from node/1039
Si alguna vez habéis utilizado VirtualBox, QEMU, VMWare o similares, puede que os hayáis encontrado con el problema de que no podéis acceder a servidores que se ejecutan en el SO huésped desde otros equipos externos. Eso es porque estas máquinas virtuales suelen traer soporte para NAT pero no siempre para bridging. Una solución es crear un dispositivo que haga de puente entre el interfaz de red del SO huésped y el del SO anfitrión. En esta receta veremos cómo hacerlo.

Ingredientes

  • uml-utils
  • bridge-utils

El Puente

Necesitamos crear un dispositivo en nuestro sistema anfitrión que haga las veces de puente. Lo podemos poner directamente en el archivo /etc/network/interfaces, de forma que se cree en el arranque y esté disponible en el sistema. Añadiremos las siguientes líneas al fichero:
#dispsitivo puente para virtualización
iface br0 inet dhcp
bridge_ports eth0
up chmod 0666 /dev/net/tun
A continuación, reiniciamos la red con:
# /etc/init.d/networking restart
Si miramos ahora las interfaces de red, veremos que tenemos un nuevo dispositivo llamado br0, que es el puente entre nuestra eth0 y los SO huésped.

El Enlace

Antes de nada, nos aseguramos de tener cargados el módulo tun y el kqemu (en caso de utilizar QEMU, claro).
# modprobe tun kqemu
Antes de arrancar la máquina virtual, será necesario crear un dispositivo que será el que se comunique con el interfaz del SO huésped, y añadirlo al puente br0.
# tunctl -u $USER
Set 'tap0' persistent and owned by uid 1000
# ifconfig tap0 up
# brctl addif br0 tap0
Si volvemos a mirar las interfaces de red, además del br0 encontraremos también el tap0. Cuando vayamos a arrancar la máquina virtual, hay que configurarla para que utilice el dispositivo tap0 como interfaz de red. Las siguientes imágenes muestran cómo hacerlo en VirtualBox y QEMU:
En ambos programas hay un campo de texto que pide el nombre de un script. Si hemos colocado las instrucciones anteriores de creación y configuración de los dispositivos br0 y tap0 en un script, podemos poner aquí el nombre del mismo. Así, supuestamente, se ejecutará el script antes de arrancar la máquina virtual, aunque a mí no me ha funcionado muy bien y he tenido que ejecutar el script manualmente.