MULTIPROCESO PERL FORK

1) INTRODUCCIÓN.
Muchas veces realizamos acciones que pueden hacerse en paralelo,
por ejemplo generar 6 tomos de un libro en latex. Cada tomo puede generarse
de forma independiente.

El objetivo es que si se tienen 4 procesadores cada procesador genere
un libro, y cuando termine siga generando otro libros.

La conclusión es que tarda 1/3 parte menos de tiempo en realizar
las tareas.

Esta basado en el programa jigl, que genera albunes de fotos, a una
velocidad de vértigo) el cual consulte las fuentes
para poder hacer mi propio script.

2) SCRIPT EN PERL

#!/usr/bin/perl -w
# Por Paco Aldarias
# Fecha: 12/12/2010
# Pasado en: jigl
# Script que genera tomos en paralelo

use Cwd;

my $MP_MAX_JOBS = mp_detect_cpu();
print «Número procesadores: $MP_MAX_JOBS»;
my $startDir = cwd;

&main();

###########################################################
sub mp_detect_cpu
{
my $r = `grep processor /proc/cpuinfo |wc -l`;
mp_debug(«Detected $r cpu.n»);
return $r;
}
###########################################################
sub mp_debug($)
{
print «mp[$$]: «. $_[0];
}
###########################################################
sub mp_wait_jobs($)
{
my($n) = @_;

while(1){
my $running = scalar(keys %mp_jobs);
mp_debug(«$running job(s) currently running.n»);

last if $running <= $n; mp_debug(«Waiting…n»); # Wait for a job to finish. my $c = wait(); my $rc = $?; mp_debug(«-> $c ($rc)n»);

# Sanity checks.
if($c < 0){
print «mp: wait() returned $c. Strange!n»;
}

if(!exists $mp_jobs{$c}){
print «mp: wait() returned $c, but job is not»
.» in mp_jobs. Strange!n»;
}

# Check the return code and die if non-zero.
die $mp_jobs{$c} if $rc;

# Forget job.
delete $mp_jobs{$c};
}
}
###########################################################
sub mp_wait_for_free_slot()
{
mp_wait_jobs($MP_MAX_JOBS – 1);
}
###########################################################
sub mp_wait_for_all_jobs()
{
mp_wait_jobs(0);
}
###########################################################
sub mp_launch($$)
{
my($cmd, $die_msg) = @_;

# Wait for a free slot first.
mp_wait_for_free_slot();

# Ok, fork.
my $r = fork();

if(!$r){
# We are in the child.
# Do the job.
mp_debug(«Running $cmd n»);
exec($cmd);

} else {
# We are in the father.
# Remember the child as well as the die msg.
mp_debug(«Launched $r.n»);
$mp_jobs{$r} = $die_msg;
}
}

######################################################3
sub main {

my @carpetas=`find . -type d -name «tic1tomo?-*» | cut -d «/» -f2`;

foreach $c (@carpetas) {

#Eliminamos saltos de linea.
$c =~ s/n//g;
$c =~ s/ //g;

my @f = split(«-«,$c);

print «Carpeta: $c Fichero: $f[0]n»;

chdir $startDir;
chdir «./».$c;
$cmd = «pdflatex -interaction nonstopmode /home/paco/Dropbox/ceed1011/apuntes/».$c.»/».$f[0].».tex -output-directory /home/paco/Dropbox/ceed1011/apuntes/».$c.»/»;
print «Comando: $c»;
$dieMsg = «Mensaje Errorn»;
mp_launch($cmd, $dieMsg);

}

mp_wait_for_all_jobs();

}
######################################3

FUENTES DE LAS LETRAS EN QCAD.

Instalando Qcad en LLiurex no aparecen las fuentes, vamos a instalarlas.

1. Descargar el archivo qcad de la web oficial.
qcad-2.2.2.0-1-demo.linux.x86.tar.gz

2. Descomprimirlo.

3. Buscar donde se guardan las fuentes en Qcad.
Ir al menú – edit – aplication preferences – path – fonts
En mi caso es:
/usr/share/qcad/fonts

4. Crear la carpeta.
mkdir /usr/share/qcad
mkdir /usr/share/qcad/fonts

