domingo, 29 de abril de 2018

España se ha empobrecido lo mires por donde lo mires

Para un ciudadano común y corriente, lo que cuenta es la economía que  se encuentra a pie de calle después de salir por la puerta de tu casa. Que no  líen con una ficticia recuperación económica que no se la creen ni quienes la pregonan, ni con una supuesta mejora en índices macroeconómicos o  con tendencias alcistas en los mercados de valores. La verdad salta a la vista.

Un dueño de un restaurante me comentó  cuando llegó a España, con 500 pesetas (3 euros) podrías llenar un carro de la compra. A día de hoy, con 3€ no puedes comprar casi nada. Su negocio ha sufrido los efectos de la crisis y aún no se ha recuperado: "Comer en un restaurante forma parte del ocio y cuando no hay dinero en los bolsillos, es lo primero que se recorta". Antes, mucha gente iba a comer a restaurantes o iban a ver una película al cine y en la mayoría de las ocasiones, se ven obligados a quedarse en casa. Una camarera comentó que echaba de menos los sueldos de la época de la peseta (antigua moneda española que terminó siendo sustituida por el euro). Cundo España adoptó la moneda europea de la Unión Europea, los precios se dispararon; porque muchos comercios optaron por el redondeo alcista. Por contra, los salarios no subieron sino todo lo contrario.

Una imagen vale más que mil palabras.



Script en BASH para incrustar subtítulos en videos con MEncoder

Les dejo script que contiene un código para incrustar subtítulos con Mencoder. Este script facilita al usuario incrustar subtítulos en modo básico y avanzado. Pueden descargar el script en este link o copiar y pegar este código en un archivo de texto:

Código:
#!bin/bash
# Nombre: subtitles.sh
# Autor: viriato
# Origen: comunidad exdebian.org
# Lenguaje: BASH
# Licencia: GPL
# Propósito: Incrustación de subtítulos en videos con Mencoder
# Dependencias:
# Código:
clear
# Función con el Menú con las opciones del script
function menu {
echo
echo 'SCRIPT PARA INSCRUSTAR SUBTÍTULOS CON MENCODER'
echo
echo '____________________________________MENÚ__________________________________'
echo
echo 'Lista de opciones:'
echo
echo '1) Incrustar subtítulos en video para usuarios básicos'
echo '2) Incrustar subtítulos en video de modo automático para usuarios avanzados'
echo '3) Incrustar subtítulos en video de modo manual para usuarios avanzados'
echo '4) Salir del script'
echo '___________________________________________________________________________'
}
# Función que pide que introduzcas una opción del menú
function write_option {
echo
echo 'Introduce una opción:'
read write_option
}
# Función con la opcion 1) Inscrustar subtítulos en video para usuarios básicos
function option_01 {
clear
echo 'Introduce el nombre del video sin subtítulos:'
read video_input
echo
echo 'Introduce el nombre del video subtitulado:'
read video_output
echo
echo 'Introduce el nombre del archivo con subtítulos:'
read subtitles_file
echo
mencoder -ovc lavc -oac mp3lame $video_input -o $video_output -sub $subtitles_file -subfont-text-scale 3
}
# Función con la opción 2) Incrustar subtítulos en video de modo automático para usuarios avanzados
function option_02 {
clear
echo 'Ejemplo: mencoder video_input -oac pcm -ovc lavc -sub subtitles_file -font /usr/share/fonts/truetype/freefont/FreeSansBold.ttf -subfont-autoscale 3 -ass -ass-color ffff8000 -ass-border-color 00000000 -ass-force-style Bold=1,Outline=1,Shadow=1,Fontsize=20 -fontconfig -subcp ISO-8859-1 -ass-line-spacing 0 -o video_output'
echo
echo 'Si desea cambiar los valores de esta opción, deberá modificarlos en el archivo del script.'
echo
        echo 'Introduce el nombre del video sin subtítulos:'
read video_input
clear
echo
echo 'Introduce el nombre del archivo con subtítulos:'
read subtitles_file
clear
echo
echo 'Introduce el nombre del video subtitulado:'
read video_output
echo
        mencoder $video_input -oac pcm -ovc lavc -sub $subtitles_file -font /usr/share/fonts/truetype/freefont/FreeSansBold.ttf -subfont-autoscale 3 -ass -ass-color ffff8000 -ass-border-color 00000000 -ass-force-style Bold=1,Outline=1,Shadow=1,Fontsize=20 -fontconfig -subcp ISO-8859-1 -ass-line-spacing 0 -o $video_output
#ffff00
}
# Funcion con la opcion 3) Incrustar subtítulos en video de modo manual para usuarios avanzados
function option_03 {
clear
echo
echo 'mencoder video_input -oac pcm -ovc lavc -sub subtitles_file -font /usr/share/fonts/truetype/freefont/FreeSansBold.ttf -subfont-autoscale 3 -ass -ass-color ffff8000 -ass-border-color 00000000 -ass-force-style Bold=1,Outline=1,Shadow=1,Fontsize=20 -fontconfig -subcp ISO-8859-1 -ass-line-spacing 0 -o video_output'
echo
echo 'Introduce el nombre del video sin subtítulos:'
read video_input
clear
echo
echo 'Introduce el nombre del archivo con subtítulos:'
read subtitles_file
clear
echo
echo 'Ejemplo: /usr/share/fonts/truetype/freefont/FreeSansBold.ttf'
echo
echo 'Introduce la ruta y el nombre de la fuente:'
read path_name_font
clear
echo
echo 'Valor recomendado de la subfuente autoescalada: 3'
echo
echo 'Introduce el valor de la subfuente autoescalada:'
read subfont_autoscale_value
clear
echo
echo 'Valor recomendado del color de la fuente: ffff8000'
echo
echo 'Introduce el valor del color de la fuente:'
read ass_color_value
clear
echo
echo 'Valor recomendado del color del borde de la fuente: 00000000'
echo
echo 'Introduce el color del borde de la fuente:'
read ass_border_color_value
clear
echo
echo 'Valor recomendado de la negrita de la fuente: 1'
echo
echo 'Introduce el valor de la negrita de la fuente:'
read bold_value
clear
echo
echo 'Valor recomendado del contorno de la fuente: 1'
echo
echo 'Introduce el valor del contorno de la fuente:'
read outline_value
echo
clear
echo
echo 'Valor recomendado de la sombra de la fuente:1'
echo
echo 'Introduce el valor de la sombra de la fuente:'
read shadow_value
clear
echo
echo 'Valor recomendado del tamaño de la fuente: 20'
echo
echo 'Introduce el valor del tamaño de la fuente:'
read fontsize_value
clear
echo
echo 'Codificación recomendada: ISO-8859-1'
echo
echo 'Introduce la codificación de la fuente:'
read character_encoding
clear
echo
echo 'Valor recomendado del espaciado entre líneas: 0'
echo
echo 'Introduce el valor del espaciado entre líneas:'
read ass_line_spacing_value
echo
clear
echo 'Introduce el nombre del video subtitulado:'
read video_output
echo
mencoder $video_input -oac pcm -ovc lavc -sub $subtitles_file -font $path_name_font -subfont-autoscale $subfont_autoscale_value -ass -ass-color $ass_color_value -ass-border-color $ass_border_color_value -ass-force-style Bold=$bold_value,Outline=$outline_value,Shadow=$shadow_value,Fontsize=$fontsize_value -fontconfig -subcp $character_encoding -ass-line-spacing $ass_line_spacing_value -o $video_output
}
# Funcion con la opcion 4) Salir del script
function option_04 {
echo 'Salir del script'
}
write_option=0
go_out=4
while [ $write_option -ne $go_out ];
do
clear menu
write_option
if [ $write_option -ge 1 ] && [ $write_option -le 4 ];
then
clear
case $write_option in
1) option_01
;;
2) option_02
;;
3) option_03
;;
4) option_04
;;
esac
else
echo '¡No ha introducido una opción correcta!'
         fi
    echo
    echo 'Pulse una tecla...'
        read
