Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Andrey

#121
Off Topic / Re:Feliz cumpleaños XYZ!!!
Marzo 30, 2018, 02:02:55 AM
Feliz cumpleaños, uno mas con la comunidad y esperemos seguir teniendo de tus conocimientos en el foro mucho mas...

;)
#122
Off Topic / Re:Feliz cumpleaños mortal_poison!!!
Marzo 30, 2018, 01:53:28 AM
Feliz cumpleaños, que la pases bien en compañía de todos los amigos virtuales de Underc0de...

;)
#123
Es una maravillosa época para ser una BioHacker. Leer y escribir código de ADN se está haciendo más fácil y más barato.
Actualmente se tiene la capacidad de secuenciar los tres millones de bits de información de su genoma en menos de un día y por menos de 1000 euros. La biotecnología es probablemente la más poderosa y la de mayor crecimiento en el sector de la tecnología.

Tiene el poder, potencialmente, de reemplazar nuestros combustibles fósiles, de revolucionar la medicina, y de alcanzar cada aspecto de nuestras vidas diarias.Entonces, ¿quién logra hacerlo?

Yo creo que todos nos sentiríamos muy cómodos si alguien como el lo hace.



Pero, ¿qué tal este otro?


En 2009 se escuchó por primera vez sobre DIYbio.
Es un movimiento que defiende hacer la biotecnología accesible para todos, no únicamente para científicos y gente en los laboratorios del gobierno.

La idea es que si se comparte la ciencia y se les permite participar a diversos grupos esto podría estimular la innovación. Poner la tecnología en las manos de los usuarios finales es en general una buena idea, porque ellos tienen la mejor idea de lo que son sus necesidades.

Y aquí tenemos esta tecnología muy sofisticada encaminándose, todas estas preguntas asociadas sociales, morales y éticas y a veces los científicos no sirven para tratar de explicar al público qué es exactamente lo que están haciendo en esos laboratorios. Entonces, ¿no sería maravilloso si hubiera un sitio en tu barrio dónde pudieras ir a aprender sobre estas cosas, mediante la experiencia?


Déjenme llevarlos por una pequeña gira.

Los BioHackers trabajan solos



Trabajan en grupos



En ciudades grandes



En pequeños pueblos.



Hacen ingeniería inversa de los equipos de laboratorio.



Hacen ingeniería genética sobre bacterias.



Hackean hardware, software, wetware, y, por supuesto, el código de la vida.



Les gusta construir cosas.



Y después les gusta desarmar cosas.


El espíritu de estos laboratorios es abierto, es positivo, pero saben, a veces cuando la gente piensa en BioHackers, lo primero que les llega a la mente es la Bio-Seguridad, y todas las cosas del lado oscuro.
No hay que minimizar esas preocupaciones.

Cualquier tecnología poderosa es inherente a un uso dual, y saben, algo como biología sintética, nano biotecnología, realmente obliga a tener en cuenta a los grupos de principiantes pero también al de los profesionales, porque ellos tienen mejor infraestructura, mejores instalaciones, y tienen acceso a patógenos.

Justo eso hizo las Naciones Unidas recientemente revelaron un informe de toda esta área, y lo que concluyeron fue que el poder de esta tecnología para algo positivo es mucho mayor que el riesgo de algo negativo, y además miraron específicamente a la comunidad DIYbio, y notaron, sin sorpresa, que la prensa tiene una tendencia a sobrestimar las capacidades y menospreciar la ética.

De hecho, la gente de DIY de todo el mundo, América, Europa, se reunieron aproximadamente en el 2012, y redactaron un código común de ética. Eso es mucho más de lo que la ciencia convencional ha hecho.

Bien, los BioHackers deben seguir las leyes estatales y locales. Desechar la basura de forma adecuada, seguir procedimientos de seguridad, no trabajar con patógenos.
Porque si uno trabaja con un patógeno, no es parte de una comunidad de BioHackers, es parte de una comunidad de bioterroristas, es la verdad.

Algunas veces las personas se preguntan, "¿Y si ocurre un accidente?"
Pues, trabajando con los organismos seguros con los que normalmente trabajan estas comunidades, las posibilidades de que un accidente ocurra y que alguien accidentalmente cree algo como una especie de súper-bicho, es casi tan probable como que ocurra una tormenta de nieve en medio del desierto del Sahara. Bueno, podría suceder, pero no hay que planear la vida alrededor de esto.

Existe un Proyecto de Genoma Personal el cual es un estudio de Harvard en el que, al final del estudio, toman toda la secuencia genómica de alguien y toda su información médica, su identidad, y la van a subir en línea para que todos la vean.
Había muchos riesgos en juego que se discuten durante el consentimiento informado.

El más curioso es que alguien podría descargar la secuencia, ir al laboratorio, sintetizar algún ADN falso del publicado, y ubicarlo en una escena del crimen. Pero como para DIYbio, los resultados positivos y el potencial para el bien de un estudio como estos, sobrepasa ampliamente el riesgo.

Podrían estar preguntándose, "Bueno, ¿qué haría alguien en un laboratorio de biología?" Pues no hace mucho tiempo nos preguntábamos, "¿Qué haría alguien con un ordenador personal?"
Así que esto es sólo el principio. Sólo estamos viendo la punta del iceberg del ADN.

Déjenme mostrarles lo que podrían hacer.

Un BioHacker en Alemania, un periodista, quería saber ¿qué perro estaba dejando regalitos en su calle? Si, adivinaron. Lanzó una bola de tennis a todos los perros del barrio, analizó la saliva, identificó a perro y confrontó a su dueño.


Lo puedes usar para verificar si tu caviar es realmente beluga, si ese sushi es realmente atún, o si ese queso de cabra por el que pagaste mucho, es realmente de cabra.
En el espacio de un BioHacker, puedes analizar tu genoma buscando mutaciones.
Puedes analizar tu cereal del desayuno buscando OGM, y puedes explorar tu árbol genealógico. Puedes enviar globos meteorológicos a la estratósfera, recolectar microbios, mirar qué hay allá arriba.
Puedes hacer un censor biológico a partir de la levadura para detectar contaminantes en el agua.
Puedes hacer algún tipo de celdas de biocombustible. Puedes hacer muchas cosas.
También puedes hacer proyectos de arte y ciencia. Algunos de estos son realmente espectaculares y analizan problemas sociales, ecológicos desde una perspectiva completamente diferente.


Hay algo en estos laboratorios que le ofrecen a la sociedad, que no puedes encontrar en ninguna otra parte.
Hay algo en estos espacios donde se trabaja en un proyecto y no es necesario justificarle a nadie si va a producir mucho dinero, si va a salvar a la humanidad, o si simplemente va a ser posible. Solamente se deben seguir las normas de seguridad.
Si realmente hubiera espacios así alrededor del mundo, en realidad se podría cambiar la percepción de a quién se le está permitido hacer biotecnología.

¿Por qué no la biotecnología personal? Si alguien se involucrara en cada rincón del planeta, ¿quién sabe lo que se podría hacer? Esto es una nueva área y no se ha visto nada aún.




Texto adaptación de una conferencia.

Cualquier error favor de comunicarlo. Gracias...
#124
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
como es el proceso about: flags en google chrome lo hize en firefox pero como es en chrome?

Se escribe en la barra de dirección, y se ven funciones experimentales que podemos activar en el navegador.
#125

Nos encontramos viviendo una época emocionante. En una imagen se puede capturar un lugar o una persona presionando un botón con un móvil, comprar desde la comodidad de nuestra habitación literalmente cualquier cosa, comunicarnos con miles de personas a través de las redes sociales y blogs. Consumir información sobre el tema que más nos guste en el momento que queramos.

Para una persona mayor esto antes era futurista o fantástico. Pero para nosotros es nuestro día a día, ya que así es como crecimos y es lo más común entre las generaciones actuales.
Pero eso tiene un costo y ese costo es la privacidad.


¿Porque la privacidad?

Soy una persona que no pasa los derechos de los demás, no tengo cosas ocultas.
O
Para que esconderse en este mundo conectado globalmente.

Varios piensan de esta forma, lo cual es entendible y es completamente normal. Las empresas recopilan información sobre nosotros, evidentemente porque nosotros se las proporcionamos, es probable que mediante otras formas recopilen información de mayor delicadeza sobre nosotros que en ocasiones no queremos compartirles.

Actualmente los avances en tecnologías como la Inteligencia artificial permiten a las corporaciones o empresas buscar entre los patrones y recrear datos fisiológicos y psicológicos precisos para que en función de su comportamiento en línea se identifique a alguien sin tener alguna referencia directa como un nombre.

Piense en que sentiría si le pidieran que compartiera la siguiente información personal en un grupo de personas del tamaño de una ciudad pequeña de desconocidos (5,000 por poner un ejemplo).

Ubicación geográfica exacta
Momento y tiempo en que navegas en internet
Sitios visitados
Si has buscado alguna enfermedad en línea
Productos para comprar en línea
Dispositivos utilizados al conectarte
Contenido de tu preferencia
Gustos de comida
Opiniones políticas o religiosas


La lista puede seguir pero vamos que con esto ha quedado claro. Muy probablemente no compartirías toda esta información ni siquiera con tus amigos, evidentemente con extraños ni pensarlo.

En cambio muchas personas de manera involuntaria comparten toda esta información a compañías que recopilan estos datos.

El perfil anónimo personal

La mayoría de las compañías que recopilan información no conocen el nombre real del dueño de la información, ya que para ellos no es tan importante. Lo importante es el comportamiento y preferencias de la persona ya que a cualquiera lo pueden marcar con una etiqueta que lo identificara en su sistema.
Algunas empresas saben el nombre, número de seguro y demás aunque esta información so sea compartida explícitamente.

El problema es que información compartimos, la mayoría de los datos, en nuestro desconocimiento sobre la información que se puede obtener sin tanto esfuerzo en su mayoría cuando se navega en internet.
Hay tanto que ver en la privacidad que es demasiado complicado protegerse completamente en internet.

La pirámide de la privacidad


En orden de importancia, de abajo hacia arriba:

1. Sistema operativo


Sin una base sólida, no podrás construir nada útil. Resulta que incluso la elección del sistema operativo que usa la gente puede poner en riesgo su privacidad.

El riesgo
Si usted es un usuario de Windows 10, entonces tengo malas noticias para usted porque:

Su dispositivo está etiquetado de manera predeterminada con una ID publicitaria única (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login)
La sincronización de datos(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) está habilitada por defecto (historial de navegación, configuración de aplicaciones, nombres y contraseñas de wi-fi)
Cortana puede recopilar cualquiera de sus datos(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) (como, literalmente, cualquier dato con el que opere en su computadora, incluida la información de su tarjeta de crédito, entrada de micrófono, etc.)
Microsoft puede recopilar cualquier información personal(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) sobre usted.
Toda esa información sobre usted puede ser compartida (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login), con cualquier tercero, incluso sin su consentimiento.

Soluciones
Una posible solución aquí es cambiar a otro sistema operativo como Linux o MacOS. Y si para usar MacOS tiene que comprar una Mac, pero puede instalar una distribución de Linux de su elección en cualquier computadora.

Y en caso de que hayas escuchado historias aterradoras sobre Linux, simplemente échale un vistazo. Aquí(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) puede encontrar una lista de las distribuciones más populares, ver cómo se ven y descargarlas e instalarlas. O, en caso de que no sepa por dónde empezar, simplemente vea Ubuntu (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login).

¿Todavía no quieres cambiar de Windows? Consulte W10Privacy (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login), una herramienta que lo ayudará a deshabilitar algunas configuraciones de seguimiento en Windows.


2. Capa de red


Una vez que al menos tiene la oportunidad de ser anónimo y no tiene una identificación única pegada a su computadora de la que no puede deshacerse, hablemos sobre cómo conectarse a Internet.

¿Alguna vez has pensado en cómo funciona Internet? El proceso de navegación es complejo, pero al mismo tiempo refleja el poder de la ingeniería. Sin embargo, no entraremos en los aspectos internos de cómo funciona, sino en temas relacionados con la privacidad de los que debe haber oído hablar antes: IP y VPN.

El riesgo
Como en el mundo real, cada dispositivo que está conectado a la World Wide Web digital tiene su propia dirección, la dirección IP que es visible para cualquier sitio que visite. Por lo tanto, no importa lo que haga para ocultar sus datos y preferencias, se le identificará fácilmente por la dirección a través de la cual su computadora está conectada a Internet.

Es exactamente por eso que ve anuncios en su idioma nativo del país donde vive, incluso si navega a un sitio web extranjero.

Ese es también el método por el cual algunos sitios restringen el acceso a visitantes de países específicos. Aquí(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) puede ver dónde apunta su dirección IP en el mapa mundial.

Soluciones
Redes privadas virtuales (VPN)
Prueba de fuga de IP WebRTC
Hablemos de cada uno.

1. Redes privadas virtuales

No puede simplemente ocultar su dirección IP, ya que no podrá navegar por Internet. Sin embargo, puede pretender que tiene una dirección IP diferente a la real. Aquí es donde entran en juego las redes privadas virtuales.

Una red privada virtual (VPN) extiende una red privada a través de una red pública y permite a los usuarios enviar y recibir datos a través de redes compartidas o públicas como si sus dispositivos informáticos estuvieran conectados directamente a la red privada.
Fuente: Wikipedia

