Ejemplo de grabación con gopro desde la estribera izquierda de una suzuki vstrom (2008)

Una de las dudas que me surgieron cuando me me compre una gopro, fue donde llevarla en la moto. Después de varios años y un par de motos, a veces, aún me lo sigo preguntando.

Por eso, para ir probando distintas cosas y ayudar a aquellos que puedan tener las mismas dudas, intentaré publicar algunos videos en los que se incluya la ubicación de la gopro.

En este primer video, la gopro hero 3+ Silver, se ha montado en la estribera izquierda de una suzuki v-strom 650 del 2008 utilizando el siguiente soporte en aliexpress

https://es.aliexpress.com/item/Motorcycle-Bike-Bicycle-Handlebar-Handle-Bar-Camera-GoPro-Mount-Tripod-Screw-Nut-99997/1069110021.html?spm=a2g0s.9042311.0.0.274263c0pyfOph

El soporte no está ya disponible, pero hay millones iguales a ese. En mi caso, este soporte tenía algo de holgura por lo que tuve que darle un par de gotas de loctite y fijarlo. Además, necesita de un adaptador para la gopro, lo que hace que haya más vibraciones.

Aunque una imagén vale más que mil palabras, creo que en este caso, lo mejor será un video. Aquí os lo dejo.

Generador de Cif en plsql. v1.0

Recientemente me he encontrado en la necesidad de generar miles de cif de manera aleatoria, pero que fueran válidos.

Navegando por internet encontré la explicación del cálculo que se realiza para la generación de cif en esta web https://definanzas.com/cif-o-el-codigo-de-identificacion-fiscal-calcular-y-comprobar-diferencias-con-el-nif/#Letra_o_numero_de_control_Letra_C así que decidí hacerme un pequeño plsql para generar cif.

Esta es la versión 1.0 de dicho programa, se podría mejorar y completar. Actualmente este código genera un número de cif, compuesto por un codigo de provincia fijo, al cual se le añade de manera aleatoria una cadena de 5 números y a partir de la cual se calcula el digito de control.

Al número resultante, habría que añadirle una de las letras a elegir entre A,B,E o H.

Para entender el código, recomiendo leer antes el enlace indicado anteriormente.


-- Calculo de cif aleatorios
SET serveroutput ON;
declare
codigoprovincia varchar2(12) := '';
listadoletras varchar2(50) := '';
letra varchar2(10) := '';
digitocontrol integer := 0;
numerointermedio integer := 0;
ciffinal varchar2(20) := '';
controlpares integer := 0;
controlimpares integer := 0;
auximpares integer := 0;

begin
codigoprovincia := '57';

select (dbms_random.value(10000,99999)) into numerointermedio from dual;
numerointermedio := to_number(codigoprovincia || numerointermedio);
dbms_output.put_line('NUMERO: ' || numerointermedio);
controlpares := to_number(substr(numerointermedio,2,1)) + to_number(substr(numerointermedio,4,1)) + to_number(substr(numerointermedio,6,1));
dbms_output.put_line('SUMATORIO PARES: ' || controlpares);

auximpares := to_number(substr(numerointermedio,1,1)) * 2 ;
if auximpares >= 10 then
auximpares := to_number(substr(auximpares,1,1)) + to_number(substr(auximpares,2,1));
end if;
controlimpares := controlimpares + auximpares;

auximpares := to_number(substr(numerointermedio,3,1)) * 2;
if auximpares >= 10 then
auximpares := to_number(substr(auximpares,1,1)) + to_number(substr(auximpares,2,1));
end if;
controlimpares := controlimpares + auximpares;

auximpares := to_number(substr(numerointermedio,5,1)) * 2;
if auximpares >= 10 then
auximpares := to_number(substr(auximpares,1,1)) + to_number(substr(auximpares,2,1));
end if;
controlimpares := controlimpares + auximpares;

auximpares := to_number(substr(numerointermedio,7,1)) * 2;
if auximpares >= 10 then
auximpares := to_number(substr(auximpares,1,1)) + to_number(substr(auximpares,2,1));
end if;
controlimpares := controlimpares + auximpares;

dbms_output.put_line('SUMATORIO IMPARES: ' || controlimpares);

dbms_output.put_line('sumatorio controlpares + controlimpares: ' || (controlpares + controlimpares));
dbms_output.put_line('ultimo digito del sumatorio: ' || to_number(substr((controlpares + controlimpares),2,1)));
digitocontrol := 10 - to_number(substr((controlpares + controlimpares),2,1));
dbms_output.put_line('DIGITO CONTROL: ' || digitocontrol);
ciffinal := letra ||numerointermedio || digitocontrol;
dbms_output.put_line(ciffinal);
end;

as of timestamp timestamp . Un pequeño salvavidas.

Agregando as of timestamp timestamp a una query, podremos obtener los resultados que daría esa select contra esa tabla en el momento que indicamos. El espacio de tiempo que podremos consultar, viene dado por el parámetro de la base de datos undo_retention, que por defecto tiene 900 segundos.

select * from nombre_de_la_tabla as of timestamp timestamp '2016-12-07 15:00:00'

Un ejemplo muy claro del uso del mismo sería recuperar la información de una tabla en la que hubiéramos actualizado o borrado líneas accidentalmente.

Aqui hay más información sobre Undo_retention
Aqui Aqui hay más información sobre as of timestamp timestamp

¿Que es fuchicando.com?

  • ¿Que es fuchicando.com?

Fuchicando.com es el blog personal de Sergio Peñas.

  • ¿Que puedo encontrar en fuchicando.com?

Este blog esta dedicado a publicar información relativa al mundo de la informática que en un momento u otro de mi vida personal y profesional he necesitado.

  • ¿Porque fuchicando.com?

La idea del dominio fuchicando.com nace en un grupo de amigos a los que dicha palabra nos llamó muchísimo la atención al oírla por primera vez.

Nos gustó tanto este sinónimo de trastear,probar,etc… que decidimos comprar el dominio por si en algún momento le encontrábamos alguna utilidad.

Hasta ese momento, fuchicando.com será mi blog personal