done

Ejemplos de uso:

1) Copia el script en la siguiente ruta /usr/local/bin/subtitles.sh para poder ejecutarlo desde cualquier directorio.
2) Concede permisos de ejecución en modo root:
# chmod + x subtitles.sh 
3) Ejecuta el script en modo usuario:
$ bash subtitles.sh
Comentarios:

MEncoder es un codificador de vídeo libre liberado bajo licencia GPL que se incluye en el reproductor multimedia MPlayer.  MEncoder ha sido construido usando las fuentes de MPlayer, este codificador permite convertir entre todos los formatos que este reproductor es capaz de soportar. También permite copiar sin modificaciones tanto la cadena de vídeo como la de sonido. Además soporta casi todos los filtros de MPlayer, y este último puede ser usado para visualizar su salida.

Fuentes:

sábado, 28 de abril de 2018

La función delayMicroseconds en Arduino

He leído varios artículos como éste donde se recomiendan no usar tanto delay. Los autores de esos artículos exponen diversos motivos para no usar delay tales como el incremento del consumo de recursos por parte de Arduino  mientras cuentan el tiempo de delay deja de realizar otras tareas como leer las mediciones de los sensores, etc. Los delay son acumulativos en Loop. La función delay es incompatible con las interrupciones y el código mejora sustituyendo delay por delayMicroseconds (). Existen otras alternativas a delay como la función (millis) y el modo sleep. Así que he decidido empezar a estudiar otras alternativas a la función delay para mejorar los códigos que pueda hacer de Arduino en un futuro. ¿Qué es delayMicroseconds ()?

delayMicroseconds ()

Pausa el programa por un periodo de tiempo (en microsegundos) que es especificado como parámetro. Hay mil microsegundos en un milisegundo y un millón de microsegundos en un segundo.

Actualmente, el valor más grande que produce un retraso preciso es 16383. Esto podría cambiar en futuras versiones de Arduino. Para retrasos de más de unos pocos miles de microsegundos, debe usar delay() en lugar de delayMicroseconds ()

Sintaxis

delayMicroseconds(us)

Parámetros

us : la cantidad de microsegundos a pausar ( unsigned int )

Devoluciones

Ninguna

Código de ejemplo

El código configura el pin número 8 para que funcione como un pin de salida. Envía un tren de pulsos de aproximadamente 100 microsegundos. La aproximación se debe a la ejecución de las otras instrucciones en el código.

int outPin = 8;                 // digital pin 8
void setup()
{
  pinMode(outPin, OUTPUT);      // sets the digital pin as output
}
void loop()
{
  digitalWrite(outPin, HIGH);   // sets the pin on
  delayMicroseconds(50);        // pauses for 50 microseconds
  digitalWrite(outPin, LOW);    // sets the pin off
  delayMicroseconds(50);        // pauses for 50 microseconds
}

Notas y advertencias:

Esta función funciona con mucha precisión en el rango de 3 microsegundos y más. No podemos asegurar que delayMicroseconds funcionará con precisión para tiempos de retardo más pequeños.

A partir de Arduino 0018, delayMicroseconds () ya no deshabilita las interrupciones.

Fuente: https://www.arduino.cc/reference/en/language/functions/time/delaymicroseconds/

domingo, 15 de abril de 2018

Rusia se prepara para guerra nuclear con EEUU, Instruyendo a sus ciudadanos a comprar mascarillas antigás y agua


Rusia se Prepara para Guerra Nuclear con EEUU, Instruyendo a sus Ciudadanos a Comprar Mascarillas Antigás y Agua


