Buscar

ticinformando

Indicador de nivel de textos basado en corpus de EOI (Parte I)

Cuando nos enfrentamos a un idioma, tal y como está organizada la EOI,  podemos no tener claro el nivel de un texto. ¿En que momento alcanzamos un B1 o B2?  ¿Se impone la subjetividad del profesor a la hora de calibrar los textos?

Además a la hora de crear materiales podemos encontrarnos con que el nivel no corresponda, por exceso o defecto, con el curso que se tiene en mente.

Aquí interviene Antonio Calvo Villegas, profesor de alemán de EOI, que ha sugerido la posibilidad de usar un corpus para indicar a un alumno en nivel de sus textos. Y además que el profesor pueda saber si sus propios materiales se ajustan a lo pedido por la normativa.

¿Y esto cómo se hace?  Partimos de materiales creados en Exelearning y descargados en un directorio.

Con la ultima versión de exelearning viene con la utilidad exe_do con nuevas opciones. La primera la vamos a usar para pasar los contenidos a texto.

for material in *elp ;
do exe_do -x text "$material";
done

 

Una vez que tenemos los txt los unimos para dejar un solo archivo.

for texto in *.txt; do (cat "${texto}"; echo) >> finalfile.txt; done

Y ahora vamos a extraer las palabras, contarlas y ordenarlas.

cat finalfile.txt|tr " ,”*:\!¡\(\)\?\¿.\;\"" "\n"| sort | uniq -ic|sort -nr>corpus-toñensis.txt

 

Para ser lo más metódicos posibles hemos quitado los símbolos ortográficos para dejar solo las palabras, sin corchetes, interrogaciones, guiones bajos, etc

Una vez que tenemos el listado, el corpus-toñensis, toca depurarlo quitando las entradas irrelevantes como números o fechas.

En este momento, si se tiene otro corpus con el que comparar, el profesor puede calibrar el nivel de sus propios materiales.  Si te interesa, en este ejemplo tienes el corpus de 4º de alemán (alias 1º de avanzado) en el que hay 24.000 palabras distintas.

Una vez que tenemos el corpus depurado se separa por niveles adecuados y se incluye en  la utilidad para los alumnos.  El indicador para organizar los niveles puede ser la frecuencia en la que han aparecido las palabras el los materiales, por ejemplo 4414 veces se usa die , que debe corresponder al A1 y Abgeschiedenheit , que aparece solo 1 vez, debe ser B2.

En tu trabajo, ¿has usado corpus para ver el nivel de tus textos? ¿Tienen tus alumnos problemas a la hora de valorar sus textos? ¿Conoces alguna web que ya lo haga?

 

 

 

 

Contar correos en Gmail

El otro día tuve que contar el total de correos recibidos pero Gmail me mostraba las conversaciones agrupadas (404 en este ejemplo)

agrupados

 

Para cambiar este comportamiento vamos a Configuración, Vista de conversación (para agrupar o no correos) , marcamos Inhabilitar vista de conversación y guardamos.

conversacion-google

Ahora tenemos el total de correos (3367).

individuales.png

Espero que os sea útil.

Subiendo archivos con Curl

Me he visto en la mecánica tarea de subir cientos de archivos a una web. He buscado como automatizar el proceso y he encontrado Curl.

Todo funcionaba hasta actualizar Php 5 a Php 7 y por si os pasa a vosotros tiene una explicación, la forma de subir archivos ha cambiado.

La solución viene bien indicada en la web de Php sobre Curl CURLFile should be used to upload a file with CURLOPT_POSTFIELDS" pero no es fácil de encontrar a la primera y por eso tenemos este hilo en Stackoverflow

if ((version_compare(PHP_VERSION, '5.5') >= 0)) {
    $aPost['file'] = new CURLFile($localFile);
    curl_setopt($ch, CURLOPT_SAFE_UPLOAD, true);
} else {
    $aPost['file'] = "@".$localFile;
}

¿Conoces Curl?

¿Cuál es la forma en la que subirías archivos a una web que pide usuario, clave y usa post?

Enjaulando usuarios

Esta chuleta es para aquellos que, como yo, necesiten crear masivamente cuentas para usuarios con acceso limitado exclusivamente a sus directorios en un servidor ftp seguro.

Creamos un grupo específico para este tipo de usuarios:

addgroup usuariosftp

Instalamos el servidor openssh :

apt-get install openssh-server

Luego hay que cambiar su configuración, primero haz una copia del arhcivo de configuración

sudo cp /etc/ssh/sshd_config  /etc/ssh/sshd_config.bk

Con el editor que más te guste cambiamos la configuración

sudo gedit /etc/ssh/sshd_config

Tienes que comentar la línea que pone Subsystem sftp /usr/lib/openssh/sftp-server (un # al empezar la línea y listo)

Añade las líneas siguientes, que hacen que si el usuario pertenece al grupo usuariosftp lo va a enjaular en su directorio home , lo especificamos con %h
En otros manuales (como esta buena guía)  pone que especifiques que el usuario se enjaule en /home/%u, pero no va a ser nuestro caso, nuestros usuarios no van a tener su cuenta en /home/nombre-de-usuario.

Subsystem sftp internal-sftp
Match group usuariosftp #Grupo previamente creado al cual pertenecen los users.
         ChrootDirectory %h #Directorio personal en el cual harán login
         X11Forwarding no #Ejecutar GUI en server
         AllowTcpForwarding no #Redirección de puertos para tunel
         ForceCommand internal-sftp #Forzar el entorno chroot

Y arrancamos el servidor

sudo apt-get install openssh-server

Ahora vamos a crear un directorio, que me interesa que centralice los datos que se guardarán por FTP

sudo mkdir /home/servidorftp

Es importante que este directorio sea del root. Ahora llega la parte de automatizar, para cada nombre de departemento creamos el usuario, lo añadimos al grupo usuariosftp y le quitamos el acceso a la shell.

Creamos un directorio con su nombre dentro de la carpeta central servidoftp, que debe ser del usuario y grupo root. Damos los permisos adecuados.

Dentro del directorio del usuario nuevo le creamos, ahora sí, un directorio archivos-departamento, del que será dueño, del grupo usuariosftp y con los permisos correspondientes.

Luego generamos una clave aleatoria para cada usuario, que guardamos (provisionalmente) en claves_cuentas.txt

Y todo puedes hacerlo de golpe, como root desde la terminal

for l in lengua fisica historia biologia informatica matematicas frances
do
useradd -g usuariosftp -s /bin/false -d /home/servidorftp/$l $l
mkdir /home/servidorftp/$l
chown root.root /home/servidorftp/$l
chmod 755 /home/servidorftp/$l
mkdir /home/servidorftp/$l/archivos-departamento
chown $l:usuariosftp /home/servidorftp/$l/archivos-departamento
clave=`cat /dev/urandom| tr -dc '0-9a-zA-Z'|head -c 8`
echo La clave de $l es $clave >> claves_cuentas.txt
echo $l:$clave | chpasswd
done

Espero que pueda seros útil.

Capturar un trozo de pantalla en Firefox

En el el blog de @andalinux nos ayudan a hacer capturas de pantalla cuando tiene sroll, para Firefox, sin extensiones.

¿Y si solo necesito un trozo? Una solución rápida es, también en Firefox, ponerse sobre el elemento que nos interesa, click con el botón derecho y seleccionar Inspeccionar elemento.

Se abre el Inspector de elementos, tenemos marcado en azul el elemento que nos interesa. Sobre él, pinchamos en botón derecho Capturar pantalla del nodo. Firefox nos descargará la captura que le hemos pedido

inspector-elementos

La descarga sería así:

captura-el-2016-10-05-a-las-12-12-46

¡A disfrutarlo!

Exelearning en la Raspberry Pi

En mi trabajo uso diariamente el exelearning, en concreto el desarrollo que se hace desde exelearning.net  Es un proyecto vivo que nos permite bajarnos los fuentes y compilar nosotros mismos el programa.

Como curiosidad quise probar si sería viable ejecutarlo en la Raspberry Pi, que como es un ordenador de aproximadamente 30 euros tiene mucho potencial para usarlo en las aulas al igual que el el Reino Unido.

Si quieres hacerlo tú mismo empieza ejecutando en un terminal sudo apt-get update

Después debemos  instalar git para bajarnos los fuentes más recientes, ejecutamos sudo apt-get install git
y justo después nos bajamos los fuentescon  git clone https://forja.cenatic.es/anonscm/git/iteexe/iteexe.git

Tardará un rato en descargarse, al acabar  se habrá creado directorio iteexe. Vamos a entrar en él, tecleando
cd iteexe.

Una vez dentro comprobamos si tenemos los paquetes necesarios para compilar, ejecutamos sudo dpkg-checkbuilddeps . Esto te dará una lista de paquetes que falten. Si es el caso se instalan usando sudo apt-get install añadiendo cada paquete que te falte.

Por último compilaremos ejecutando dpkg-buildpackage -us -uc -b.

En el directorio superior te aparecerá el fichero .deb, en mi caso python-intef-exe_2.0beta1_armhf.deb

Por último instalaremos el paquete con sudo apt-get install , en mi caso sudo apt-get install python-intef-exe_2.0beta1_armhf.deb

Ejecutamos el entorno

Especificar tiempo de inicio y fin en Youtube

En el blog del Informático de guardia encontré un artículo-salvavidas para especificar donde quieres empezar y donde quieres que se detenga un vídeo de Youtube.

Youtube cambió la forma de usar el truco, la nueva forma es:

https://www.youtube.com/v/TkXW4iy_mWo?start=4&end=16

star=4 empieza en el segundo 4, elige el que necesites

end=16 lo para en el segundo 16, cámbialo a tu antojo

TkXW4iy_mWo es el identificador del vídeo, tienes que cambiarlo por el que quieras personalizar.

Para encontra el identificador busca el vídeo, en la barra de direcciones verás algo parecido a https://www.youtube.com/watch?v=TkXW4iy_mWo , el identificador viene después de watch?v=  Ojo no copies el =

Espero que sea útil

 

Añadiendo pdfs a Exelearning

¿Necesitas incluir en formato pdf los materiales que creas con Exelarning  y tener el pdf siempre al día? Este truco te puede servir.

En el elp creo un idevice  de Texto libre  e inserto un hipervínculo a un pdf genérico cualquiera, pdf que  llamo imprimible.pdf. Guardo el elp y sigo trabajando con normalidad.

pdf_generico.jpg

Cuando acabo de trabajar exporto el elp a html  usando la utilidad exe_do

/usr/bin/exe_do -x singlepage  nombre_archivo carpeta_temporal

Necesitamos wkhtmltopdf (si no lo tienes instalado sudo aptitude install wkhtmltopdf  o en la página de descargas)

Generamos el nuevo pdf a partir del html

wkhtmltopdf carpeta_temporal/index.html imprimible.pdf

Si usas Exelearning a menudo quizás sepas ya que el formato elp es un archivo comprimido. Debemos hacer cuatro pasos:

  • descomprimir el elp
  • reemplazar el imprimible genérico “viejo” por el nuevo.
  • en el archivo contentv3.xml debemos modificar el md5 del imprimible antiguo por el md5 del nuevo pdf
  • comprimir de nuevo los archivos para crear el elp

Te dejo un script, solo es necesario tener instalado wkhtmltopdf y ejecutarlo pasando el nombre del elp

Como es un experimento el script te copia el copia el elp original renombrado a .old

Espero que te sea útil.

Conectándose a la Raspbery Pi desde el móvil

Si la Raspberry Pi y el móvil Android están el la misma red wifi podemos conectarnos por ssh facilmente.

Uso la app ezNetScan para buscar los dispostivos conectados a la wifi y SSH Client para conectarnos.

Screenshot_2016-03-09-10-22-40_com.vrsspl.eznetscan

Al abrirla nos muestra los datos de la wifi a la que estamos conectada.

Screenshot_2016-03-09-10-22-44_com.vrsspl.eznetscan

Damos a scan y nos muestra los dispositivos. Si  son pocos los dispostivos o sabes la MAC puedes distinguir al momento la Raspberry, en caso contrario puedes escanear primero con la Raspberry apagada, encenderla y volver a escanear 😉

Screenshot_2016-03-09-10-23-01_com.vrsspl.eznetscan

 

En mi caso la IP es 192.168.1.108.  Ahora uso esa dirección y SSH Client para conectarme.

Screenshot_2016-03-09-10-23-10_com.anstudios.ssh

Espero que os sea útil.

 

Crea un blog o un sitio web gratuitos con WordPress.com.

Subir ↑