Hay más de 150 proveedores de servicios VPN disponibles en todo el mundo y elegir el correcto puede ser difícil, ya que cada proveedor tiene sus propias características y limitaciones.

Sin embargo, hay pocas cosas críticas que se deben tener en cuenta al elegir una y, sorprendentemente, se relaciona con algunos "ojos".

"Cinco ojos, nueve ojos, catorce ojos"

Todas estas son alianzas globales con el objetivo de la vigilancia masiva. Cooperativamente recopilan, analizan y comparten datos sobre ciudadanos de diferentes partes del mundo. Esto comenzó después de la Segunda Guerra Mundial, y ahora los países espían a los ciudadanos de los demás y comparten inteligencia sobre la actividad en línea de las personas, correos electrónicos recibidos / enviados, publicaciones en Facebook y más.

Los países que componen estos grupos son:

Cinco ojos:
1. Australia
2. Canadá
3. Nueva Zelanda
4. Reino Unido
5. Estados Unidos

Nueve ojos (sumando los anteriores):
6. Dinamarca
7. Francia
8. Países Bajos
9. Noruega

Catorce ojos (sumando los anteriores):
10. Bélgica
11. Alemania
12. Italia
13. España
14. Suecia

Para resumir, elegir un proveedor de VPN en uno de estos países no le garantiza privacidad, ya que algunas entidades (como NSA y similares) de los mismos o incluso diferentes países pueden obligar (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) a los proveedores(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) de VPN (y básicamente a cualquier servicio en línea) a ofrecer sus datos.

Hay una buena lista de más de 150 proveedores de VPN con todas sus características y limitaciones en You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login). Tómese su tiempo para leer y analizar qué VPN le conviene más. Entonces le recomendaría que lo use durante 1 mes antes de comprar una suscripción a largo plazo para ver cómo funciona.

2. Prueba de fuga de IP WebRTC (incluso con VPN puede ser visible)

Incluso detrás de una VPN y con un servicio de DNS cifrado, es posible que aún pueda filtrar su dirección IP. ¿Y por qué las cosas deberían ser tan complicadas?

La tecnología siempre está mejorando, y con cada cosa nueva que se está desarrollando, existen errores o simplemente formas de explotar algunas características para obtener los resultados requeridos. Lo mismo ocurre con WebRTC, un nuevo protocolo de comunicación que depende de JavaScript y puede filtrar su dirección IP real desde detrás de su VPN. Compruébelo en You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) y si ve alguna dirección IP identificada, consulte esta sección en la misma You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login y siga los pasos enumerados allí. ¡No olvide comprobar nuevamente si WebRTC pierde su dirección IP!


3. El navegador


Analicemos las tablas de surf que usamos para navegar en el cosmos digital de Internet.

¿Qué navegador es mejor?

El riesgo
Cualquiera de los navegadores son piezas complejas de software que le brindan acceso a Internet. Y mientras navega por la World Wide Web, su navegador interactúa con otras computadoras, exponiendo cierta información sobre sí mismo a cualquier sitio que visite. Y aquí es donde se complica, ya que una combinación de varias configuraciones de navegador puede crear su Huella digital de dispositivo única.


¿Una huella digital?

Una huella dactilar de dispositivo es información recopilada sobre un dispositivo informático remoto con el propósito de identificación. Las huellas dactilares se pueden utilizar para identificar total o parcialmente a usuarios o dispositivos individuales, incluso cuando las cookies están desactivadas.
Fuente: Wikipedia

Entonces, la mala noticia es que mientras navega por Internet, literalmente deja sus huellas dactilares digitales en cada sitio que visita.

Las buenas noticias son que la huella digital de su dispositivo no puede ser exclusiva si cambia la configuración para exponer la menor cantidad de datos posible para navegar.

Esto es posible debido a que la huella dactilar de su dispositivo no es una pieza única de información, sino más bien un conjunto de configuraciones diferentes (por ejemplo, tamaño de pantalla, tipo de navegador, versión del navegador, fuentes instaladas, complementos instalados, etc.) que juntas puede identificar de manera única su navegador.


¿Recuerdas a la dama vestida de rojo de The Matrix? Ella se destaca porque tiene una apariencia muy distintiva en comparación con otras personas a su alrededor. Lo mismo ocurre con su navegador: cuantas más características distintivas tenga, más fácil será detectar entre la multitud.
Pero si la vestía con una chaqueta negra y una camisa blanca, como las personas a su alrededor, no se destacaría demasiado.

Hay más de una docena de datos que su navegador expone sobre su configuración, y necesitamos hacerlos tan "comunes" como sea posible.

¿Quieres ver cuál es la huella digital de tu dispositivo? Revisa:

1 You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
2 You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Si elige panopticlick, verá algo como esto:


En la columna "Característica del navegador", puede encontrar qué tipo de información se está recopilando. En base a esta información, su navegador puede ser identificado. Otra columna interesante es que "uno de cada x buscadores tiene este valor", que básicamente es la entropía de esa característica del navegador. Cuanto menor sea el número allí, mejor, ya que significa que hay muchos otros navegadores con esta configuración exacta.

La  imagen de arriba representa los resultados de la ejecución de prueba desde mi navegador Chrome, que no está configurado para mantenerme en privado.

Después de ajustar algunas configuraciones e instalar algunos complementos, esto es lo que puede lograr (este es de mi navegador Firefox, que uso a diario):


Solo 1 de cada 75,604 navegadores del conjunto de datos de panopticlick tienen la misma huella digital que la mía, que es mucho mejor (pero no ideal).

Solución
Lo primero es seleccionar un navegador. Desde una perspectiva de privacidad, hay varios de ellos ampliamente recomendados por encima de otros. A saber, estos son:

1. Tor Browser
Viene con complementos de privacidad preinstalados, cifrado y un proxy avanzado. Este puedes usarlo prácticamente como viene.

2. Firefox
Modifica la configuración predeterminada e instala algunos complementos de privacidad y estás bien.

3. Brave
Bloquea automáticamente los anuncios y rastreadores, haciendo que su navegación sea más rápida y segura.

Configure su navegador para mayor privacidad.
Aquí hay 2 opciones:

1 La ruta fácil sería seguir las instrucciones aquí(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) (solo válida para Firefox, pero puedes buscar configuraciones similares en Chrome en "about: flags").

2 Si desea tener más flexibilidad y la posibilidad de que su configuración de privacidad sea importable / exportable, consulte el proyecto ghacks-user.js (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) en Github (también solo para Firefox). Es más completo y requiere cierta configuración.




Privacidad en línea - [De Cero A Héroe] 2
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login




Cualquier error favor de comentarlo o decirme por privado y se intentara solucionar a la brevedad.
Andrey...
#126
Configuración de complementos adicionales para una mayor privacidad

4. Galletas (Cookies)


Probablemente ya hayas escuchado sobre las cookies en la web y que no son muy buenas (de lo contrario, ¿por qué los sitios te informarán sobre el uso que hacen de las cookies cuando navegas hacia una de sus páginas?)

La realidad es que las cookies no son más que una herramienta, y solo algunos usos de esta herramienta son cuestionables desde el punto de vista de la privacidad.

Por lo tanto, las cookies son pequeñas cadenas de texto que un sitio puede almacenar en su navegador. No pueden instalar nada (solo son texto) y solo son visibles para el sitio que los almacenó (para que ningún sitio pueda ver todas sus cookies para otros 20 sitios que ha visitado).

Además, las cookies se envían con cada solicitud y esto es lo que las convierte en una amenaza potencial a la privacidad.

Tomemos un ejemplo simple: supongamos que visita un sitio que tiene temas claros y oscuros. El predeterminado es el tema claro, pero has seleccionado el oscuro. Cada vez que ingresa en ese sitio, incluso si no inicia sesión o no se registra, muestra el tema oscuro.

En este caso, el sitio podría haber guardado una cookie en su navegador theme=dark y cada vez que cargue ese sitio, esta cookie se envía al servidor, que luego sirve el archivo .css correspondiente con el tema oscuro.

El hecho de que esté constantemente conectado a los sitios cuando los abre incluso después de reiniciar su computadora también es posible debido a que las cookies almacenan los datos de su sesión.

El riesgo

Ahora que era un ejemplo inocente, y probablemente no esté muy claro cómo se podría beneficiar de estas cookies. Veamos otro ejemplo que puede infringir nuestra privacidad:

Solución

Aquí tienes 3 opciones posibles:

Deshabilitar completamente las cookies (pero esto romperá algunos sitios y no funcionarán). Esto se puede hacer en la configuración del navegador;

Limite las cookies a "primera parte", lo que significa que solo el sitio al que está navegando podrá escribir cookies en su navegador y no se usarán otras cookies de "terceros" de empresas publicitarias (esto aún puede afectar algunos sitios, pero muy pocos). Esto también se puede hacer en la configuración del navegador;

(Método recomendado) Instale un complemento que gestionará las cookies, con reglas personalizadas definidas para cada sitio (este enfoque requiere cierta configuración, pero es el más flexible).
Puede encontrar algunas recomendaciones de complementos al final.


5. Guiones


Tristemente, el dicho "con gran poder viene una gran responsabilidad" no es muy popular entre las corporaciones de hoy...

JavaScript es el bloque de construcción por excelencia de los sitios web, ya que ofrece muchas posibilidades para hacer varias cosas. Puede crear juegos, interactuar con animaciones y una gran cantidad de otras cosas interesantes en una página web.

JavaScript también puede obtener el tamaño de su pantalla, el nivel de carga de la batería (en el caso de las computadoras portátiles), la lista de complementos instalados en su navegador y otra información que puede usarse para identificarlo de manera única.

El riesgo

Entonces, ¿qué sucede en muchos sitios que visitas? Para ganar dinero, los propietarios de sitios ponen scripts de compañías publicitarias en sus sitios y una vez que carga la página, el navegador también carga scripts de terceros. Esos scripts luego extraen la información potencialmente identificable acerca de usted y la envían a compañías publicitarias junto con sus acciones en la página que cargó.

De los muchos tipos de información que JavaScript puede obtener sobre su navegador, su Canvas Fingerprint (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) es de lejos la más poderosa, ya que proporciona la mayor entropía. Principalmente lo hace porque varios factores que pueden variar mucho, como la GPU, los controladores gráficos, el sistema operativo y el navegador, contribuyen a su creación.

Por lo tanto, poco a poco, las empresas recopilan información sobre sus acciones, los sitios que visita y sus clics, y crean su perfil digital en función de los anuncios adaptados que se le envían. Esto se ajusta aún más mediante sus acciones continuas en Internet.

Solución

Deshabilitar JavaScript no es una solución, ya que no podrá usar la mitad de los sitios en Internet. Sin embargo, lo que puede hacer es bloquear las secuencias de comandos de proveedores específicos para que no se carguen con la página y bloquear las solicitudes a las empresas publicitarias con información potencialmente identificable. Hay varios complementos descritos a continuación.


6. Varios y Complementos

Los pasos anteriores son fundamentales para la privacidad en línea, pero, desafortunadamente, no son suficientes: todavía hay suficientes bits de información que los sitios pueden recopilar y usar para construir el perfil digital de alguien.

En esta sección, encontrará una lista de complementos básicos para Firefox Quantum (versión ≥ 57) que le permitirán navegar de manera segura. En caso de que haya elegido otro navegador, puede buscar alternativas en sus listas de complementos correspondientes.

Tenga en cuenta que esto no es de ninguna manera una lista exhaustiva. Además, algunas características pueden estar presentes en más de un complemento, que en la mayoría de los casos no causará ningún conflicto, pero ten en cuenta que a veces las cosas pueden no funcionar. Es por eso que recomendaría instalarlos uno por uno y cargar varias páginas para probar si todo funciona como se espera.

1. Cookies

Hay muchos complementos en esta categoría, recomiendo este (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login). Simplemente actívelo para eliminar las cookies al cerrar el navegador, o una vez que haya transcurrido un período de tiempo predefinido.

Por lo tanto, los sitios y los proveedores de anuncios no podrán rastrearlo fácilmente con las cookies, ya que para ellos será como un nuevo visitante cada vez que visite un sitio. El otro lado de la "hoja de privacidad" es que tendrá que iniciar sesión cada vez que abra el navegador, porque las cookies de la sesión también se eliminarán.

Puede ser un poco molesto, pero oye, nadie te dijo que serían margaritas.

2. Bloqueadores de scripts

Hay varios add-ons populares para bloquear scripts de seguimiento innecesarios (sin ningún orden en particular): uMatrix(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) , NoScript(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) , uBlock Origin(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) , AdBlock(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) y otros.

Los dos primeros le brindan más flexibilidad, pero requieren algo de aprendizaje y configuración. De forma predeterminada, "rompen" muchos sitios, ya que simplemente bloquean todos los scripts y debe definir algunas reglas sobre qué permitir y qué bloquear. Personalmente, utilicé NoScript y uMatrix pero prefiero uMatrix.

UBlock y AdBlock son mejores si no quieres perder tiempo aprendiendo cómo funcionan y solo quieres comenzar a navegar de forma más segura. Funcionan tal y como vienen, pero a veces pueden proporcionar menos privacidad que uMatrix o NoScript.

3. Agente de usuario

