jueves, 29 de noviembre de 2018

Cortar vídeo con ffmpeg

Para quitar 2 segundos al principio:

ffmpeg -ss 2 -i input.mp4 -vcodec copy -acodec copy output.mp4

Para quitar al final del vídeo, ponemos la cantidad de segundos (135) que queremos mantener:

ffmpeg -t 135 -i input.mp4 -vcodec copy -acodec copy output.mp4

martes, 2 de octubre de 2018

Mysql: buscar caracteres especiales

Para buscar caracteres con acentos y otros especiales:

SELECT * FROM `tabla` WHERE `campo` REGEXP '[^a-zA-Z0-9[.hyphen-minus.][.space.]ñѺª]'

Aquí hemos añadido espacios, guión alto y ñѺª como "no especiales" para que no nos salgan esos registros.

viernes, 14 de septiembre de 2018

Wireshark y gzip

Cuando capturamos tráfico HTTP comprimido con gzip, no podemos ver los contenidos al hacer "Follow TCP Stream".

Para ver los contenidos tenemos que:
- Hacer "Follow TCP Stream" con el paquete que nos interesa
- Luego, en la ventana principal de Wireshark, le damos a File->Export Objects->HTTP
- Elegir el objeto y dar a Save para guardar los contenidos

Info obtenida de: https://osqa-ask.wireshark.org/questions/6598/how-to-decompress-gzipped-contents

viernes, 27 de julio de 2018

Acceso a SMB desde el selector de ficheros

Si creamos un marcador a una carpeta compartida SMB, no aparece luego en el selector de archivos desde los programas.

Para poder acceder podemos crear un enlace a la carpeta compartida, por ejemplo:
ln -s  /run/user/1001/gvfs/smb-share\:server\=servidor\,share\=escaner/ Escaner

Y luego acceder a esa carpeta desde el selector de archivos.

jueves, 14 de junio de 2018

Recursos interesantes

Comprobar certificado SSL:

https://www.ssllabs.com/ssltest

Obtener capturas de pantalla con varios navegadores:

http://browsershots.org

miércoles, 13 de junio de 2018

PHP: entrada en array con índice vacío

Si necesitamos tener un array con indice vacío (''), podemos usar:

        $keys = array('');
        $options = array_fill_keys($keys, 'Seleccionar');

lunes, 4 de junio de 2018

Borrar quiz attempts en Moodle

Si queremos borrar un intento de cuestionario en Moodle, normalmente puede hacerse desde el propio Moodle:
- Ir al curso
- Ir al quiz
- Ir a Resultados en el bloque de administración del quiz
- Seleccionar el alumno y pulsar "Eliminar los intentos seleccionados"


En el caso de que por error hayamos entregado el cuestionario con un rol distinto a estudiante, puede que nuestro intento no aparezca ahí. En ese caso tenemos que borrarlo "a mano" de la base de datos:

- Obtener el Course module ID de la URL del quiz
- Con él, obtener el quiz id de la tabla course_modules (instance)
- Obtener el userid del usuario
- Borrar:
* quiz_attempts, con userid y quizid iguales a los obtenidos
* quiz_grades, con userid y quizid iguales a los obtenidos. Este puede que no sea necesario, por no existir en la tabla


jueves, 22 de marzo de 2018

Renovar certificados de Let's Encrypt con webroot

Let's Encrypt ha desactivado el challenge TLS-SNI-01 así que ahora podemos usar el método webroot para hacer las renovaciones. Para ello es necesario tener abierto el puerto 80 en el servidor.

Para eso, localizamos el archivo de config de renovación en:
/etc/letsencrypt/renewal

En la sección [renewalparams] cambiamos/añadimos:
authenticator = webroot
webroot_path = /var/www

Luego podemos hacer un dry-run para ver si todo está ok:
# certbot renew --dry-run

Y si todo va bien, renovamos el certificado:
# /usr/bin/letsencrypt renew

jueves, 1 de marzo de 2018

Errorres multilib en Centos

Si al actualizar Centos nos da errores multilib estilo:

Error:  Multilib version problems found. This often means that the root
       cause is something else and multilib version checking is just
       pointing out that there is a problem. Eg.:
      
....

       Versiónes multilib protegidas: nss-softokn-freebl-3.28.3-8.el7_4.i686 != nss-softokn-freebl-3.16.2.3-14.4.el7.x86_64
Error: Versiónes multilib protegidas: pcre-8.32-17.el7.i686 != pcre-8.32-15.el7_2.1.x86_64
Error: Versiónes multilib protegidas: libselinux-2.5-11.el7.i686 != libselinux-2.5-6.el7.x86_64


El problema puede estar en un lio con los repositorios.
Podemos eliminar los repositorios que no usemos, eliminado sus paquetes:
yum remove epel-release-7-9.noarch
yum remove centos-release-7-3.1611.el7.centos.x86_64

Si aun así no funciona, puede que esto ayude:

Updating a system without checking the packages being installed as deps pulls in various i686 packages. This is due to rdma. More on this behaviour can be found here. As a workaround you can use this command yum update rdma-core.x86_64 && yum update. If you see transaction check conflicts when trying to install rdma-core, try yum update rdma-core.x86_64 ibacm instead. 

Info obtenida de:
https://www.centos.org/forums/viewtopic.php?t=64509
https://wiki.centos.org/Manuals/ReleaseNotes/CentOS7