MOSCÚ. (ABNA) - La televisión estatal rusa está instando a los residentes del país a almacenar sus búnkeres con agua y alimentos básicos porque Moscú podría ir a la guerra con Washington.

Según la Agencia Noticiosa de Ahlul Bait (ABNA) - Advirtiendo que el conflicto potencial entre las dos superpotencias sería "catastrófico", un ancla para Vesti 24 de Rusia mostró estanterías de comida, recomendando que la gente compre sal, avena y otros productos que pueden durar mucho tiempo en los estantes. La leche en polvo dura cinco años, mientras que el azúcar y el arroz pueden durar hasta ocho años, explicó el presentador de noticias antes de mostrar videos de pasta en un refugio antiaéreo. 

Los presentadores de noticias del canal también mostraron tablas que explican cuánta agua la gente necesita almacenar para beber, lavarse la cara y las manos, y preparar la comida todos los días, y cómo esa cantidad cambia dependiendo de la temperatura del refugio contra bombas de una persona. El programa también recomendó que las personas se abastezcan de máscaras antigás y lean guías sobre cómo sobrevivir a la guerra nuclear. [VER VIDEO AQUÍ]


El programa salió al aire solo un día después de que fuentes informaran que "hay un gran temor de guerra" en Moscú, cuando el presidente Donald Trump se prepara para atacar a Siria en represalia por el supuesto uso de armas químicas contra civiles durante el fin de semana. La administración Trump ha dicho que cree que el presidente de Siria, Bashar al-Assad, fue responsable de los ataques, y planea asegurarse de que Assad pague el precio. Las fuerzas militares rusas respondieron diciendo que Moscú se enfrentaría con fuego y dijo que derribaría cualquier misil de los EE.UU. 

Jalil Sahurie

© 2005-2018 AhlulBait News Agency. Todos los derechos reservados. Se autoriza la reproducción, traducción o distribución de esta noticia sin modificar el contenido y citando la fuente ABNA24 y el autor/traductor.


sábado, 14 de abril de 2018

Así fue el ataque lanzado por EE.UU. contra Siria. Rusia advierte que habrá represalias

El ataque de EE.UU, Reino Unido y Francia contra Siria, acerca la posibilidad que estalle una III Guerra Mundial de una forma abierta con las negativas consecuencias que ello implicaría. Donald Trump utiliza como pretexto un supuesto ataque químico del régimen de  Bashar al-Ásad para tensar la cuerda en su particular juego de tronos.

La versión de Rusia es que este supuesto ataque químico es una invención de EE.UU. y sus aliados y que esto no es más que un intento de EE.UU. de derrocar al régimen de Bashar al-Ásad y medir sus fuerzas con países fuera de su influencia.  

En las imágenes de uno de los vídeos se aprecian los sistemas de defensa aérea sirios en Damasco, que se activaron en medio de los ataques aéreos estadounidenses, británicos y franceses. 

Poco antes, el presidente de EE.UU., Donald Trump, anunció su decisión de atacar territorio sirio en el marco de una operación conjunta con Francia y el Reino Unido.

Rusia ha convocado este sábado una sesión extraordinaria del Consejo de Seguridad de la ONU tras las acciones militares contra Siria que emprendieron EE.UU., Reino Unido y Francia.

Rusia ha advertido a EE.UU. que este ataque contra un país soberano y aliado de su país, tendrá consecuencias  y señala la hipocresía de EE.UU. al perpetrar este ataque cuando dispone del mayor arsenal de armas químicas del mundo.

EE.UU está obsesionado con derrocar a los regímenes aliados de Rusia en Oriente Medio y le da igual lanzar ataques de este tipo con pretextos y montajes al igual que fomentar una insurgencia que deriva en grupos terroristas sanguinarios como DAESH o Al-Qaeda.









martes, 10 de abril de 2018

Cómo funciona una Bobina de Tesla