También hay muchos complementos en el conmutador de encabezado del agente de usuario (esa es la información sobre qué sistema operativo y navegador está utilizando).

El problema es que hay tantas versiones de SO y de navegador que solo este encabezado puede ser una fuente útil de información para aquellos que desean identificarte.


El color morado en el gráfico del sistema operativo son versiones de iOS. Según este gráfico, el sistema operativo más común es Windows 7. La situación no es tan "común" en el lado de los navegadores, ya que los proveedores literalmente están lanzando nuevas versiones como pan caliente:



En la izquierda se puede ver Firefox distribución de la versión del navegador entre las personas en el conjunto de datos You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login, y en la derecha hay distribución de navegadores.

4. Navegación encriptada

¿Has visto que algunas direcciones URL comienzan http:// y algunas comienzan https:// ? HTTP significa Protocolo de transferencia de hipertexto, que es el protocolo que define cómo se comunican las computadoras a través de Internet.

Añada Secure al final y sabrá qué significa HTTPS. Cuando accede a un sitio que comienza https:// , los contenidos de las solicitudes que realiza son encriptados, por lo que es muy difícil entender lo que está enviando, incluso si alguien intercepta la solicitud.

Lamentablemente, no todos los sitios implementan la redirección automática de los enlaces HTTP a los enlaces HTTPS, haciendo que su navegación en línea sea visible para aquellos que puedan interceptar su tráfico.

Afortunadamente, HTTPS Everywhere(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) resuelve ese problema y lo redirección automáticamente a la versión encriptada de los sitios (si esta existe).


5. Huella digital

Hay dos soluciones para abordar la toma de huellas dactilares:

1. Bloquee cualquier intento de esta API.
2. Altere la huella digital resultante cada vez que se acceda a ella.

A largo plazo, la primera opción es la mejor, ya que no proporciona información adicional. Sin embargo, debido a que pocas personas lo saben y han decidido bloquear la API de canvas, la falta de una huella digital canvas en su navegador es en sí misma una fuente de información de identificación sobre usted.

La otra opción es alterar la huella digital del lienzo y ocasionalmente cambiarla, de modo que cada vez tendrá una huella digital diferente, como si navegaran diferentes personas.

Para este propósito, CanvasBlocker(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) funciona bastante bien. Tiene ambas opciones descritas y depende de usted decidir cuál elegir.


6. Cabecera del Referer (sin doble 'r')

Este encabezado se envía con cada solicitud, indicando de dónde proviene esa solicitud (qué sitio ha referido a la página que está solicitando). Se puede utilizar para rastrear su navegación en línea y para ver a qué sitios accede desde qué sitios.

Pero puede ser alterado para ocultar tus rutas de navegación en línea solo para tus ojos (o para quien esté usando tu computadora también).

Si usa el complemento uMatrix antes mencionado, viene con la suplantación del Encabezado Referer. De lo contrario, simplemente busque "spoof referencia" entre los complementos de su navegador y elija uno.


7. Limpiador de enlaces

El encabezado Referer es una forma avanzada de conocer de dónde viene la persona, pero uno de los enfoques más comunes para el seguimiento de su participación es los parámetros de Query String(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login). Estos parámetros son partes de URL que vienen después del personaje y contienen varios tipos de datos.

Vea este enlace: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login? utm_source = frontendfocus & utm_medium = correo electrónico & página = 2

Los pares clave = valor a la derecha del caracter  "?" son parámetros de consulta. Cuando hace clic en dicho enlace, los valores de los parámetros de consulta se envían al servidor.

¿Alguna vez se ha preguntado qué significan el utm_medium y otros utm_* parámetros relacionados en las URL? Estos están relacionados con Google Analytics.

No todos los parámetros de consulta infringen la privacidad. Algunos de ellos son necesarios para que el sitio funcione correctamente (por ejemplo, el parámetro de página).

Puede usar Link Cleaner(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) que eliminará la mayoría de los parámetros de consulta utilizados para el seguimiento.




Se intentaron cubrir los aspectos principales de la privacidad en línea que deberían sentar una base sólida para una mayor investigación y aprendizaje sobre este tema.

Pero hay tanto para la privacidad que es difícil cubrir todo y hay cosas que no se han mencionado.
Este texto se ha enfocado principalmente en la navegación segura y privada en Internet, pero la privacidad debe ser algo que se debe tener en cuenta para cada uno de los servicios en línea que utiliza, incluidos el correo electrónico, el intercambio de archivos y otros servicios que utiliza a diario.

Y recuerde: Una cosa es compartir conscientemente nuestra información con otras personas y es completamente diferente tener información confidencial recopilada sin nuestro conocimiento y consentimiento.



Mas enlaces:

PrivacyTools (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login): un recurso integral sobre privacidad. Contiene enlaces y recomendaciones para los proveedores de servicios también.

BrowserLeaks(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login): realiza análisis de su navegador en varias dimensiones relacionadas con la privacidad, incluidas direcciones IP, huellas dactilares de lienzos, Flash y más.

Panopticlick(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login): comprueba qué tan seguro es su navegador contra el seguimiento y viene con un informe sobre las cosas que revelan la mayor información sobre usted.

AmIUnique (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login): una alternativa a Panopticlick. Tiene algunas estadísticas generales sobre su conjunto de datos también.

Informe de hardware de Firefox(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login): un informe semanal del hardware utilizado por una muestra representativa de la población de Internet.

Seguimiento de resolución de pantalla (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login)  : un hilo interesante sobre cómo el tamaño del navegador / pantalla puede defraudarlo.

Firefox cada vez más inteligente sobre cookies de terceros (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login).




Privacidad en línea - [De Cero A Héroe] 1
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login




Cualquier error favor de comentarlo o decirme por privado y se intentara solucionar a la brevedad.
Andrey...
#127
Criptografía / Hash de Imagen Perceptual (PIH)
Marzo 21, 2018, 03:29:00 AM

Primero que nada decir que FB tiene una estrategia para intentar combatir el llamado "Porno venganza" el cual es básicamente publicar fotos de desnudos de una expareja o con el fin de dañar o desprestigiar a alguien. (Esto está en pruebas de FB)
La idea de Fb es ver primero las fotos antes de que sean propagadas, cargándolas a la plataforma antes de enviárselas a alguien más.

Primero se tienen que cargar a Fb ya sea en una conversación con uno mismo y marcarla como "Imagen intima no consensuada", para que se genere al hash de la imagen, creando una huella digital única para el archivo. La idea para no guardar la imagen en servidores de Fb es solo almacenan los hashes de estas después de procesarlas, cuando alguien intente cargar una imagen, Fb compara con la base de hashes antes de que esta sea publicada. Fácil de entender la idea.

A continuación intentare explicar esto

Su nombre es "Hash de Imagen Perceptual" (PIH) el cual es una cadena hexadecimal corta. Basado en la apariencia de una imagen. La idea de estos no es ser criptográficamente seguros. Ya que son invariablemente suaves a pequeños cambios en la imagen en cuestiones de rotación, recorte, ruidos, adición de borde y más.

Un hash de percepción es distinto a un hash de encriptación normal, ya que los de percepción se modifican ligeramente ante cambios pequeños, en cambio un hash como el md5 al generarse y tener una mínima alteración, se cambia por completo al original.

¿Cómo funciona el algoritmo?

Los algoritmos de hash de percepción generan una huella digital distinta (no única) generada de las características de una imagen y esta es comparable a cualquier otra.
Los hashes perceptuales tienen un concepto diferente a los hashes criptográficos (MD5, SHA1, etc.). En los hashes criptográficos los valores son aleatorios, ya que los valores utilizados para generar un hash actúan como semilla aleatoria, por lo que mismos datos generan el mismo resultado y evidentemente distintos datos crearan resultados diferentes.

La comparación de dos valores hash criptográficos nos dan a entender que si los hashes son diferentes entonces los datos son diferentes y si los datos son iguales entonces los datos quizá sean los mismos, ¿por qué dije "quizá"?, bueno por que como algunos ya sabrán existe la posibilidad de una colisión hash la cual hace que tener los mismos valores no garantice los mismos datos.

En cambio con hash de percepción, la similitud de hashes da idea de conjuntos de datos parecidos.
Los algoritmos de percepción tienen las mismas propiedades básicas: las imágenes se pueden escalar, tienen diferentes relaciones de aspecto, diferencia de colores y quizá combinar imágenes similares.

Imágenes prácticamente iguales:


Imagen 1 hash: (0011110000111110000011100001101000111010000111100001111000011110)
Imagen 2 hash: (0011110000111110000011100011111000111110000111100001111000011110)

Distancia de Hamming: 3


Imágenes distintas:


Imagen 1 hash: (0010100010101000101010001010100010101011001010110101011100110111)
Imagen 2 hash: (0111000011110000111100101101001101011011011101010011010101001111)

Distancia de Hamming: 32


¿Cómo se crea un Hash Perceptual?

Existen varios algoritmos, uno de los hashes más simples representa un promedio básico basado en las bajas frecuencias de una imagen.

En las imágenes las frecuencias altas dan detalles a esta, mientras que las bajas frecuencias muestran la estructura. Las imágenes grandes y detalladas tienen frecuencias muy altas. Una imagen pequeña casi no tiene detalles por lo cual tiene frecuencias bajas.

Hagamos un ejemplo:

Tome una imagen prestada del foro...



- Paso 1 Reducir el tamaño
Es la forma más rápida de eliminar las altas frecuencias.
En este caso se reduce a 8x8 para tener 64 pixeles en total. No es necesario mantener la relación de aspecto solo hay que dejarla a esa resolución. De esta manera el hash coincidirá con cualquier variación de la imagen sin importar escala o relación de aspecto.



- Paso 2 Reducir el color
La pequeña imagen de 8x8 se convierte a escala de grises para cambiar el hash de 64 pixeles ((RGB) 64 rojo, 64 verde, 64 azul) a 64 colores en total.



- Paso 3 Promedio de los colores
Calcule el valor medio de los 64 colores

- Paso 4 Calcule los bits
Cada bit se establece en función de si el valor del color está por encima o por debajo de la media

- Paso 5 Construye el hash
Establezca los 64 bits en un entero de 64 bits. El orden no importa siempre que lleve una secuencia.
(En mi caso los ordene de izquierda a derecha, de arriba abajo)



Hash = 00011000 00111100 01011010 01111110 11100111 10000001 00000000 00111100

El hash no cambiara si la imagen se escala o la relación de aspecto cambia. Aumentar o disminuir el brillo o el contraste hasta alterar los colores no cambia demasiado el valor.

Para comparar dos imágenes se construye el hash de cada una y se cuenta el número de posiciones de bits que son diferentes, Esto es llamado "Distancia de Hamming" (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) Una distancia de cero indica que es probable que sea una imagen muy similar o una variante de la misma. 5 significa que algunas cosas pueden ser diferentes pero quizá sean similares. Pero una distancia de 10 o más quiere decir una imagen probablemente diferente.

Vamos a compararla con la misma imagen, modificada muy caseramente y para fines prácticos con Paint (evidentemente se puede hacer con mejor software):





Hash: 0001000000110110010110100111111010001011100000010001000000111100

Comparación (resalto las alteraciones):
Original Hash= 00011000 00111100 01011010 01111110 11100111 10000001 00000000 00111100
Editada Hash= 00010000 00110110 01011010 01111110 10001011 10000001 00010000 00111100

Distancia de Hamming = 8


El promedio de hash es fácil y rápido, pero puede generar falsos errores si se realiza una corrección de gama o se aplica un histograma de color a la imagen. Esto es porque los colores se mueven a lo largo de una escala no lineal alterando donde se encuentra el promedio y haciendo que cambien los bits que se encuentran encima o por debajo de la media.

Existe un algoritmo más robusto en comparación con este que utiliza la idea de una Transformada de Coseno Discreta (DCT) para reducir las frecuencias.

A pesar de no ser criptográficamente sólidos, estos tienen aplicaciones en comparación de información sensible como el caso de Fb antes mencionado.

Si les interesa saber más de este tipo de temas pueden buscar "Análisis forense de imágenes digitales".




DMNTEL
#128

Criptomonedas, ICO's, dinero de internet, como lo conozcas o llames es emocionante, quieres ser parte de esto y no sabes cómo, no te preocupes a continuación te diré lo que necesitas para ser un desarrollador entusiasta de este mundo Blockchain.

Primero que nada decir que probablemente te des cuenta que no es muy claro donde comenzar, ya que Blockchain no deja de moverse a una velocidad incontenible, por lo cual hace esta guía inevitablemente incompleta.

Una última aclaración: la guía esta en español pero los links re direccionan a páginas y videos en inglés, las paginas pueden ser traducidas mediante el navegador y la mayoría de los videos tienen subtítulos si los activan, claro para los que no dominan el inglés.

¿Porque Blockchain?

Primero señalar que es un espacio demasiado sobrevalorado en este momento. Los precios se vuelven insostenibles, y producen un colapso, esto ha sucedido y volverá a suceder. Hay que trabajar a largo plazo en este tema para aprender a ignorar los precios. En palabras de un experto: "La parte menos interesante de las criptomonedas, son los precios". Son tecnologías tan importantes que van a cambiar el mundo, queramos o no.

