Wednesday, April 25, 2018

Youtube-dl Video Formats



To see video formats, just type the command:

youtube-dl -F ['link']

to selcect with video type the command:

youtube-dl -f [number] ['link']

Tuesday, January 16, 2018

Java a lo Maracucho, Capitulo 1 - Editado

Java a lo maracucho, Capitulo 1

Source: http://www.horstmann.com/bigjava4.html

Capitulo 1

Metas del capitulo
  • Entender un poco sobre la actividad de la programación.
  • Aprender un poco sobre la arquitectura de las computadoras.
  • Aprender el significado de los lenguajes de programación de alto y bajo-nivel.
  • Familiarizarse con la estructura simple de los programas de Java.
  • Compilar y funcionar vuestro primer programa en Java.
  • Reconocer los errores de "compile-time" o los de "run-time".
  • Escribir pseudo-códigos para algoritmos simples.
El propósito de este capitulo es familiarizarse con la programación y su función. A la vez aprender un poco sobre el como la computadoras reciben las instrucciones diseñadas para su funcionamiento y calculo.

La otra parte del capitulo es aprender un poco sobre el lenguaje de programación Java, sus mas simples comando y los tipos de errores que pueden pasar cuando se crea o diseña un programa.

Finalizando con algunos tips sobre como empezar a diseñar el programa creando pseudo-códigos para los algoritmos simples.

1.1 Que es la programación?

Source: http://es.wikipedia.org/wiki/Programaci%C3%B3n
Source: http://es.wikipedia.org/wiki/M%C3%A1quina_de_Turing

La programación es el estudio y creación de códigos o instrucciones para programas o maquinas.

Un programa de computadora debe de estar programado para hacer una tarea, diferentes tareas requieren diferentes programas. Por ejemplo; Los sistema operativos son programas creados para la anexión de otros programas y funciones.

Las instrucciones son implementadas secuencialmente. Varían por medio de métodos, los cuales también son implementados secuencialmente.

1.2 La anatomía de la computadora

Para entender mejor el como esta compuesta la computadora y el como operan sus partes, recomiendo que busquen información sobre la introducción a los sistemas de computadora. Si saben ingles, busque este libro:

Source: http://highered.mcgraw-hill.com/sites/0072467509/

Aquí hay unos powerpoint que resumen cada capitulo:

Source: http://highered.mcgraw-hill.com/sites/0072467509/student_view0/powerpoints_nc_state.html

Es recomendado entender los 8 primeros capítulos, y para mejorar sus conocimiento, el resto.

Este libro presenta los conceptos básicos de la computadora, sus componentes y el como funcionan, ejemplificadas por medio de una mini-computadora de 16bits cuyo propósito es el entender el como son transmitidas las instrucciones, como son creadas las instrucciones, donde guardan las instrucciones en la memoria y el como modificar las instrucciones para generar cualquier resultado, o tarea intuida.

En fin los ordenadores con esta arquitectura constan de cinco partes: La unidad aritmético-lógica o ALU, la unidad de control, la memoria, un dispositivo de entrada/salida y el bus de datos que proporciona un medio de transporte de los datos entre las distintas partes.

Un ordenador con esta arquitectura realiza o emula los siguientes pasos secuencialmente:

Enciende el ordenador y obtiene la siguiente instrucción desde la memoria en la dirección indicada por el contador de programa y la guarda en el registro de instrucción.

Aumenta el contador de programa en la longitud de la instrucción para apuntar a la siguiente.

Decodifica la instrucción mediante la unidad de control. Ésta se encarga de coordinar el resto de componentes del ordenador para realizar una función determinada.

Se ejecuta la instrucción. Ésta puede cambiar el valor del contador del programa, permitiendo así operaciones repetitivas. El contador puede cambiar también cuando se cumpla una cierta condición aritmética, haciendo que el ordenador pueda 'tomar decisiones', que pueden alcanzar cualquier grado de complejidad, mediante la aritmética y lógica anteriores.

1.3 Traduciendo los programas a códigos de maquina

Al estudiar los fundamentos de los sistemas de computación, uno debe saber que una maquina de 16 bits en sus "registers" tendrá solo 16  "registers" específicos, ya que se usan los 4 primeros bits del register para localizar el tipo de instrucción. "16-bit addressable memory with a 216-location address space." una memoria accesable de 16-bit con una localizacion del espacio accesable de 216.