5. Copiar las fuentes
sudo cp /home/lliurex/Descargas/qcad-2.2.2.0-1-demo.linux.x86/fonts/* /usr/share/qcad/fonts/

TECLADO EN UBUNTU

1) PARA REINICIAR EL SERVIDOR GRAFICO:

IR AL MENU SISTEMA- PREFERENCIAS – TECLADO – DISTRIBUCIONES – OPCIONES.
SECUENCIA DE TECLAS PARA MATAR SERVIDOR X.
– ACTIVARLO.

2) ATAJOS DE TECLADO.
PULSANDO CTRL+C QUE MUESTRE LA CALCULADORA
PULSAMOS ALT+F2 Y ESCRIBIMOS: gconf-editor
2.1) DEFINIMOS EL COMANDO EN: apps – metacity – keybinding_commands
SOBRE COMMAND1 BOTON DERECHO. EDITAR CLAVE Y PONER: /usr/bin/gcalctool
2.2) ASICIAMOS COMMAND1 LAS TECLAS CON: apps – metacity – global_keybindings
SOBRE COMMAND1 BOTON DERECHO: ESCRIBIMOS c

DNIE CON UBUNTU 10.04 LUCID

Está probado y funciona.

Supongamos que tenemos un DNI electrónico y un lector compatible. Veamos cómo hacerlo funcionar en Ubuntu Linux Lucid.

En primer lugar hay que dirigirse al Portal Oficial sobre el DNI electrónico para descargar los paquetes para nuestro Sistema Operativo favorito.

http://www.dnielectronico.es/descargas/PKCS11_para_Sistemas_Unix/opensc_1.4.6_menu32.html

Inicio / Área de Descargas / PKCS#11 para Sistemas Linux – Unix / Distribuciones Linux / Arquitectura / Software / Ubuntu_Jau_Jack-32bits

Descargar este archivo (la versión superior no va):

Ubuntu_Jaunty_opensc-dnie_1.4.6-2_i386.deb.tar

Hay un archivo TAR donde se encuentran 3 paquetes, los cuales deben instalarse en el siguiente orden:

dpkg -i libopensc2_0.11.7-7_i386.deb
dpkg -i opensc_0.11.7-7_i386.deb
dpkg -i opensc-dnie_1.4.6-2_i386.deb

Como en vienen versiones más nuevas de estos paquetes, tendremos que bloquearlos para que no se actualicen de formas automática y todo deje de funcionar:

$ echo -e «opensc holdnlibopensc2 hold» | sudo dpkg –set-selections

Adicionalmente también te aconsejo instalar los siguientes paquetes:

$ sudo aptitude install libccid libpcsclite1 pcscd pinentry-gtk2 mozilla-opensc pcsc-tools

Ahora enchufamos el aparato y comprobamos que lo puede usar:

$ pcsc_scan

Debe salir algo como:

pcsc_scan
PC/SC device scanner
V 1.4.16 (c) 2001-2009, Ludovic Rousseau
Compiled with PC/SC lite version: 1.5.3
Scanning present readers…
0: SCM SCR 3310 00 00

Tue Sep 21 10:27:54 2010
Reader 0: SCM SCR 3310 00 00
Card state: Card inserted, Shared Mode,
ATR: 3B 7F 38 00 00 00 6A 44 4E 49 65 20 02 4C 34 01 13 03 90 00

Y si insertamos el DNIe parpadeará la luz verde del lector y saldrán algunos mensajes más en la consola.

Ahora veamos como configurar Firefox para que podamos acceder a las aplicaciones web que hacen uso de esta tenología. Cuando instalaste el paquete opensc-dnie, se creó una nueva entrada en el menú localizada en Aplicaciones > Oficina > Registrar módulo DNIe PKCS#11. De modo que hacemos click ahí y se abrirá una ventana en el navegador como esta:

en la que deberemos marcar todos los checkbox y darle a Aceptar. Puedes ver cómo se ha añadido el certificado en Editar > Preferencias > Avanzado > Cifrado > Ver certificados > Autoridares > DIRECCION GENERAL DE LA POLICIA.

Ahora ya estás listo para probar tu DNIe, de modo que ve a compruebe su DNI (si te da un error de Conexión segura fallida prueba con el Censo Electoral).

http://www.dnielectronico.es/como_utilizar_el_dnie/verificar.html

Cambiar la posición de los botones de las ventanas

Uno de los aspectos que más polémica ha levantado esta nueva versión de Ubuntu es el cambiar la posición de los botones minimizar, maximizar y cerrar de la derecha (lo habitual en versiones anteriores) a la izquierda (en Ubuntu 10.04).

Sin embargo, no pasa nada ya que podemos cambiarlos a su posición original con el siguiente comando:

gconftool-2 –type string –set /apps/metacity/general/button_layout «menu:minimize,maximize,close»

En ubuntu 14 seria:
gsettings set org.gnome.desktop.wm.preferences button-layout :minimize,maximize,close

CURSOS INFORMATICA DEL MEC

1. http://www.isftic.mepsyd.es/formacion/materiales/12/cd/ Tutor e Internet

2. http://www.isftic.mepsyd.es/formacion/materiales/13/cd/ Iniciación a la informática

3. http://www.isftic.mepsyd.es/formacion/materiales/23/cd/ Hoja de cálculo en la enseñanza de las ciencias

4. http://www.isftic.mepsyd.es/formacion/materiales/24/cd/ El Cine, un recurso didáctico

5. http://www.isftic.mepsyd.es/formacion/materiales/27/cd/ Aplicaciones multimedia con Neobook

6. http://www.isftic.mepsyd.es/formacion/materiales/33/cd/ Diseño de presentaciones

7. http://www.isftic.mepsyd.es/formacion/materiales/34/cd/ Diseño Flash de recursos multimedia para la enseñanza (Edición 2007)

8. http://www.isftic.mepsyd.es/formacion/materiales/42/cd/ La Prensa, un recurso didáctico

9. http://www.isftic.mepsyd.es/formacion/materiales/43/cd/ Introducción a Linux

10. http://www.isftic.mepsyd.es/formacion/materiales/47/cd/ EL ORDENADOR COMO ELEMENTO DE CONTROL

11. http://www.isftic.mepsyd.es/formacion/materiales/48/cd/ Edición en HTML

12. http://www.isftic.mepsyd.es/formacion/materiales/49/cd/ Construyendo salud

13. http://www.isftic.mepsyd.es/formacion/materiales/50/cd/ Intro

14. http://www.isftic.mepsyd.es/formacion/materiales/55/cd/ HOJA DE CALCULO EN LA ENSEÑANZA

15. http://www.isftic.mepsyd.es/formacion/materiales/56/cd/ GIMP, aplicaciones didácticas

16. http://www.isftic.mepsyd.es/formacion/materiales/59/cd/ WebQuest

17. http://www.isftic.mepsyd.es/formacion/materiales/60/cd/ ((((( Sonido Música con oredenador

18. http://www.isftic.mepsyd.es/formacion/materiales/62/cd/ Aplicaciones Educativas con HotPotatoes

19. http://www.isftic.mepsyd.es/formacion/materiales/67/cd/ BBEE Bibliotecas Escolares

20. http://www.isftic.mepsyd.es/formacion/materiales/68/cd/ El Cine, un recurso didáctico

21. http://www.isftic.mepsyd.es/formacion/materiales/69/cd/ Internet, aula abierta

22. http://www.isftic.mepsyd.es/formacion/materiales/71/cd/ DIBUJO VECTORIAL CON DRAW

23. http://www.isftic.mepsyd.es/formacion/materiales/72/cd/ Educación inclusiva

24. http://www.isftic.mepsyd.es/formacion/materiales/79/cd/ OpenOffice Impress

25. http://www.isftic.mepsyd.es/formacion/materiales/81/cd/ Squeak en el Aula

26. http://www.isftic.mepsyd.es/formacion/materiales/82/cd/ El Arte de Hablar: Oratoria eficaz

27. http://www.isftic.mepsyd.es/formacion/materiales/84/cd/ Multimedia. Introducción

28. http://www.isftic.mepsyd.es/formacion/materiales/85/cd/ REDES DE AREA LOCAL – Aplicaciones y servicios

29. http://www.isftic.mepsyd.es/formacion/materiales/86/cd/ Gimp, aplicaciones didácticas

30. http://www.isftic.mepsyd.es/formacion/materiales/87/cd/ GIMP, aplicaciones didácticas

31. http://www.isftic.mepsyd.es/formacion/materiales/88/cd/ MOS. Recurso para la educación musical

32. http://www.isftic.mepsyd.es/formacion/materiales/89/cd/ Asesoría pedagógica

33. http://www.isftic.mepsyd.es/formacion/materiales/90/cd/ Recurso para la Educación de personas adultas

34. http://www.isftic.mepsyd.es/formacion/materiales/91/cd/ JClic. Creación de actividades

35. http://www.isftic.mepsyd.es/formacion/materiales/92/cd/ Función directiva

36. http://www.isftic.mepsyd.es/formacion/materiales/93/cd/ Bases de datos en la enseñanza

37. http://www.isftic.mepsyd.es/formacion/materiales/99/cd/ La web en entornos educativos: Joomla!