Pero si no estas seguro, no soy quien para evitar que intervengas. Quizá solo te pueda dar razones para convencerte de ingresar en este mundo:

1 - Estas a tiempo
Bitcoin se creó hace 10 años, pero su tasa de innovación ha sido solo en los últimos años, en específico con la creación de Ethereum en el año 2015. La actual gran mayoría de empresas recientemente creadas con base en Ethereum, el cual tiene todavía demasiado por desarrollar.
Si te decides por comenzar puedes convertirte en experto de nivel internacional en unos pocos años. La gente no se dedica completamente a esto por lo que no será complicado ponerse al día.

2 - Aun no existen talentos fuertes en esta, vamos a llamarla "materia"
Normalmente los más dedicados se enfocan a estudiar programación web, se ponen a crear juegos o análisis de datos. Blockchain sigue siendo poco conocido y desinformado como para que alguien se dedique completamente a este.
Cuando comenzó era tema exclusivo de cyberpunks, muy interesados o gente "rara". Pero recientemente eso ha cambiado. Si eres un desarrollador curioso y de mente abierta, tienes mucho que aportar.

3 - La innovación no está en las escuelas
Satoshi Nakamoto (Creador del Bitcoin) no era un académico. Actualmente no existe institución dedicada a Blockchain en concreto. Los avances han sido gracias a grupos de personas, investigadores o aficionados. Lo que necesites se encuentra en páginas, blogs y demás lugares abiertos al público, lo único que falta es interesarse en el tema.

4 - La oferta es excedida por la demanda de gente con habilidades y talento
El problema aquí es que no se pueden conseguir suficientes desarrolladores enfocados al tema. La mayoría se pelea por los pocos talentos existentes de Blockchain. Las mejores empresas no pueden mantener a la gente lo suficiente, debido a que tienen tantas oportunidades, que les resulta sencillo conseguir un nuevo trabajo.

5 – Las criptomonedas son asombrosas
Que mejor que un modelo de dinero descentralizado y seguro criptográficamente. Las criptomonedas son actualmente una de las áreas más innovadoras para trabajar.

Tenga en cuenta que debe investigar lo suficiente si algo no está claro, hay que entender bien la historia de esto para poder comprender el funcionamiento de las cadenas de bloques y componentes básicos, como ha evolucionado y errores que se han cometido.

A continuación algunos requisitos ordenados por importancia.
Considere que esta información no es la única y si desea profundizar algún tema en específico debe investigar más a fondo.
Ahora algunos requisitos previos para poder adentrarte en este mundo:

Computación

Estructuras de datos:
Debes estar familiarizado con características y garantías de complejidad que se encuentran en las estructuras de datos principales: listas vinculadas, arboles binarios de búsqueda, mapas hash y gráficos (con exactitud gráficos acíclicos dirigidos). Se aprende más construyéndolos desde cero para comprenderlos en funcionamiento y propiedades.

Criptografía:
Es la base de las criptomonedas. Todas utilizan criptografía de clave pública / privada en base a su autenticación e identidad. Una recomendación es aprender RSA por su facilidad al no requerir un fuerte conocimiento matemático, luego "ECDSA" criptografía de curvas elípticas aunque requiere más matemáticas abstractas, no es necesario aprender los detalles, pero esta es la que en su gran mayoría se necesitan en las criptomonedas.
También es importante la función hash criptográfica, con esta se pueden crear esquemas de compromiso y son la base de construcción para los arboles de Merkle, el cual es una optimización clave que sirve para la escalabilidad en las cadenas de bloques.

Sistemas distribuidos:
Esta es un área de estudio complicada y extensa. Son esenciales para razonar sobre blockchain, por lo que se deben tener buenos cimientos en estos antes de comenzar la programación blockchain.
Existen algunos buenos libros de texto sobre sistemas distribuidos (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login)


Redes:
Blockchain es descentralizado ya que se basa en su mayoría de redes punto a punto. Por lo cual las cadenas de bloques descienden de las redes P2P.
Para lograr entender el modelo de comunicación Blockchainm se debe entender los conceptos de red informática: esto es comprender TCP ante UDP, el modelo de paquete como lo son los paquetes IP y entender el enrutamiento de internet.

Economía:
Las criptomonedas están entrelazadas con la economía. Derivan muchas propiedades de seguridad a través de estructuras económicas, las cuales son denominadas criptoeconomia. Entonces la economía es vital para entender las criptomonedas.

Teoría de juego:
La parte más importante que la economía juega en las criptomonedas es la llamada "Teoría de juegos" estudiar los pagos y beneficios a dividir entre los múltiples agentes, sin necesidad de adentrarse mucho en el tema. Es vital para comprender las herramientas de análisis de teoría de juegos y su uso para analizar incentivos y que estos se repitan.
Se debe comprender los conceptos de equilibrio de Nash y puntos Schelling, necesarios en el análisis de criptoeconomia.

Macroeconomía:
La criptoeconomia no son solo protocolos, también son formas de dinero. Y por ser así necesitan estar regidos por las leyes de macroeconomía.  Estas se sujetan a políticas monetarias y evidentemente son predecibles respecto a la inflación y deflación. Es necesario entender los procesos y efectos que se provoca sobre gastos, ahorro, etc.
También es necesario entender el concepto velocidad del dinero, que corresponde a la valoración de una moneda.

Microeconomía:
Las criptomonedas se entrelazan con los mercados por lo que se necesita comprensión microeconómica. Estudiar curvas de oferta y demanda es un requisito. Razonamiento de costos de competencia y oportunidad.
Si se tiene idea de alguno de estos temas se puede omitir.

Medianamente dominados estos requisitos se puede comenzar con el desarrollo de Blockchain.

Fundamentos de Bitcoin

En 2008, Satoshi Nikamoto describió un protocolo para crear una moneda digital descentralizada. Lo nombro el protocolo Bitcoin.
Antes de entender lo que está detrás de Blockchain, se debe iniciar con Bitcoin y entender la idea de Satoshi.
Primero leer sobre prueba de trabajo y la regla de elección de la horquilla o consenso de Nikamoto.

Ver el siguiente video está en inglés pero se pueden activar los subtítulos traducidos.


También ver este video para tener más clara la idea:


Ahora que ha visto le recomiendo el siguiente articulo (En Inglés You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) para tener una idea más profunda de los componentes y funcionamiento de Bitcoin.

Construyendo Blockchain:
Ahora que se tiene intuición sobre esto, es hora de ver como se construye una cadena de bloques propia basada en pruebas de trabajo. Es sencillo a continuación algunos recursos.

Esta es una conferencia donde se repasa como hacerla en Ruby. Recomendada incluso si no utiliza Ruby.


Diapositivas:

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Existen otras implementaciones de Blockchain que se encuentran en distintos lenguajes de programación. La idea es crearlo y que sea funcional.

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Llegados a este punto se tiene más idea sobre este mundo y su implementación. También se debe entender el documento original de Bitcoin: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Para lograr entender la economía y la mecánica de la minería del Bitcoin, es recomendable ver la conferencia sobre minería de Bitcoin dada en un curso de Princeton sobre Bitcoin y Criptomonedas. Video en inglés y en esta ocasión parece que no se han generado los subtítulos para este video por lo cual será para los que dominen mejor este idioma, una disculpa.


Una vez en este punto y asumiendo que se ha entendido el material previo, se tiene el conocimiento para recorrer un encabezado de bloque de Bitcoin y entender el significado de cada componente.


Se podrá jugar con el explorador de bloques de Bitcoin y navegar en las transacciones crudas del Bitcoin. You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Este es un buen momento para ver más sobre la historia del Bitcoin y las criptomonedas. El siguiente video enseña una visión general, en inglés pero con subtítulos.





Blockchain - [De Cero A Héroe] 2
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login




Cualquier error favor de comentarlo o decirme por privado y se intentara solucionar a la brevedad.
Andrey...
#129

Ethereum y programación de contrato inteligente

Después de entender la dinámica de Bitcoin, intentemos profundizar en Ethereum.
Ahora comprende cómo blockchain puede ser tolerante a fallas distribuido dentro de una red. Pero la red de pagos solo es una aplicación que se puede ejecutar encima de una cadena de bloques. El creador de Ethereum se preguntó ¿y si usaras una cadena de bloques para implementar una computadora descentralizada?

En Ethereum se les paga a los que ejecutan sus programas en esta máquina virtual distribuida. Esto significa que puede realizan cálculos arbitrarios, utilizando un lenguaje de programación Turing-completo (a diferencia del script de Bitcoin). Evidentemente esto incluye aplicaciones relacionadas con pagos, por lo que Ethereum habilita un súper conjunto de la funcionalidad de Bitcoin y ha dado lugar a un renacimiento de la innovación. Esto nos lleva a contratos inteligentes: el nombre de los programas que se ejecutan en dicha máquina virtual. Un contrato inteligente puede interactuar directamente con las criptomonedas de la cadena de bloques de acuerdo con la ejecución de un programa. En otras palabras, puede crear contratos financieros que se apliquen automáticamente. Es una idea disparatada, y todo tipo de material futurista de ciencia ficción que puedes hacer una vez que aceptes este modelo de programación.

Ethereum ha permitido que la ola de ICO y desarrolladores se construya sobre la cadena de bloques. Es la segunda criptomoneda más grande detrás de Bitcoin, tiene más de 10 veces los desarrolladores de la siguiente plataforma más popular, tiene el equipo de desarrolladores más sólidos, las herramientas más maduras y la mayoría de las ICO y proyectos encima. También cuenta con el mayor respaldo de la industria. Con toda probabilidad, si estás desarrollando blockchain, debes escribir código para contratos inteligentes de Ethereum. (Incluso si no lo eres, es esencial para entender lo que está sucediendo en este espacio).

A continuación una explicación más detallada de alto nivel sobre Ethereum:


Las ideas detrás de Ethereum también han generado una ola de innovación en criptoeconomía.
Al igual que con cualquier tecnología, la mejor forma de familiarizarse con Ethereum es mediante la construcción de algunos proyectos pequeños.

El lenguaje de programación dominante para Ethereum es Solidity, que es un lenguaje de tipo Javascript estáticamente tipado. Es un lenguaje con muchas opciones de diseño cuestionables. Los lenguajes más robustos como Viper pueden reemplazarlo una vez que estén listos para producción, pero por ahora Solidity es la lengua franca de la programación de contrato inteligente. Básicamente es el JavaScript de Ethereum, por lo que tendrás que aprenderlo (y sus peligros).

Para obtener su primera exposición al desarrollo de solidez, recomiendo trabajar a través de todo el tutorial de CryptoZombies. Es un tutorial encantador y de alta calidad de Codecademy que te enseñará los conceptos básicos de la programación de Solidity.
(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login)


Ahora que ha entrado a este mundo, es hora de desarrollarse por su cuenta.

El " Hola mundo" de Ethereum está construyendo un token que cumple con ERC-20. Es recomendable esta guía como primer tutorial para guiarlo en el proceso.
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Remix es un compilador de solvencia en el navegador; básicamente, es la rueda de entrenamiento del desarrollo de Ethereum, por lo que es recomendable trabajar el resto de su práctica en Remix.
(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login)

Es recomendable construir un sistema de votación. Karl Floersch tiene un gran tutorial en el que describe cómo construir un sistema seguro de votación de compromiso y revelación.
(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login)


Seguridad de contrato inteligente

La seguridad es absolutamente esencial para el desarrollo de Blockchain. Los contratos inteligentes han estado plagados de hacks desastrosos, que incluyen el hack de DAO, el hack de Parity Wallet y el cariñosamente llamado Parity Wallet hack 2. Debes leer los análisis de estos tres hacks si vas a escribir contratos inteligentes de producción.

La verdad es que los contratos inteligentes son extremadamente difíciles de hacer bien. Aunque la cadena de herramientas de programación mejorará para hacer estos ataques exactos más difíciles, en última instancia, todo se debió a un error del programador. También hay muchos errores más sutiles que surgen de la programación de contratos inteligentes, como en la ejecución fronteriza o generación segura de aleatoriedad.

Como desarrollador de contrato inteligente, debe tratar la seguridad como primordial. No hay que "moverse rápido y romper cosas" en la programación de contratos inteligentes. Esto significa que cualquier código que maneje flujos significativos de dinero se debe ejecutar a través de analizadores estáticos como Oyente o Securify, debe probarse exhaustivamente y luego debe ser auditado por un auditor de contrato inteligente con experiencia. También debe intentar confiar en los componentes auditados previamente, como los contratos de código abierto de OpenZeppelin.

(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login)
(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login)
(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login)

Para fortalecer las habilidades de seguridad, se recomienda trabajar a través de The Ethernaut con OpenZeppelin, un juego donde puedes encontrar y atacar vulnerabilidades en contratos inteligentes. Muchos de ellos tienen que replicar ataques reales contra contratos inteligentes que han ocurrido.
(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login)

Phil Daian también tiene un excelente conjunto de desafíos de piratería de contratos inteligentes llamado Hack This Contract.
(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login)

Una vez que superados, es recomendable leer la totalidad de las mejores prácticas de contratos inteligentes, compiladas por ConsenSys. Espere volver a visitar este documento muchas veces en su carrera de programación de contrato inteligente. La bibliografía también vale la pena explorar para una lectura adicional por expertos en seguridad.
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login