Explicación:

Este circuito consta de una pila de 9V como fuente de alimentación, una resistencia 22Kohm necesaria para evitar que se dañe un transistor 2N2222 que es de baja señal pero proporciona velocidad para transmitir energía a alta frecuencia, un diodo LED de color rojo y la construcción de una bobina primaria de 3 vueltas y una bobina secundaria de 275 vueltas (aunque es mejor que la bobina secundaria tenga 300 o 400 vueltas) que va a permitir generar un alto voltaje y poca corriente. Una bobina primaria que se puede hacer con cable de corriente eléctrica de calibre 12 o 14, una bobina secundaria que se puede hacer con un alambre de cobre esmaltado magneto de calibre 28,29 o 30.

Cuando se alimenta el circuito de la bobina de Tesla  9V, se induce una pequeña corriente en la bobina primaria que genera poca corriente pero mucho voltaje en la bobina secundaria por lo que se genera también un campo electromagnético, lo cual permite encender bombillas ahorradoras de energía. Hay 2 circuitos resonantes dentro del mismo circuito, lo ideal es que la frecuencia de resonancia fuera la misma. También es necesario que la corriente sea variable, que pase de un estado de encendido y apagado y cambie de sentido en la bobina primaria, que circule de izquierda a derecha y en sentido inverso y que provoque una autoinducción a la salida.

En t0, no existe  corriente y por lo tanto no llega a la base del transistor 2N222A.
En t1, el interruptor hace que fluya la corriente de electrones y se bifurque hacia la bobina primaria y la resistencia, la mayor parte de la corriente flujo acaba en la bobina primaria porque apenas llega corriente a la base del transistor gracias a la resistencia 22KOhm. El transistor 2n222A entra en estado de corte y actúa como interruptor impidiendo el paso de la corriente que llega al colector desde la bobina primaria.

Durante el tiempo transcurrido entre t0 y t1, no existe una corriente de base y el transistor está abierto pero en t1, la corriente va hacia la base del transistor y el diodo LED que por estar polarizado en sentido inverso no debería encenderse; puesto que el diodo impide el paso de la corriente y el transistor pasa del estado de corte al estado de saturación, por lo que la corriente de la base y del colector circulan generando una corriente en el emisor del transistor. El incremento de la corriente que se genera en la bobina primaria en t1, va a circular por el aire alcanzando la bobina secundaria que esta formada por un alambre de cobre esmaltado magneto muy delgado que ofrece una alta resistencia al paso de corriente y que genera un alto voltaje de forma abrupta por la ley de Lenz que afirma que las tensiones o voltajes aplicadas a un conductor, generan una F.E.M. (fuerza electro motriz) que se opone al paso de la corriente que la produce. El voltaje pasa unos pocos voltios en la bobina primaria pudiendo alcanzar hasta 2000 o 3000 voltios en la bobina secundaria. En la bobina primaria existe un positivo (parte superior) y negativo (parte inferior) y se autoinduce un voltaje de sentido inverso según la Ley de Lenz entre el negativo (parte superior) y el positivo (parte inferior) de la bobina secundaria. Los electrones intentan salir por el extremo superior de la bobina secundaria y comienzan a absorber electrones de la base del transistor en t2 y el diodo empieza a encenderse y el voltaje de base del transistor comienza a descender y pasa de unos pocos voltios a colapsar y deja de transmitir corriente, la poca corriente y el alto voltaje en la bobina secundaria también cae abruptamente. Como el interruptor sigue cerrando el circuito, el transistor entra nuevamente en saturación y vuelve a ocurrir lo que pasa en t1.

miércoles, 4 de abril de 2018

Las profecías de Socrates

Hace 2.400 años, el filósofo griego Sócrates, elaboro una serie de profecías como terminarían aquellos países que utilizasen las democracias como sistema de gobierno, un final nada deseable al que inevitablemente estamos encaminados.