Sabiendo esto, las computadoras contemporáneas tienen cientos de "registers" cada uno con distintas funciones, y esto predispone al programador a equivocarse, por lo mismo se creo un JVM y compiler que transforman las instrucciones a códigos de maquina.

En el lenguaje de programación Java, toda fuente de código está primeramente escrita dentro de los archivos de texto que terminan con la extensión ".java" Luego estos archivos son compilados a archivos ".class" por el "compiler" "javac". Los archivos escritos en ".class" no contienen los códigos nativos del procesador, no los entiende, los contiene como "bytecodes" - el lenguaje de maquina de la Maquina Virtual Java o JVM.

El JVM es un programa que traduce o transforma la información o instrucciones que el compiler revisó y transformo del programa principal, en este caso, el programa que te facilita diseñar programas, a los códigos de maquina, para así poder hacer todo tipo de tarea en la computadora*.

Source: http://es.wikipedia.org/wiki/JVM
Source: http://docs.oracle.com/javase/tutorial/getStarted/intro/definition.html

1.4 El lenguaje de programación Java

Source: http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-1.html#jvms-1.1

1.4.1 Comienzos de Java

Java se creó como una herramienta de programación para ser usada en un proyecto de set-top-box en una pequeña operación denominada the Green Project en Sun Microsystems en el año 1991. El equipo (Green Team), compuesto por trece personas y dirigido por James Gosling, trabajó durante 18 meses en Sand Hill Road en Menlo Park en su desarrollo.

1.4.2 Filosofía de Java


  • El lenguaje Java se creó con cinco objetivos principales:
  • Debería usar el paradigma de la programación orientada a objetos(Objetos Orientados).
  • Debería permitir la ejecución de un mismo programa en múltiples sistemas operativos.
  • Debería incluir por defecto soporte para trabajo en red.
  • Debería diseñarse para ejecutar código en sistemas remotos de forma segura.
  • Debería ser fácil de usar y tomar lo mejor de otros lenguajes orientados a objetos, como C++.


Para conseguir la ejecución de código remoto y el soporte de red, los programadores de Java a veces recurren a extensiones como CORBA (Common Object Request Broker Architecture), Internet Communications Engine o OSGi respectivamente.

Source: http://es.wikipedia.org/wiki/Java_(lenguaje_de_programaci%C3%B3n)
Source:  http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-1.html#jvms-1.1

1.4.2.1 Que son los objetos Orientados?

Los objetos son entidades que tienen un determinado estado, comportamiento (método) e identidad:

El estado de los objetos está compuesto de datos o informaciones; de uno o varios atributos,  y/o valores concretos (datos).

El comportamiento del objeto o función está definido por los métodos o mensajes que puede responder dicho objeto, es decir, las operaciones que puede realizar.

La identidad es una propiedad de un objeto que lo diferencia del resto; dicho con otras palabras, es su identificador (concepto análogo del identificador de una variable o una constante).

Un objeto contiene toda la información que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases e incluso frente a objetos de una misma clase, al poder tener valores bien diferenciados en sus atributos. A su vez, los objetos disponen de mecanismos de interacción llamados métodos, que favorecen la comunicación entre ellos.

Esta comunicación favorece a su vez el cambio de estado en los propios objetos. Esta característica lleva a tratarlos como unidades indivisibles, en las que no se separa el estado y el comportamiento del objeto.

Source: http://es.wikipedia.org/wiki/Orientado_a_objetos

1.5 La estructura de un programa simple

Cuando uno comienza a estudiar un lenguaje de computación nuevo, como bienvenida al lenguaje aprende a escribir una frase, como por ejemplo; "bienvenido a la programación".

1  public class HelloPrinter
2  {
3        public static void main(String[] args)
4        {
5               //  caracteres para comentar sobre el programa
6
7               System.out.println("bienvenido a la programacion");
8         }
9  }

Cuando se crea un archivo, también se crea una clase con el nombre del archivo. Esta "clase" como se ven en la linea 1, tiene una palabra denominada "public". "public" significa publica, y también hay unas clases que son privadas o "private" que solo pueden ser accesadas por el mismo archivo o clases del mismo nombre, y esto se hace para asegurar el programa de fuentes externas, pero esto se vera mas lejos y con mas entendimiento sobre Java y los fundamentos de la programación.