Dejando el entrenamiento.

Ahora deberías estar listo para comenzar a usar una pila de desarrollo de solidez seria.

La mayoría de los desarrolladores recomiendan VSCode o Atom para su editor de texto, ya que tienen plugins decentes de solidez. Para interactuar con un blockchain local, querrás usar Ganache (anteriormente TestRPC), y querrás usar el framework Truffle para tus pruebas (basadas en JS) y configurar tu pipeline de compilación.
(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login)
(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login)

Ahora es un buen momento para analizar IPFS, que puede usar como una tienda de archivos completamente descentralizada a un costo mucho más económico que la cadena de bloques de
(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login)

Ethereum. Aquí hay una breve explicación del creador, Juan Benet:

Para interactuar con los nodos completos de Ethereum y IPFS (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login), Infura (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) es lo que recomiendan la mayoría de los desarrolladores. Las gasolineras Etherscan y ETH proporcionan estadísticas útiles en tiempo real en la red Ethereum.
(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login)
(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login)

Una vez que haya configurado su pila completa de Web3 (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login), intente implementar un Dapp de extremo a extremo (aplicación descentralizada). Este tutorial (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) proporciona una buena visión general de pila completa usando Node y Postgres para el back-end.


Construyendo tus propios proyectos
Ahora puede comenzar a construir cosas y profundizar en la comunidad de Blockchain.

Primero, comienza a construir tus propios proyectos. Si hay alguna gran idea que te entusiasme, intenta llevarla a cabo. Si todavía no tiene una idea o no se siente cómodo entrando de lleno, hay muchos proyectos de código abierto de alta calidad que aceptan contribuciones. OpenZeppelin podría ser un buen lugar para comenzar contratos inteligentes.
(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login)

Es recomendable empezar por encontrar un proyecto activamente desarrollado del que sea fanático. Ponte en Slack o Rocketchat: los desarrolladores suelen ser fácilmente accesibles. Intenta unírteles para contribuir e intenta algunas tareas pequeñas (o encuentre problemas no resueltos en Github).

Tenga en cuenta que, si bien este texto se ha centrado en los protocolos y el desarrollo de contratos inteligentes, las empresas de Blockchain necesitan desarrolladores web para construir su funcionalidad principal. Estos roles a menudo requerirán interactuar con blockchains, por lo que es esencial tener un buen modelo mental de cómo funcionan las cadenas de bloques, pero para muchos ingenieros en las startups de Blockchain, la mayor parte de su trabajo será construir un servidor web Python o diseñar un frontend React. Interactuar con el Blockchain puede ser una pequeña parte de ese trabajo. No tiene que especializarse en el desarrollo de contratos inteligentes, en realidad, eso es solo una parte de una pila de bloques de trabajo.

Más allá de las contribuciones de código abierto, también hay muchos hackathons Blockchain (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) constantemente apareciendo. La mayoría de los proyectos tienen un Slack público gratuito al que puedes unirte, y hay un canal Gitter (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) muy activo para el mismo Ethereum donde muchos desarrolladores se juntan. A medida que se adentre, eventualmente encontrará un grupo de su agrado, ya sea en un canal Slack, grupo Telegram o canal Gitter. Donde sea que esté, encuentre a su gente y continúe aprendiendo.

Comunidad Blockchain
La mejor manera de entender realmente el mundo de blockchain es sumergirse en él. Lea y escuche a las personas más inteligentes, especialmente las cosas que han escrito en el pasado.

Hay mucho contenido de blockchain, pero también hay mucha basura. Aquí está la información recomendada.

Medios de comunicación
Los tres fantásticos podcasts recomendados son las entrevistas de Software Engineering Daily Blockchain, que proporcionan buenas introducciones técnicas para muchos temas y criptomonedas. Desde allí, Epicenter y Unchained: querrá volver y escuchar muchos de los episodios anteriores. Otro podcast técnico interesante y prometedor es Conspiratus.
(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login)
(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login)
(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login)
(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login)

Hay algunos buenos canales de YouTube (aunque hay toneladas de basura en YouTube). Suscríbete a la Fundación Ethereum y mira las presentaciones de Devcon3. Blockchain en Berkeley graba muchas de sus conferencias, la mayoría de las cuales son excelentes descripciones técnicas. Decypher Media también publica conversaciones, reseñas de libros y tutoriales. Jackson Palmer tiene interesantes vistas semanales, estas son del lado menos técnico, pero muy bien presentado.
(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login)
(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login)
(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login)
(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login)

Lecturas

La charla Blockchain en vivo, se encuentra principalmente en dos lugares: Reddit y Twitter. Para Reddit, la mayoría de los subreddits son de muy baja calidad y están dominados por el ruido. r / Ethereum (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) tiene una calidad constante y decente (y hay algunos subreddits correctos para criptomonedas específicas). Sin embargo, la mayoría de los subreddits están dominados principalmente por especuladores, y no son un buen uso de su atención. Manténgase alejado de los subreddits relacionados con Bitcoin. Bitcoin tiene notoriamente una de las comunidades más tóxicas, y Reddit solo lo magnifica.

Twitter es más una bolsa mixta. Para bien o para mal, la mayoría de las personas de blockchain viven en Twitter.
Evite a los "líderes del pensamiento". Los empresarios puede estar bien seguirlos, aunque en su mayoría actúan twitteando sobre sus propios proyectos. Los inversores en su mayoría twittean sobre precios y proyectos así que si eso es lo tuyo ya sabes a quien seguir. Los periodistas tienden a twittear sobre las principales noticias del día; es recomendable que se mantengan alejados a menos que necesiten un análisis en tiempo real, que probablemente no hagan. Si eres un comerciante activo, podría ser importante, pero si intentas construir sobre la cadena de bloques, la mayoría de las cosas en tiempo real son una distracción.

Presta la mayor atención a los constructores. Son las personas que más importan en este momento, y quienes impulsan la tecnología.

Es recomendable suscribirse a Inside Bitcoin (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) para obtener resúmenes diarios de las noticias más importantes (cubre más que solo Bitcoin) y Week in Ethereum (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) tiene buenos compendios de los acontecimientos centrados en los desarrolladores en el ecosistema de Ethereum.

Más allá de esto, probablemente no necesite monitorear noticias en tiempo real. Enfócate en construir cosas y aprender.

Querrá seguir los mejores blogs. Estos son los recomendados:

Vitalik Buterin (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) por su excelente blockchain y análisis criptoeconómico.

Hacking (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login), distribuido para análisis de seguridad de blockchain por investigadores de Cornell

Unenumerated (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login), el blog de luminarias de Nick Szabo con ensayos desafiantes.

Money Stuff (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login), la distribución de Bloomberg de Matt Levine, con un análisis perspicaz que toca la intersección de los mercados, las finanzas y las noticias de blockchain

Jameson Lopp (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) por sus excelentes publicaciones técnicas desde la perspectiva de un ingeniero de software que construye el ecosistema blockchain

Gran Muralla de Números (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) por Tim Swanson, por su deconstrucción sobria e inquebrantable de la manía de la cadena de bloques, especialmente en el espacio empresarial

Libros y cursos
Si desea un enfoque más estructurado para aprender este material, hay algunos libros y cursos de alta calidad.

El mejor libro de texto general para blockchains es Bitcoin y Cryptocurrency Technologies (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login).

Los únicos otros libros recomendables son Mastering Bitcoin (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) de Andreas Antonopoulos.

El único libro no técnico recomendable es Digital Gold (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) por Nathaniel Popper.

Prácticamente todo lo demás que vale la pena leer estará en blogs, no en libros: este espacio se mueve tan rápido que las figuras más importantes rara vez tienen tiempo para escribir libros, y los libros a menudo están desactualizados para cuando se publican.

Si desea un enfoque más estructurado para aprender este material, existen algunos cursos de alta calidad (y muchos de baja calidad). Conferencias del Curso de Princeton Coursera (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) (los videos también están en YouTube), y la UC Berkeley (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login).

También se dicen cosas buenas sobre Consensys Academy (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) para las personas que quieren entrar en el desarrollo de contratos inteligentes.

Lo que se he mostrado es solo el comienzo. Las criptomonedas aún están iniciando, y realmente es el espacio en el que más rápidamente se puede desarrollar. Esta guía seguramente estará desactualizada en un año. Así que tendrás que continuar investigando y actualizándote por tu parte.




Blockchain - [De Cero A Héroe] 1
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login




Cualquier error favor de comentarlo o decirme por privado y se intentara solucionar a la brevedad.
Andrey...
#130

Hola, en esta ocasión les traigo como utilizar Google Colaborativo, el cual es un servicio de nube gratuito para desarrollo de aplicaciones.

Es un entorno de notebook Jupyter que no requiere configuración y se ejecuta completamente en la nube.

En este lugar se pueden mejorar las habilidades de codificación en Python.

Una de sus características principales que es totalmente gratuito.

Básicamente en lugar de ejecutar Python en nuestra PC lo hacemos online.


¿Como obtenerlo?

Debemos tener cuenta de google obviamente.

Accedemos a You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Primero crearemos una carpeta en Drive, en mi caso llamada "Colab Notebooks"

Creamos un nuevo cuaderno haciendo clic derecho > Mas > Colaboratory


Editamos en nombre del cuaderno haciendo clic en el nombre del archivo




Ahora es momento de utilizar Google Colaborativo

Vamos a probarlo con algunos ejemplos:


Funciona correctamente.

De momento es todo, un saludo y nos vemos en la próxima
Andrey...
#131
Hola, contenido y material si necesitas algo en especifico lo puedo buscar en mi biblioteca personal.

Personalmente este año es mi propósito la IA, es muy extensa, lleva su tiempo entenderla y mas aun aplicarla.

Mi opinión seria que actualmente es uno de los principales temas respecto a tecnología ya que se puede aplicar en todo, compras, trafico, control, predicción, antivirus, administración, medicina, y un etc gigantesco.

Un saludo.
#132
Video Juegos / Descargar juegos gratis para Windows
Febrero 18, 2018, 12:13:13 AM


You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Si lo que estás buscando son videojuegos indie gratis para PC, en el portal You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login encontrarás un buen surtido de títulos de géneros y características muy variadas. El catálogo se compone por más de 87.000 demos y juegos gratis, y para localizarlos con rapidez puedes filtrar el listado por precio haciendo clic en la opción Free del apartado Price

Tienes a tu disposición pestañas para organizar los resultados por popularidad, top ventas, mejor valorados o añadidos recientemente. También puedes filtrar por género o por etiqueta. En la ficha detalle de cada juego verás toda la información proporcionada por el desarrollador y podrás descargar el título y guardarlo en tu ordenador.


You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login


Microsoft Store

Si te preguntas dónde descargar juegos gratis para Windows, una alternativa que tienes a tu alcance es la tienda de Microsoft. En el apartado Juegos y entretenimiento encontrarás el epígrafe Juegos para Windows, donde hay un listado con los principales juegos gratis. Dirígete al filtro Categoría de la columna de la izquierda si quieres filtrar el catálogo por género.

En la ficha de cada título puedes consultar los principales datos del juego, entre ellos una descripción y capturas de pantalla, los requisitos mínimos o las valoraciones de otras personas. Para descargarlo lo único que tienes que hacer es pulsar en el botón Obtener ahora.


You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

GOG.com es un servicio de venta y distribución de videojuegos de la compañía polaca CD Projekt. Además de títulos de pago, también pone a tu alcance un amplio catálogo de juegos gratis para PC que puedes descargar en tu equipo.

Para encontrar los títulos gratis lo único que tienes que hacer es dirigirte al apartado Store y seleccionar Free en el filtro Price. Al instante verás todas las opciones disponibles, entre las que hay demos, packs y contenidos extra de juegos de pago, títulos de pago que gracias a una promoción se pueden bajar sin coste temporalmente, y juegos gratis. En la ficha detalle de cada uno de ellos puedes ver la información detallada, los requisitos del sistema o las valoraciones de los usuarios.

Al igual que otras plataformas de distribución digital de videojuegos, para descargar los títulos necesitas crearte una cuenta gratuita e instalar la aplicación de You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login en tu ordenador. Una vez hecho esto, podrás guardar los juegos que quieras en tu biblioteca y acceder a ellos a través de la app.


You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login


Origin

Origin, la plataforma online de videojuegos desarrollada por Electronic Arts, es otro de los sitios recomendados para descargar juegos gratis para PC. Cuenta con un apartado dedicado a los títulos gratuitos. Aquí encontrarás la selección de Invita la casa, un apartado que reúne expansiones y juegos completos que se pueden conseguir gratis de manera temporal.

Por otra parte, el apartado Pruebas ofrece acceso limitado a un juego completo para que lo puedas probar, con la ventaja de que tu progreso se guarda si decides comprarlo. También hay un apartado dedicado a Demos y betas. Por último dispone de un apartado específico para juegos gratis.

Para obtener acceso al catálogo, lo único que tienes que hacer es crearte una cuenta gratis en el servicio e instalar la aplicación de Origin en tu PC, que te dará acceso a tu biblioteca de juegos para jugar desde tu ordenador.


You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login


Steam