La linea 2 comienza con unos braquets "{"  esto significa que debe también cerrarse "}". Las clases son objetos que deben de tener instrucciones, y la forma del saber es siguiendo las instrucciones señaladas dentro de los braquets "{instrucciones}". sean clases, métodos o interfaces.

En la linea 3 la primera instrucción escrita es el método "public" , "static", "void" llamado "main" que tiene dentro de sus parámetros "()" el tipo de datos o "data types" del objeto"[]" "args" que va a entrar, para luego hacer lo descrito por este método pre-diseñado ya por el lenguaje de Java, y gracias a esto devolverá, si el syntax o la lógica están correcto, una respuesta esperada.

Por supuesto, esto sera también entendido mientras mas caves dentro de la tierra del conocimiento de la programación en Java.

En la linea 5 se ve la forma de comentar dentro de un programa sin afectar las instrucciones del programa. hay dos formas, esta la de una linea, que es "//" o la de un párrafo que tiene comienzo y final, si los colocas mas, el compilador no podrá traducir las instrucciones siguientes, ya que no las entenderá e inmediatamente se parara.  abre con "/*" y cierra con "*/" sin comillas por supuesto.

En la linea 7 se ve "System.out" que es el nombre de la clase que se quiere invocar para luego, invocar el nombre del método "println" cuyos parámetros "()" escribir lo que quieras usando el método "println".

El método "println" permite imprimir cualquier tipo de letras "strings" que estén marcadas  con comillas "", ademas de que también puede calcular operaciones básicas de matemática.

Por ejemplo; System.out.printl("Hola"); imprimirá Hola y System.out.printl(3+3); imprimirá 6.

Otra cosa es que toda instrucción que tenga una información para analizar debe terminar con un punto y coma ";" para que el "compiler" sepa que ahí termina la instrucción.

Esta informacion es mas especifica, del como el programa trabaja:
Source: http://docs.oracle.com/javase/tutorial/getStarted/cupojava/netbeans.html

1.6 Compilando y funcionando un programa de Java

*Ojo, todos los editores necesitan del JDK, en este esta el compiler entre otras mas utilidades necesarias para el JVM.

Source: http://docs.oracle.com/javase/7/docs/technotes/tools/index.html#general

*El programa es sensible al uso de caracteres, por ejemplo; no es lo mismo "a" que "A", y esto se sabe cuando se estudia un poco el como están codificados los caracteres ACSII.

Source: http://es.wikipedia.org/wiki/ASCII

Todo esto define la ubicación de la referencia en la memoria o la información en la memoria, dependiendo del "register" que se use.

TIP: Cuando se este diseñando un programa o se haya terminado o como quieras, siempre ten el archivo del programa guardado como respaldo porsiacaso le pasa algo al archivo o programa original, o cuando se trabaje en este y se borre por error.

1.7 Errores

Hay dos tipos de errores cuando se programa, uno es el error de sintaxis, este que pasa cuando se escribe algo que no este definido o se omite, llamado "compile-time". El otro error es de lógica. Cuando describen erróneamente los pasos que un programa sigue o cuando el resultado no se asemeja en nada lo esperado, un "run-time error"

"compile error" errores de sintaxis o no establecidos en el programa.
"run-time error" errores de lógica.

1.8 Algoritmos

Los algoritmos son las instrucciones lógicas y matemáticas que uno le da al programa para que haga su función predeterminada.

Para esto es recomendable primero entender el programa, ver de que se trata el problema e ir luego trabajándolo hasta su manejo técnico.

Cuando se entiende un problema se escribe un pseudo-código, esto significa escribir los pasos mas importantes para la ejecución del programa, y luego trabajar en sus detalles con mas calma.

Esto es también llamado trabajar de arriba-abajo, de las metas a los detalles.

Como sabemos cuantas personas saben manejar?

Buscando todas las personas que sepan manejar.
Pero para eso uno tiene que buscar la población entera e ir preguntando.

Y ejemplos así que uno con el tiempo entenderá.

véase, Interpretación de la clase de programación metodológica 01.

http://tecnolecciones.blogspot.com/2013/07/interpretacion-de-la-clase-de.html

Wednesday, October 4, 2017

Bajar audio en youtube, youtube-dl

Como bajar audio en youtube, entre otras opciones.

Lo que estoy usando ahora es youtube-dl

Sourcehttps://github.com/rg3/youtube-dl

En un programa de multi-plataforma que trabaja mejor en linux que windows.

pero para Windows.

baja el programa.

Wi quieres bajar solo audio, usa esto:

youtube-dl --extract-audio "https://www.youtube.com/watch?v=AZM5EO9zKY0&t=364s"

o esto para mp3 con lista y todo

youtube-dl --extract-audio --audio-format mp3 -o "%(title)s.%(ext)s" <url to playlist>

Sourcehttps://askubuntu.com/questions/564567/how-to-download-playlist-from-youtube-dl

Este programa se ve increíble, uno puede crear, usando python un programa adicional que baje todos los vídeos de algunos tutorial, y seleccionarlos para luego estudiarlos, mientras hacer otras cosas. increíble.

Ojo: si no tienes FFmpeg, tienes que bajarlo y luego crear un PATH.

Para crear un Path uno tiene:

Ojo: trabajar editando Path puede que borres uno y no tengas acceso a algunos programas vitales para continuar en windows. ten cuidado trabajando con esto.

  • Bajar ffmpeg
  • Crear un archivo en el directorio C, donde están los archivos ejecutables de windows.
    • un archivo que tenga el nombre del programa 'ffmpeg'
  • Luego abrir en Panel de Control - system security- System - abajo en advance settings.
    • Ahí veras las 'enviromental variables' la abres y buscas en 'envomental variables' el Path.
    • El Path es muy delicado, borrar algo y te dañara windows. 
    • Cuando estés en el área de enviromental variables, sin barrar nada, crear un nuevo Path para el acceso de windows del programa FFmpeg/bin 
    • El acceso se lo das escribiendo c:\ffmpeg\bin
    • Una vez escrito, dale ok y puede que este listo
    • Reinicia el sistema
  • Si pasa algo malo, bueno, no hagas nada, averigua que es, pero si no sabes mucho no intentes, borrar un Path puede dañarte el acceso de windows a partes del sistema.

Ojo: si ya existe el archivo, no se va a grabar. borrarlo si algo salio mal y vuele a intentarlo.






Thursday, April 27, 2017

No internet

Red casera.

En el caso de no tener Internet en la casa, verificar varios pasos.

Paso 1


-Que haya teléfono.
-Que los cables estén bien conectados.
-Que los cables estén donde deben estar. WAN y LAN
    El WAN es el cable que da la internet del modem al router.
    El LAN es el cable que conecta al router con otro artefacto, sea otro router o computador, etc.
-Conectar el cable que viene del router a la computadora.
-Tener una tarjeta de redes, con WIFI o no.

El cable que viene del router al computador es el RJ-45
El cable que viene del módem al router es el ADSL cable. 

Paso 2


Si persiste el caso y todavía no hay internet, verifique si la tarjeta de redes del computador funciona.

Presione la tecla donde sale la ventana de windows mas la letra R, en el caso del tener un windows y coloque el siguiente comando: ncpa.cpl, esto lo llevara a la conexión de redes donde puedes ver el WIFI. Estando ahí uno puede ver los detalles de la conexión. En varios casos sepa que es el ipv4 address, pues esa es la dirección que el router le asigno, y la ipv4 DHCP que la del router.
  •  Win+R: abre el cuadro de diálogo Ejecutar.

Deshabilite el componente, y vuélvalo a habilitar.

Paso 3


Si persiste el problema, puede que haya un conflicto entre el computador y el router, que la computadora tenga guardados las direcciones anteriores y se necesitan cambiar y actualizar.

Para resolver eso uno va al command prompt y escribe los siguientes comando:

ipconfig /release saca la dirección anterior
ipconfig /renew pide renovar otra dirección

Luego para estar seguro

ipconfig /flushdns para limpiar las direcciones dns anteriores.

Paso 4


Si sigue el problema y sabe usar la interface del router y tiene acceso.

  -Coloca la dirección del router y ve si tienes la dirección de la compañía que te da Internet, o ISP. En la sección WAN o Red de área amplia.
  -Al saber que llega Internet por ese lado y no hay, puede ser por varias razones.