Steam de Valve es la plataforma de distribución digital de juegos por excelencia. Además de su catálogo de pago, también cuenta con una amplia selección de videojuegos gratis para PC que puedes descargar en cualquier ordenador con Windows. Para encontrar los títulos gratuitos dirígete al apartado Free to Play y utiliza los filtros que tienes a tu disposición para navegar. Puedes ver el catálogo atendiendo a distintas clasificaciones (nuevo y popular, lo más vendido, a qué se juega) o por género.

En el listado hay títulos Free to Play, gratuitos y demos, un dato que se puede ver en la vista previa. Tienes a tu disposición tanto juego populares como desconocidos, y para ayudarte a decidir cuáles descargar puedes echar un vistazo a las valoraciones de los usuarios en la ficha de cada juego, donde también puedes consultar sus principales datos, los requisitos mínimos o los idiomas disponibles.

Para descargar juegos gratis para Windows en Steam es necesario que tengas una cuenta que puedes crear en un par de minutos con tu correo electrónico. Después, instala la aplicación para tu PC desde este enlace  You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login  y a través de ella tendrás acceso a tu biblioteca de juegos.


You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login




Fuente: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#133

Esta vez les quiero compartir una serie de bibliotecas, herramientas o programas desarrollados en Python en lo que fue el año pasado, fueron clasificados como los mejores en sus categorías y aplicación. Sin más que agregar les dejo los links a cada uno de los GitHub con una pequeña descripción.

Pd. La última es la más interesante de ver...


Home-assistant (v0.6 +):
Plataforma de automatización del hogar de código abierto que se ejecuta en Python 3
[11357 estrellas en Github].
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login



Sanic:
Async Python 3.5+ Servidor web que está escrito para ir "rápido"
[8028 estrellas en Github].
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login



Python-fire:
Una biblioteca para generar automáticamente interfaces de línea de comando (CLI) desde absolutamente cualquier objeto de Python.
[7775 estrellas en Github].
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login



MicroPython:
Una implementación ágil y eficiente de Python para microcontroladores y sistemas restringidos
[5728 estrellas en Github]
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login



Prophet:
Herramienta para producir pronósticos de alta calidad para datos de series temporales que tienen una estacionalidad múltiple con crecimiento lineal o no lineal
[4369 estrellas en Github]
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login



Dash:
Aplicaciones web interactivas y reactivas en python puro
[3281 estrellas en Github].
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login



Texto de destello:
Extraiga las palabras claves de la oración o reemplace las palabras claves en oraciones
[2019 estrellas en Github].
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login



Open-paperless:
Escanee, indexe y archive todos sus documentos en papel. Un sistema de gestión de documentos.
[1717 estrellas en Github].
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login



LivePython:
Traza visualmente el código de Python en tiempo real
[1577 estrellas en Github].
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login



Anguila:
Una pequeña biblioteca de Python para hacer simples aplicaciones GUI HTML / JS.
[1137 estrellas en Github].
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login



Sorpresa v1.0:
Python de Python para construir y analizar sistemas de recomendación
[1103 estrellas en Github] .
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login



PDFTabExtract:
Un conjunto de herramientas para extraer tablas de archivos PDF que ayudan a hacer minería de datos en documentos escaneados.
[722 estrellas en Github].
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login



Fsociety:
Hacking Tools Pack. Un marco de prueba de penetración.
(Pack de herramientas utilizadas en Mr. Robot)
[1585 estrellas en Github].
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login




Fin del post...
#134
Python / Python [De Cero a Heroe] 2
Febrero 17, 2018, 10:27:15 PM

7 Clases & Objetos

Un poco de teoría:

Los objetos son una representación de objetos del mundo real como automóviles, perros o bicicletas. Los objetos comparten dos características principales: datos y comportamiento.

Los automóviles tienen datos, como número de ruedas, número de puertas y capacidad de asientos. También exhiben comportamiento: pueden acelerar, detenerse, mostrar cuánto combustible queda, y muchas otras cosas.

Identificamos datos como atributos y comportamiento como métodos en programación orientada a objetos. De nuevo:
Datos → Atributos y Comportamiento → Métodos

Y una clase es el modelo a partir del cual se crean los objetos individuales. En el mundo real, a menudo encontramos muchos objetos del mismo tipo. Como autos. Todos de la misma marca y modelo (y todos tienen un motor, ruedas, puertas, etc.). Cada auto se construyó con el mismo conjunto de planos y tiene los mismos componentes.

Python, como un lenguaje de programación orientado a objetos, tiene estos conceptos: clase y objeto.
Una clase es un modelo, para sus objetos.

Entonces, nuevamente, una clase es solo un modelo, o una forma de definir atributos y comportamiento (como hablamos en la sección de teoría). Como ejemplo, una clase de vehículo tiene sus propios atributos que definen objetos. La cantidad de ruedas, el tipo de tanque, la capacidad de asientos y la velocidad máxima son atributos de un vehículo.

Con esto en mente, veamos la sintaxis de Python para las clases:

Código: text
class vehiculo:
    pass


Definimos clases con una declaración de clase,  y eso es todo.
Los objetos son instancias de una clase. Creamos una instancia al nombrar la clase

Código: text
carro = vehiculo()
print(carro)
# <__main__.vehiculo object at 0x000002605282C358>


Aquí en "carro" hay un objeto (o instancia) de la clase "Vehiculo".
Nuestra clase vehículo tiene cuatro atributos: número de ruedas, tipo de tanque, numero de asientos y velocidad máxima.

Establecemos todos estos atributos al crear un objeto de vehículo. Así que aquí, definimos nuestra clase para recibir datos cuando lo inicia:

Código: text
class vehiculo:
    def __init__(self, numero_de_ruedas, tipo_de_tanque, numero_de_asientos, velocidad_maxima):
        self.numero_de_ruedas = numero_de_ruedas
        self.tipo_de_tanque = tipo_de_tanque
        self.numero_de_asientos = numero_de_asientos
        self.velocidad_maxima = velocidad_maxima


Usamos el método "init". Lo llamamos un método constructor. Entonces cuando creamos el objeto del vehículo, podemos definir estos atributos. Imagine que tenemos el modelo S de Tesla, y queremos crear este tipo de objeto. Tiene cuatro ruedas, funciona con energía eléctrica, tiene espacio para cinco pasajeros y la velocidad máxima es de 250 km / hora. Vamos a crear este objeto:

Código: text
tesla_model_s=vehiculo(4, 'electrico', 5, 250)


Cuatro ruedas + "tipo de tanque" eléctrico + cinco asientos + 250 km / hora de velocidad máxima.
Todos los atributos están establecidos. Pero, ¿cómo podemos acceder a los valores de estos atributos? Enviamos un mensaje al objeto preguntando sobre ellos. Lo llamamos un método. Es el comportamiento del objeto. Implementémoslo:

Código: text
class vehiculo:
    def __init__(self, numero_de_ruedas, tipo_de_tanque, numero_de_asientos, velocidad_maxima):
        self.numero_de_ruedas = numero-de_ruedas
        self.tipo_de_tanque = tipo_de_tanque
        self.numero_de_asientos = numero_de_asientos
        self.velocidad_maxima = velocidad_maxima
   
    def numero_de_ruedas(self):
        return self.numero_de_ruedas
    def set_numero_de_ruedas(self, numero):
        self.numero_de_ruedas=numero


Esta es una implementación de dos métodos: "numero_de_ruedas" y "set_ numero_de_ruedas". Lo llamamos "getter" & "setter". Porque el primero obtiene el valor del atributo, y el segundo establece un nuevo valor para el atributo.

En Python, podemos hacer eso usando "@property" ("decorators") para definir "getters" y "setters". Veámoslo con el código:

Código: text
class vehiculo:
    def __init__(self,numero_de_ruedas, tipo_de_tanque, numero_de_asientos, velocidad_maxima):
        self.numero_de_ruedas = numero_de_ruedas
        self.tipo_de_tanque = tipo_de_tanque
        self.numero_de_asientos = numero_de_asientos
        self.velocidad_maxima = velocidad_maxima

#    @property
    def numero_de_ruedas(self):
        return self.numero_de_ruedas

#    @numero_de_ruedas.setter
    def set_numero_de_ruedas(self, numero):
        self.numero_de_ruedas=numero


Y podemos usar estos métodos como atributos:

Código: text
tesla_model_s=vehiculo(4, 'electrico', 5, 250)
print(tesla_model_s.numero_de_ruedas)
tesla_model_s.numero_de_ruedas=2
print(tesla_model_s.numero_de_ruedas)
#4
#2


Esto es ligeramente diferente a definir los métodos. Los métodos funcionan como atributos. Por ejemplo, cuando establecemos el nuevo número de ruedas, no aplicamos dos como parámetro, sino que establecemos el valor 2 en "numero_de_ruedas". Esta es una forma de escribir "getter" y "setter".
Pero también podemos usar métodos para otras cosas, como el método " make_noise ". Vamos a verlo:

Código: text
class vehiculo:
    def __init__(self,numero_de_ruedas, tipo_de_tanque, numero_de_asientos, velocidad_maxima):
        self.numero_de_ruedas = numero_de_ruedas
        self.tipo_de_tanque = tipo_de_tanque
        self.numero_de_asientos = numero_de_asientos
        self.velocidad_maxima = velocidad_maxima
    def make_noise(self):
        print('VRUUUUUUM')


Cuando llamamos a este método, simplemente devuelve una cadena " VRRRRUUUUM ".

Código: text
tesla_model_s = vehiculo (4,'electrico', 5, 250)
tesla_model_s.make_noise ()
#VRUUUUUUM



8 Encapsulación: ocultar información

La encapsulación es un mecanismo que restringe el acceso directo a los datos y métodos de los objetos. Pero, al mismo tiempo, facilita el funcionamiento de esos datos (métodos de objetos).

"La encapsulación se puede usar para ocultar los miembros de datos y la función de los miembros. Bajo esta definición, la encapsulación significa que la representación interna de un objeto generalmente se oculta a la vista fuera de la definición del objeto". - Wikipedia

Toda representación interna de un objeto está oculta desde el exterior. Solo el objeto puede interactuar con sus datos internos.
En primer lugar, tenemos que entender cómo "publico" y "no-publico" de instancia de variables y métodos de trabajo.


Variables de instancia pública

Para una clase de Python, podemos inicializar una variable de instancia pública dentro de nuestro método constructor. Veamos esto:

Dentro del método constructor:

Código: text
class persona:
    def __init__(self, primer_nombre):
        self.primer_nombre=primer_nombre


Aquí aplicamos el valor "primer_nombre" como argumento a la variable de instancia pública.

Código: text
an = persona ('AN')
print(an.primer_nombre)


Dentro de la clase:

Código: text
class persona:
    primer_nombre = 'AN'


Aquí, no necesitamos aplicar el "primer_nombre" como argumento y todos los objetos de instancia tendrán un "atributo de clase" inicializado con "an".

Código: text
an = persona()
print(an.primer_nombre)
#AN


Ahora hemos aprendido que podemos usar "variables de instancia publica" y "atributos de clase". Otra cosa interesante sobre las parte publicas es que podemos administrar el valor de la variable. ¿Qué quiero decir con eso? Nuestra "objeto" puede gestionar el valor de la variable: "Get" y "Set" valores de las variables.

Teniendo en cuenta la clase "persona", queremos establecer otro valor para la variable "primer_nombre":

Código: text
an = persona()
an.primer_nombre = 'Andrey'
print(an.primer_nombre)
#Andrey


Aquí vamos. Acabamos de establecer otro valor ("Andrey") a la variable "primer_nombre" de instancia y se actualizó el valor. Simple como eso. Como es una variable "publica", podemos hacer eso.


Variable de instancia no pública

Aquí no usamos el término "privado", ya que ningún atributo es realmente privado en Python (sin una cantidad de trabajo generalmente innecesaria). -  PEP 8

Como las variables de instancia publica, podemos definir "variables de instancia no-publica" ambos dentro del método constructor o dentro de la clase. La diferencia de sintaxis es: para "variables de instancia no-publica", usa un guión bajo ( _) antes del nombre de "variable".

Las variables de instancia "privadas" a las que no se pueden acceder, excepto desde dentro de un objeto, no existen en Python. Sin embargo, hay una convención que es seguida por la mayoría del código de Python: un nombre prefijado con un guión bajo (por ejemplo _spam) debe tratarse como una parte no pública de la API (ya sea una función, un método o un miembro de datos)". -  Python Software Foundation

Aquí hay un ejemplo:

Código: text
class persona:
    def __init__(self, primer_nombre, correo):
        self.primer_nombre = primer_nombre
        self._correo = correo


¿Viste la variable correo? Así es como definimos a la "variable no publica":

Código: text
an=persona('AN', '[email protected]')
print (an._correo)
# [email protected]


Podemos acceder y actualizarlo. "Variables no públicas" deben tratarse como una parte no pública de la API.
Entonces usamos un método que nos permite hacerlo dentro de nuestra definición de clase. Implementemos dos métodos ("correo" y "actualizar_correo") para entenderlo:

Código: text
class persona:
    def __init__(self,primer_nombre, correo):
        self.primer_nombre = primer_nombre
        self._correo = correo
    def actualizar_correo (self, nuevo_correo):
        self._correo = nuevo_correo
    def correo(self):
        return self._correo


Ahora podemos actualizar y acceder a "variables no públicas" usando esos métodos. Veamos:

Código: text
an=persona('AN', '[email protected]')
print (an._correo)

an._correo='[email protected]'
print(an._correo)

an.actualizar_correo('[email protected]')
print(an._correo)

# [email protected]
# [email protected]
# [email protected]


1 Iniciamos un nuevo objeto con "primer_nombre" AN y "correo" You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
2 Imprimió el correo electrónico accediendo al "variable no-publica" con un método
3 Intenté establecer una nueva "correo" de nuestra clase
4 Necesitamos tratar "variable no-publica" como "no-publico"
5 Actualizado "variable no-publica" con nuestro método de instancia
6 Podemos actualizarlo dentro de nuestra clase con el método de ayuda

Método Público

Con "métodos públicos", también podemos usarlos fuera de nuestra clase:

Código: text
class persona:
    def __init__(self, primer_nombre, edad):
        self.primer_nombre = primer_nombre
        self._edad=edad
    def ver_edad(self):
        return self._edad


Vamos a probarlo

Código: text
an=persona('AN', 23)
print (an.ver_edad())
# 23


Ahora podemos usarlo sin ningún problema.

Método no público

Pero con "métodos no publicos" nosotros no podemos hacerlo. Implementemos la misma clase "Persona", pero ahora con "_ver_edad" "método no-publico" usando un guión bajo ( _).

Código: text
class persona:
    def __init__(self, primer_nombre, edad):
        self.primer_nombre = primer_nombre
        self._edad = edad
    def _ver_edad(self):
        return self._edad


Y ahora, intentaremos llamar al "método no-publico" con nuestro objeto:

Código: text
an = persona ('AN',23)
print(an._ver_edad())  # 23


Podemos acceder y actualizarlo. "Metodos no-publicos" deben tratarse como una parte no pública de la API.
Aquí hay un ejemplo de cómo podemos usarlo:

Código: text
class persona:
    def __init__(self, primer_nombre, edad):
            self.primer_nombre=primer_nombre
            self._edad=edad
    def ver_edad(self):
            return self._obtener_edad()
    def _obtener_edad(self):
            return self._edad
an=persona('AN',23)
print(an.ver_edad())
# 23


Aquí tenemos a "_get_edad" "método no-publico" y a "ver_edad" "método publico". El "ver_edad" puede ser utilizado por nuestro objeto (de la clase) y "_obtener_edad" única a utilizarse dentro de nuestra definición de clase (dentro de "ver_edad" del método). Pero nuevamente: como una cuestión de convención.

Resumen de encapsulación

Con la encapsulación podemos garantizar que la representación interna del objeto esté oculta desde el exterior.


9 Herencia: comportamientos y características

Ciertos objetos tienen algunas cosas en común: su comportamiento y características.
Por ejemplo, heredé algunas características y comportamientos de mi padre. Heredé sus ojos y cabello como características, y su impaciencia e introversión como comportamientos.

En la programación orientada a objetos, las clases pueden heredar características comunes (datos) y comportamiento (métodos) de otra clase.

Veamos otro ejemplo e impleméntalo en Python.

Imagina un auto. El número de ruedas, la capacidad de asientos y la velocidad máxima son todos atributos de un automóvil. Podemos decir que una clase carroElectrico hereda estos mismos atributos de la clase normal de coches.

Código: text
class carro:
    def __init__(self, numero_de_ruedas, asientos, velocidad_maxima):
        self.numero_de_ruedas = numero_de_ruedas
        self.asientos = asientos
        self.velocidad_maxima = velocidad_maxima


Nuestra clase carro implementó:

Código: text
mi_carro = carro(4, 5, 250)
print(mi_carro.numero_de_ruedas)
print(mi_carro.asientos)
print(mi_carro.velocidad_maxima)
# 4
# 5
# 250


Una vez iniciado, podemos usar todo lo creado "variables de instancia".
En Python, aplicamos "parent class" a "child class" como parámetro. La clase "carroElectrico" puede heredar de nuestra clase carro.

Código: text
class carroElectrico:
    def __init__(self, numero_de_ruedas, asientos, velocidad_maxima):
        carro.__init__(self,numero_de_ruedas, asientos, velocidad_maxima)


Simple como eso. No necesitamos implementar ningún otro método, porque esta clase ya lo tiene (heredado de la clase carro). Vamos a probarlo:

Código: text
mi_carro_electrico = carroElectrico(4, 5, 250)
print(mi_carro_electrico.numero_de_ruedas)
print(mi_carro_electrico.asientos)
print(mi_carro_electrico.velocidad_maxima)


Nota: Si Desea la versión en notebook la puede descargar aquí: "You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login".

Extra: Lo siguiente es un diagrama titulado "Python en una imagen". Por cuestiones de calidad y comodidad dejo el link para verla en línea o descargarla. "You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login".





Python de Cero a Heroe [ 1 ]
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login




Cualquier error favor de comentarlo o comunicarmelo, tambien estoy aprendiendo y soy humano. xd.

Andrey...
#135
Python / Python [De Cero a Heroe] 1
Febrero 17, 2018, 10:26:45 PM

Lo básico

1 Variables

Son palabras que almacenan un valor.
Imagina que quieres almacenar el número 1 en una variable llamada "uno

Código: text
uno = 1


Y así se puede asignar cualquier otro valor a cualquier otra variable que se desee, siempre y cuando la variable no inicie con un número, tenga espacios o contenga símbolos especiales.
Además de números enteros también se pueden usar booleanos (verdadero/falso), cadenas, flotantes y otros tipos de datos.

Código: text
# booleans
true_boolean = True
false_boolean = False

# string
nombre = "Pablo"

# float
precio_libro = 15.80



2 Flujo de control: declaraciones condicionales

"If" evalúa si una declaración es cierta y ejecuta la instrucción o si es falsa.

Código: text
if True:
  print("Hola mundo")

if 2 > 1:
  print("Python")


2 es mayor que 1 así que mostrara "Python"
La instrucción "else" se ejecutara si la expresión "if" es falsa

Código: text
if  1  >  2 :
  print ( " 1 es mayor que 2 " )
else :
  print ( " 1 no es mayor que 2 " )


1 no es mayor que 2, por lo que se ejecutara el código dentro de la declaración "else"
También se puede utilizar la declaración "elif"

Código: text
if  1  >  2 :
  print ( " 1 es mayor que 2 " )
elif  2  >  1 :
  print ( " 1 no es mayor que 2 " )
else :
  print ( " 1 es igual a 2 " )



3 Loop / iteración

En Python se puede iterar de diferentes formas, a continuación dos de ellas: while y for

while: mientras que la declaración sea verdadera, se ejecutara el código del bloque, por lo tanto este código imprimirá el número del 1 al 10

Código: text
num = 1
while num <= 10:
    print(num)
    num += 1


El tiempo del bucle necesita una "condición de bucle". Si se mantiene verdadero, continúa iterando. En el ejemplo anterior, cuando num sea igual a 11 la condición del bucle será falsa asi que dejara de iterar.

Código: text
loop_condicion =  True
while loop_condition:
    print ( " La condición del bucle se mantiene: % s "  % (loop_condicion))
    loop_condicion =  False


La condición del bucle es "True" tal que sigue iterando, hasta que lo configuremos "False"
Para looping: aplica la variable "num" al bloque y a la instrucción "for" lo iterara por usted. Este código se imprimirá igual que el código de 1 a 10.

Código: text
for i in range ( 1, 11 ):
    print ( i )


Asi de simple el rango comienza con 1 y va hasta el 11| elemento (10 es el 10° elemento).


4 Lista: colección | Array | Estructura de datos

Imagina que deseas almacenar el numero entero 1 en una variable. Pero quizás ahora quieras almacenar 2, 3, 4, 5...
Existe otra forma de almacenar los datos que no sea en miles de variables.
"List" es una colección que se puede usar para almacenar una lista de valores.

Código: text
enteros = [ 1, 2, 3, 4, 5 ]


Es muy fácil. Creamos una matriz y almacenamos en "enteros"
Pero como obtener un valor de este conjunto.
"List" tiene un concepto llamado índice. El primer elemento obtiene el índice "0", el segundo el "1" y así sucesivamente.

Para ser más claro se puede representar en una matriz y cada elemento con su índice.
Array    5  7  1  3  4
Index    0  1  2  3  4

Usando la sintaxis de Python también es simple de entender:

Código: text
enteros = [5, 7, 1, 3, 4]
print(enteros[0]) # 5
print(enteros[1]) # 7
print(enteros[4]) # 4


Imagine que no desea almacenar números enteros. Si no almacenar cadenas, como una lista de nombres.

Código: text
nombres = [
  "Pablo",
  "Juan",
  "Luis",
  "Bruno",
  "Maria"
]
print(nombres[4]) # Maria


Funciona de la misma manera que los enteros
Acabamos de ver como "list" funciona con los índices. Pero aún se puede agregar un elemento a "list".
El elemento es utilizado para agregar un valor a un elemento en la lista este elemento es "append"

Código: text
libro = []
libro.append("Programacion")
libro.append("Computacion")
print(libro[0]) # Programacion
print(libro[1]) # Computacion


Ahora hablemos de estructura de datos.


5 Diccionario: estructura de datos clave-valor (key-value)

Ahora sabemos que "Lists" están indexados con números enteros. Pero, ¿y si no queremos usar números enteros como índices? Algunas estructuras de datos que podemos usar son numéricas, cadenas u otros tipos de índices.

Vamos a aprender sobre la estructura de datos "Diccionario", es una colección de pares clave-valor.

Código: text
Diccionario = {
  "key1": "value1",
  "key2": "value2",
  "key3": "value3"
}


La clave es el índice que apunta al valor. ¿Cómo accedemos al valor "Diccionario"? Lo has adivinado, usando la "llave" que en este caso estaría donde se encuentra "key". Vamos a intentarlo:

Código: text
diccionario = {
  "nombre": "Pablo",
  "apodo": "Paul",
  "nacionalidad": "Mexicana"
}

print("My nombre es %s" %(diccionario["nombre"])) # Mi nombre es Pedro
print("Pero puedes llamarme %s" %(diccionario["apodo"])) # Pero puedes llamarme Paul
print("Mi nacionalidad es %s" %(diccionario["nacionalidad"])) # Mi nacionalidad es Mexicana


Creé un "Diccionario" sobre: nombre, apodo y nacionalidad. Esos atributos son las llaves "Diccionario".
A medida que aprendimos cómo acceder el índice de uso "List", también usamos índices (claves en el contexto "Diccionario") para acceder al valor almacenado en "Diccionario".

En el ejemplo, se imprime una frase sobre Pablo, todos los valores almacenados en "Diccionario". Bastante fácil, ¿verdad?
Otra cosa interesante en "Diccionario" se puede usar cualquier cosa como valor. En el archivo creado "Diccionario", si quiero puedo agregar la clave "edad" y mi edad entera real en ella:

Código: text
diccionario = {
  "nombre": "Pablo",
  "apodo": "Paul",
  "nacionalidad": "Mexicana",
  "edad": 23
}

print("Mi nombre es %s" %(diccionario["nombre"])) # Mi nombre es Pablo
print("Pero puedes llamarme %s" %(diccionario["apodo"])) # Pero puedes llamarme Paul
print("Mi edad es %i años y %s" %(diccionario["edad"], "mi nacionalidad es %s" %diccionario["nacionalidad"])) # Mi edad es 23 años y mi nacionalidad es Mexicana


Aquí tenemos un par clave (edad) valor (24) usando una cadena como la clave y un entero como el valor.
Como hicimos con "Lists", aprendamos cómo agregar elementos a "Diccionario". La clave que apunta a un valor es una gran parte de lo que es "Diccionario". Esto también es cierto cuando estamos hablando de agregarle elementos:

Código: text
diccionario = {
  "nombre": "Pablo",
  "apodo": "Paul",
  "nacionalidad": "Mexicana"
}
diccionario['edad'] = 23
print(diccionario) # {'nacionalidad': 'Mexicana', 'edad': 23, 'apodo': 'Paul', 'nombre': 'Pablo'}


Solo debemos asignar un valor a un "Diccionario" clave. Nada complicado.


6 Iteración: bucle a través de estructuras de datos

La iteración "List" es muy simple. Comúnmente se utiliza "For". Vamos a hacerlo:

Código: text
estante = [
  "El arte de la intrusión",
  "El arte del engaño",
  "Las mil y una noches",
  "El arte de la guerra",
  "Programación"
]
for libro in estante:
    print(libro) # El arte de la intrusión, El arte del engaño, Las mil y una noches, El arte de la guerra, Programación


Entonces, para cada libro en la estantería, podemos imprimirlo. Bastante simple e intuitivo. Eso es Python.
Para una estructura de datos, también podemos usar el ciclo for, pero aplicamos "clave":

Código: text
diccionario = { "alguna_clave": "algun_valor" }
for clave in diccionario:
    print("%s --> %s" %(clave, diccionario[clave]))
# alguna_clave --> algun_valor


Este es un ejemplo de cómo usarlo. Para cada "clave" en el "diccionario", nosotros "print" "clave" y su correspondiente "valor".
Otra forma de hacerlo es usar el método "iter items".

Código: text
diccionario = { "alguna_clave": "algun_valor" }
for clave, valor in diccionario.items():
    print("%s --> %s" %(clave, valor))
# alguna_clave --> algun_valor