Si llega la Internet al router pero este tiene problemas, puede que haya un conflicto con las direcciones y esto tiene que ver con el DHCP,. Deshabilite el DHPC de los router secundarios y deje el principal, creando así una cascada.

-El tener varios router con el DHPC activado hace que cada router empiece a dar direcciones a cualquier artefacto sin saber que ya otro le había dado la dirección a este artefacto que sigue pidiendo direcciones. La solución en este caso es desactivar los router secundarios y activar solo uno, el principal, que sea el que de las direcciones ip.

Cada router debe tener su ip, o dirección  distinta pero dentro del rango de la red.

Ejemplo: 

192.168.0.1 para el router principal .
192.168.1.1 pare el router secundario.

*Ojo, los routers secundarios deberán estar conectados por las conexiones LAN, no WAN, ya que se transforman en repetidores.


Monday, October 31, 2016

Error 137 POS Touch

In the POS & touch software,

what does the 137 error means?

if it is related to the printer, it means that the printer address is, or corrupted, or missing.

things to check:

the printer's address.

Methods to start printing.

Set the printer's address in the software.

or 

reset it, and let it be set automatically.

internet, easy answer: 

- Reset printer and reboot system.

How do I reset the printer:

turn off the printer and hold a small button behind printer, before turning it on, the when turned on, hold it for 5 secs (below printer). then reboot the system.

TIP: wait till the papper from the printer is appears.

En Español.

Error 137 POS Touch


error de la impresora. puede que su dirección no este puesta en el sistema.

como resolverlo:

-colocarle la dirección de la impresora al programa,

-Resetear la impresora, y reiniciar el programa.

Como resetear la impresora?

oprime el botoncito pequeño para resetear la impresora.

TIP: Apaga la impresora, luego presiona el botón de resetearla, prende la impresora con el botón oprimido, luego de que salga la factura o papel de la impresora, suéltalo. reinicia el programa y todo puede salir bien.

Monday, July 18, 2016

Combinación y las claves secretas

Una combinación, es el método de selección de uno o más elementos dentro de universos observados.

La combinatoria es una rama de la matemática perteneciente al área de matemáticas discretas que estudia la enumeración, construcción y existencia de propiedades de configuraciones que satisfacen ciertas condiciones establecidas. Además, estudia las ordenaciones o agrupaciones de un determinado número de elementos.

Las claves secretas, son palabras u órdenes registradas dentro de un sistema, sea físico, o virtual-físico usadas para entrar en este.

Una clavepalabra clave o clave criptográfica es una pieza de información que controla la operación de un algoritmo de criptografía. Habitualmente, esta información es una secuencia de números o letras mediante la cual, en criptografía, se especifica la transformación del texto plano en texto cifrado, o viceversa. En sistemas informáticos, la clave sirve para verificar que alguien está autorizado para acceder a un servicio o un sistema. Las claves también se utilizan en otros algoritmos criptográficos, como los sistemas defirma digital y las funciones de hash con clave (asimismo llamadas códigos de autentificación de mensajes).

Como mejorar cada uno de nuestros perfiles electrónicos, nuestra identidad en la red? esta que como persona respetamos al igual que uno mismo en físico?.

Buscando acciones o imágenes en coneccion con relación a la clave, y reduciendolas a solo letras incoherentes, donde sea esta una palabra clave, como pensamiento protegido por la libertad del saber que existen programas que hayan claves expandiendo posibilidades universales dentro de sistemas binarios. En este caso. pues lo visionario seria investigar sobre el LoFi, y la energía como tal, para uso cibernetico.

En ingles, buscar traductor local.:
http://fossbytes.com/trick-to-come-up-with-a-strong-password/
y el porque
http://fossbytes.com/how-hackers-password-cracking-hashcat/

Friday, June 10, 2016

Linux in windows - with virtual box and the i386 source code

*Step one: upload a virtual box, or have it.
*Step two: find the OS wanted, in this case, CentOS i386. http://isoredirect.centos.org/centos/6/isos/i386/
*Step three: it should be working.

now, as an introduction to linux, search for a program in the internet, download it, run it, and know all the packets coming in and out from your router, or network.

reference:

http://linuxcommand.org/

https://www.centos.org/

https://www.wireshark.org/

https://www.virtualbox.org/wiki/Downloads