Nombramos los dos parámetros como "clave" y "valor", pero no es necesario. Podemos nombrarles cualquier cosa. Vamos a verlo:

Código: text
diccionario = {
  "nombre": "Pablo",
  "apodo": "Paul",
  "nacionalidad": "Mexicana",
  "edad": 23
}
for atributo, valor in diccionario.items():
    print("Mi %s es %s" %(atributo, valor))
# Mi nombre es Pablo
# Mi apodo es Paul
# Mi nacionalidad es Mexicana
# Mi edad es 23


Podemos ver que usamos atributos como parámetro para "Diccionario" "clave", y funciona correctamente.




Python de Cero a Heroe [ 2 ]
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login




Cualquier error favor de comentarlo o comunicarmelo, tambien estoy aprendiendo y soy humano. xd.

Andrey...
#136


Como cada temporada, este año nos ha traído algunas capturas increíbles, carreras de avanzada y dramáticos objetivos de campo de largo alcance. Pero hubo otro tipo de récord alcanzado esta temporada: uno destructivo, con unas asombrosas 281 contusiones desde la pretemporada de la NFL hasta hoy, de acuerdo con las estadísticas agregadas de la liga . Esa es la mayor cantidad de conmociones desde que la NFL comenzó a hacer un seguimiento hace seis años.

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

La NFL ha realizado un trabajo magistral en la integración de la violencia del juego, para que los fanáticos y espectadores no se sientan tan mal por lo que está sucediendo. Ninguna palabra ha protegido a la NFL de los verdaderos costos de esta violencia más que "conmoción cerebral". Esa palabra pone una barrera protectora entre nosotros y lo que realmente está pasando en el campo.

Demasiados de nosotros estamos bien con la violencia de la NFL, porque no conocemos a estos hombres.

No es un dolor de cabeza No es "hacer sonar tu campana". No tienes timbre. Es una lesión cerebral traumática . Cada conmoción cerebral es una nueva lesión cerebral traumática. Además de los desgarrados ACL y MCL, además de todos los horribles huesos rotos, la NFL diagnosticó al menos 281 lesiones cerebrales traumáticas esta temporada. Y ningún documento ha mostrado absolutamente el horror de todo esto como " Concussion Protocol ", una película de Josh Begley y Field of Vision.

Demasiados de nosotros estamos bien con esta violencia, en un nivel consciente o subconsciente, porque no conocemos a estos hombres.

A pesar de todas las afirmaciones sobre la protección de los jugadores de la NFL, este año hubo cientos de lesiones cerebrales traumáticas. La acumulación de esas lesiones cerebrales y todas las otras lesiones no diagnosticadas en los cerebros de los jugadores está causando una horrible enfermedad degenerativa del cerebro llamada Encefalopatía Traumática Crónica, más conocida como CTE.

Según expertos de la Universidad de Boston , CTE "es una enfermedad progresiva degenerativa del cerebro que se encuentra en personas con antecedentes de trauma cerebral repetitivo (a menudo atletas), incluidas las conmociones cerebrales sintomáticas, así como golpes subcutáneos asintomáticos en la cabeza que no causan síntomas . El trauma cerebral repetido desencadena la degeneración progresiva del tejido cerebral, incluida la acumulación de una proteína anormal llamada tau. Estos cambios en el cerebro pueden comenzar meses, años o incluso décadas después del último trauma cerebral o el final de la participación atlética activa. La degeneración cerebral se asocia con síntomas comunes de CTE que incluyen pérdida de la memoria, confusión, problemas de juicio, problemas de control de los impulsos, agresión, depresión, tendencias suicidas, parkinsonismo y, finalmente, demencia progresiva ".

El juego de fútbol, ​​como se juega ahora, está arruinando vidas. Esto no es una teoría Cuando la Universidad de Boston estudió los cerebros de 111 ex jugadores de la NFL, un devastador 110 de ellos tuvo CTE .

Durante el año pasado, he hablado con innumerables jugadores retirados de la NFL y sus familias que dicen que CTE los ha destruido. Un joven jubilado me dijo que su pérdida de memoria a corto plazo es tan mala que le cuesta recordar cómo llegar a casa y con frecuencia pierde su hilo de pensamiento en simples conversaciones telefónicas, y termina repitiendo el mismo pensamiento varias veces. Otros miembros de la familia me dijeron que CTE convertía a sus maridos e hijos y hermanos en monstruos que no podían controlar su ira, su ira y sus conductas autodestructivas a pesar del asesoramiento, la medicación y un sincero deseo de mejorar.

Cuando nuestro entretenimiento llega a costa de los cerebros de quienes nos entretienen, hemos pasado a una crueldad indefendiblemente cruel. A medida que estos riesgos se vuelven más conocidos, cada vez menos familias permiten que sus hijos jueguen . En algunas áreas prósperas, donde las familias no ven el juego como un medio para obtener una beca universitaria o una carrera final, los programas de fútbol se cierran por completo.

Mientras los conservadores de todo el país, incluido el presidente Donald Trump, se burlan de los jugadores de la NFL como "hijos de #u74" que son "ingratos" por lo que tienen, trate de recordar que estos hombres arriesgan sus vidas cada vez que salen a jugar al campo para entretener.

Claro, la NFL ha establecido un protocolo de conmoción cerebral, pero el daño continúa.




Fuente original: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

--- END NEWS... ---
#137
Agregando a el tema algo similar almenos eso parece...

Miren esto...

Creí que era una broma pero parece enserio...

#138
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Si señor excelente info, sin duda aquí voy consumiendo todo desde el principio y cada vez me voy metiendo mas en el tema, cuales creen que deben ser los conocimientos que debe tener una persona para adentrarse en este mundo de la AI y ML?

Saludos.

Programación, computación, manejo de datos, graficar, álgebra, quizá ecuaciones y calculo, logica, de momento y si no se me pasa nada creo eso seria lo medianamente necesario.

Se me pasaba, Inglés también ya que como minimo un 50% vas a interactuar en este idioma.
#139
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Excelente estos artículos Bro pienso consumirme toda esta info, cuando termine y me empape un poco mas del tema, que te parece organizar un grupo para empezar a materializar todo esto, que dices?----Avisame.

Me encanta la idea, lo pensare mejor y dependiendo los comentarios se hara, ya que si solo somos dos no tiene caso un grupo... jaja...

Un saludo...
#140
Hola en esta ocasión y como algo personal les quiero hablar sobre una de las miles de cosas que ocurren en el mundo, si así es estás pensando en tu próxima cita, en tu próxima adquisición, comprar una casa, tener familia, obtener un ascenso en tu trabajo, como tener contento al prójimo o algo del estilo, pues yo no, yo estoy preocupado por el entorno, si eso que llaman afuera mientras estas adentro, si eso...

Quiero comenzar diciendo que si alguna vez has donado a alguna organización ambientalista, ecológica o similar, solo fue para decir que lo hiciste, aparte de mencionarte que a estas no les importa su emblema o lo que dicen hacer.

Dirán y ¿cómo es posible? bueno, primero les comentare lo que se encuentra uno en internet y luego pasare a un ejemplo práctico, real hecho por mí.

Primero aclarar que me refiero a organizaciones como lo pueden ser PETA, GREENPEACE, WWF, etc...

Bueno, en fb un día de tantos me encontré una publicación de una campaña que invitaba a donar para reforestar en alguna parte del sur de Asia, ya que se encontraba en peligro por unas empresas que la utilizarían para producir algo que les dejaba dinero y esa planta era la palma de aceite, curiosamente esta publicación estaba patrocinada(por que aparecía como publicidad), bueno abrí las imágenes y me puse a analizar el entorno y típica imagen una persona de piel clara y una de piel obscura (muy típico en publicaciones para que cualquiera se solidarice), lo curioso era que al fondo aparecían las supuestas plantas que utilizarían para reforestar, curioseando la imagen hice un poco de zoom corte la parte donde aparecía una planta muy clara y mi primera búsqueda en san google fue, crecimiento de una palma de aceite, y sorpresa la reforestación era hacer lo que querían supuestamente evitar, las plantas al fondo eran palma de aceite, quizá dijeron nadie va a darse cuenta, yo que sé, el caso esta era un hábitat de orangutanes y como dato extra, la publicación era pagada por Green Peace.

Tenía otro ejemplo pero las ganas de redactar lo siguiente no me permiten pensar en otra cosa...

Quizá quieran más ejemplos con pruebas pero esto es internet, lo que les enseñe es fácilmente manipulable, pero lo siguiente es algo que realice.

Un día de tantos en los que me levanto con ganas de cambiar el mundo (quien no tiene uno de esos) me decidí a mandar un correo a PETA (Personas por la Ética en el Trato de Animales) así es se dedican prácticamente a vigilar y proteger los animales, en fin mi correo era más o menos así.

------------------------------------------------------------------------------
Duda acerca del seguimiento a los animales.

Buenas, he visto su apoyo a leyes en México contra el uso de animales en circos en 2014, eso está perfecto, pero tienen un registro o algún tipo de información acerca de donde terminaron esos animales luego de que los circos los abandonaron, estatus de todos, condiciones de reintegración a entornos nuevos para ellos, por su costumbre de algunos por haber nacido la gran mayoría en cautiverio. Me encantaría que me pudieran enviar información, y como utilizan las donaciones a estos casos o que hicieron con los animales. Gracias. Un saludo.
------------------------------------------------------------------------------

Pensé no gano ni pierdo nada y quien de esas organizaciones responde a cualquiera que le mande correo pff nadie. Para mi sorpresa a la semana de haber mandado el correo recibí una respuesta, la cual es muy curiosa y obviamente les tengo el análisis de esta respuesta:


Como se darán cuenta incluye muchos links así que hay mucho que analizar. Primero que nada la página de Peta es simplemente como un noticiero de cosas que ocurren y solo eso, es como que hagas una página donde solo publiques tus fotos de lo mejor que te ocurre y lo feo nadie lo ve, es como el fb de todos, bueno el botón que está en casi toda la página de PETA es el de "Donar" que raro.

El primer link es una página donde supuestamente se encuentran los refugios y cualquiera pensaría, bueno deben ser públicos y accesibles ya que se mantienen con donaciones, pues no, la ubicación te aparece en lugares al azar en un mapa del mundo que obviamente no tiene zoom, con una leyenda en la parte posterior que dice "Nota: Los pasadores están cerca del área del santuario, por razones de seguridad, pueden no señalar la ubicación exacta del santuario" excelente una página para decir donde están sin decir donde están, me encanta. También mencionar que para cada animal tiene una subpágina propia para administrar a continuación unos ejemplos al azar:

Animales de Asia: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Caballos: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Animales de granja: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Más equinos: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Esos solo por poner ejemplos pero solo en esa página cuentan con con 157 subpáginas para supuesto rescate de animales. Esto solo en el primer link.

El segundo link solo lleva a una noticia que parece yo escribiendo una nota de niño, en toda ocasión dice "supuestamente", "según", y palabras que no son concretas ósea no tienen ni idea de lo que ocurre. Por cierto dentro de la noticia hay una subnoticia en la que un ex dueño de uno de los animales dice y lo cito "La autoridad nunca cumplió con la creación de los santuarios, esa es la mentira más grande que existe", aparte de mencionar que fueron presionados por santuarios para deshacerse de los animales.
Con esto demuestran que ni si quiera leyeron las notas que me adjuntaron.

El link siguiente es otra simple noticia de un ejemplo al azar y sin contexto de lo que le preguntaba. En ella apoyaban la prohibición de animales de circo en México obviamente sin seguirles la pista a ellos.

Después me dicen ponte en contacto con la PROFEPA para mas información, deslindándose de toda responsabilidad cuando se supone que ellos son los principales.

Y el último link el cual simplemente lleva a su página de nuevo donde según ellos saben cómo defender a los animales en entrenamiento.

Conclusión

Si leíste todo excelente te gusta la lectura y la mala redacción (perdonen, la redacción no es lo mío... xd) o estas preocupado y si no pues obviamente no importa porque no estás leyendo esto.

He leído mas artículos y documentos partiendo desde una posición neutra para poder ver las cosas y poder estar de acuerdo con alguien.

Llegue a la conclusión de que las organizaciones son utilizadas para mover dinero vamos a llamarlo "mal adquirido" sin que se den cuenta porque en las notas gubernamentales aparecen como donaciones, así nadie investigara, si tienes una empresa que debe mucho simplemente donas una parte a alguna de estas organizaciones y sorpresa estas libre de impuestos, ya que por si no lo saben las donaciones son deducibles de impuestos y que es lo que pasa cuando es una donación muy grande y llegas a un trato con estas organizaciones pues les dices regrésame una parte y tu quédate con la otra, de perder todo a una parte pues se acepta, y aquí es donde entran todas estas sub páginas, ¿qué pasa si el dinero de una cuenta grande se distribuye en varias pequeñas, para que lo muevan y luego lo regresen a otra cuenta grande para volver a juntarlo todo? exacto se vuelve irastreable.

En fin esta fue una pequeña investigación bajo mis parámetros, condiciones y alcance. Cada quien es libre de decidir si está a favor o en contra de lo aquí redactado.

Me despido simplemente pensando que este mundo será menos bello con cada especie de flora y fauna fuera de él.

Un saludo
Andrey...