slide1

Alt1040. Noticias acerca de Internet, diseño, música, cine, opiniones, weblogs y medios

Es uno de los weblogs de tecnología más seguidos de la blogosfera hispana.

slide2

Bitelia. Blog de software, internet y servicios web

Software y aplicaciones para mejorar tu vida, guías de uso, trucos, listas, noticias y todo sobre tecnología.

slide3

Xataka. Publicación de noticias sobre gadgets y tecnología.

Últimas tecnologías en electrónica de consumo y novedades tecnológicas en móviles, tablets, informática, etc.

slide4

Wwwhatsnew. Aplicaciones, marketing y noticias en la web.

Servicios que os pueden ser útiles para dibujar, gestionar tareas, hacer amigos, encontrar restaurantes...

slide5

Fayerwayer. Discusiones y opiniones de lo ultimo en tecnología y gadgets

Con secciones dedicadas a Internet, Software o Redes Sociales es un referente a nivel de tecnología en español.

Mostrando entradas con la etiqueta Todo Google. Mostrar todas las entradas
Mostrando entradas con la etiqueta Todo Google. Mostrar todas las entradas

10 de enero de 2019

Aprende a programar javascript con Grasshopper, la app de Google para iOS y Android

Javascript Programming
Grasshopper (saltamontes en español) es una aplicación para dispositivos móviles diseñada para enseñar a codificar Javascript real.
Es una app gratuita, orientada a perfiles sin experiencia en programación, que cubre los conceptos básicos de programación.


Grasshopper es una de las últimas creaciones del taller para productos experimentales de Google, Área 120 que forma parte de Google Inc. Se trata de una incubadora dónde los trabajadores de Google lanzan docenas de ideas novedosas, que luego (las que prosperan) se abren al público en sus versiones beta. Grasshopper se lanzó en abril del pasado año.

El nombre Grasshopper rinde honor a Grace Hopper, uno de los primeros pioneros en la programación de computadoras.


Grasshopper App


1. ¿Qué conceptos básicos de JavaScript cubre?


Actualmente, Grasshopper enseña a utilizar el popular lenguaje de programación JavaScript, utilizado por más del 70% de los desarrolladores profesionales.

Grasshopper usa JavaScript para enseñar conceptos de programación fundamentales que son universales para casi todos los lenguajes de programación:

  • Los fundamentos: cómo funciona el código, funciones, variables, cadenas, bucles for, arrays, condicionales, operadores, objetos y cómo todos estos elementos interaccionan entre sí.
  • Animaciones I: dibuja formas utilizando la popular librería 3D, definiendo funciones, callbacks y animaciones.
  • Animaciones II: creación de funciones más complejas con 3D y los temas del curso The Fundamentals.

2. ¿Qué debo hacer después de usar Grasshopper?


Si has disfrutado de Grasshopper y deseas llevar sus habilidades de codificación al siguiente nivel, el equipo ha identificado varias opciones en las que puedes continuar su viaje de codificación:

  • Seguir recibiendo clases en línea:: nos hemos asociado con Coursera, una compañía que trabaja con las principales universidades para ofrecer cursos online. Estas son algunas de las clases que ofrecen y que podrían ser el próximo paso perfecto después de completar The Fundamentals:
    * Fundamentos de programación con JavaScript, HTML y CSS
    * Algoritmos, Parte 1
    * Especialización en diseño web + Portafolio y certificado
  • Ir a un bootcamp: para los estudiantes con sede en EEUU, en Seattle, St. Louis, Kansas City, Miami o Tampa, también nos hemos asociado con LaunchCode, una organización sin fines de lucro, para ofrecer campos de entrenamiento de codificación gratuitos a un número selecto de estudiantes.
    Puedes registrarte aquí.
Además, si estás interesado en una carrera basada en la tecnología, considera inscribirte en el programa de Certificación Profesional de Soporte de TI de Google + Coursera.


Grasshopper App


3. ¿Cómo puedo obtener la aplicación?



4. ¿Qué debo hacer si quiero eliminar mi cuenta de Grasshopper?


Envía un correo electrónico a grasshopper-support@google.com y el equipo de soporte te ayudará a eliminar tu cuenta.


16 de julio de 2018

El proyecto Chromium: marcando HTTP como no seguro

Secure HTTPS
HTTPS es importante porque proporciona seguridad crítica e integridad de datos para tus sitios web y para la información personal de tus usuarios. Además, es un requisito para varias funciones del nuevo navegador, en especial las requeridas para el uso de progressive web apps.


Para la ejecución de nuevas y potentes funciones de las plataformas web, como la toma de fotografías o grabación de audio, o la habilitación de experiencias de apps sin conexión con procesos de trabajo de servicio, se requieren permisos explícitos de los usuarios. Además, muchas otras API más antiguas se están actualizando para exigir permiso de ejecución; por ejemplo, la API de ubicación geográfica.

HTTPS es un componente clave de los flujos de trabajo de permisos, tanto para estas funciones nuevas como para las API actualizadas.

Chromium es el proyecto de código abierto de navegador web del que Google Chrome obtiene su código de fuente.

A continuación se muestra la propuesta original para marcar HTTP como no seguro.

Cronología


Enero de 2017 (fase 1)


Entra en vigencia: enero de 2017 (Chrome 56)
Anuncio: avanzar hacia una web más segura (8 de septiembre de 2016)

En esta fase, las páginas HTTP se marcarán con "No seguro" en la barra de navegación (URL) bajo las siguientes condiciones:

  • La página contiene un campo de contraseña.
  • El usuario interactúa con un campo de tarjeta de crédito.


Password and credit card form fields


Octubre de 2017 (fase 2)


Entra en vigencia: octubre de 2017 (Chrome 62)
Anuncio: próximos pasos para una mayor seguridad de conexión (27 de abril de 2017)

En esta fase, las páginas HTTP se marcarán con "No seguro" en la barra de navegación (URL) bajo las siguientes condiciones:

  • El usuario está navegando en el modo incógnito de Chrome.
  • La página contiene un campo de contraseña.
  • El usuario interactúa con cualquier campo de entrada.


Form and incognito http bad verbose


Julio de 2018 (fase 3)


Entra en vigencia: julio de 2018 (Chrome 68)
Anuncio: una web segura llegó para quedarse (8 de febrero de 2018)

En esta fase, todas las páginas HTTP se marcarán con "No seguro".

Marking http as non secure


Septiembre de 2018


Entra en vigencia: septiembre de 2018 (Chrome 69)
Anuncio: evolución de los indicadores de seguridad de Chrome (17 de mayo de 2018)

En esta fase, las páginas seguras se marcarán de forma más neutral en lugar de afirmativamente seguras.

Http bad september 2018


Octubre de 2018


Entra en vigencia: octubre de 2018 (Chrome 70)
Anuncio: evolución de los indicadores de seguridad de Chrome (17 de mayo de 2018)

En esta fase, las páginas HTTP se marcarán como afirmativamente "No seguro" usando color rojo y el icono no seguro en la barra de direcciones si el usuario interactúa con cualquier campo de entrada.

Treatment of HTTP Pages with User Input


Previsiones


Todavía no hay una fecha objetivo para el estado final, pero se tiene la intención de marcar todas las páginas HTTP como afirmativamente no seguras a largo plazo (al igual que otras páginas no seguras, como páginas con broken HTTPS).

Eventual treatment of all HTTP pages in Chrome


Preguntas frecuentes


¿Esto inhabilitará los sitios HTTP simples?


No. Los sitios HTTP continuarán funcionando; actualmente no existen planes para bloquearlos en Chrome. Todo lo que cambiará es el (los) indicador (es) de seguridad.

¿Los certificados de seguridad son costosos o difíciles de obtener?


Actualmente, algunos proveedores ofrecen certificados gratuitos o muy baratos. El proyecto Let's Encrypt facilita la obtención de certificados gratuitos (incluso para muchos subdominios a la vez, o con comodines).

¿Los certificados son difíciles de configurar?


Let's Encrypt ha desarrollado un protocolo simple de código abierto para configurar certificados de servidor.

SSLMate actualmente ofrece un servicio similar por una tarifa.

Los servicios como Cloudflare actualmente ofrecen certificados SSL/TLS gratis para los sitios alojados a través de su plataforma, y los proveedores de hosting realizarán procesos de automatización para todos los usuarios una vez que los certificados gratuitos sean comunes.

Para aquellos que no tengan un dominio personalizado, hay varias opciones de alojamiento que admiten HTTPS de forma gratuita, por ejemplo, GitHub Pages, servicios de blog, Google Sites y Google App Engine.

A partir de 2018, muchos proveedores de alojamiento incluso admiten activar HTTPS con una sola casilla de verificación.

¿SSL/TLS es lento?


No necesariamente. Una vez que habilite y optimice su pila TLS, también estará en camino de implementar HTTP/2.
A diferencia de HTTP/1.1, HTTP/2 requiere solo una conexión por origen, lo que significa menos sockets, búferes de memoria, handshakes de TLS, y más.

Más información: https://istlsfastyet.com/


Consulte también las preguntas frecuentes acerca del protocolo HTTPS en el blog de Mozilla:

Deprecating Non-Secure HTTP - Frequently Asked Questions


7 de mayo de 2018

Emoji Scavenger Hunt: el juego de Google que utiliza el aprendizaje automático

Emoji Scavenger Hunt
La Inteligencia Artificial (AI) está detrás de muchos de los productos de Google. En algunos casos, son experimentos simples que hacen que sea muy fácil para cualquier persona comenzar a explorar el aprendizaje automático, a través de imágenes, dibujos, lenguaje, música, etc.


Emoji Scavenger Hunt un original y divertido juego web para dispositivos móviles que consiste en encontrar los emojis que te muestra el juego en el mundo real con la cámara de tu teléfono.

Para ello dispones de un tiempo limitado y si localizas el emoji, tendrás que ubicar otro diferente. Cada emoji localizado en la vida real suma un punto y una vez finalizada la partida podrás compartir tu puntuación en las redes sociales.


Emoji Scavenger Hunt


Emoji Scavenger Hunt 🕵️♀️ está impulsado por Tensorflow.js, un framework de código abierto para el aprendizaje automático con JavaScript.

Funciona así: el juego te mostrará un emoji, y debes encontrar su versión del mundo real antes de que expire el tiempo. Mientras buscas, la red neuronal de imágenes intentará adivinar lo que está viendo.





Emoji Scavenger Hunt


Emoji Scavenger Hunt


Links:




16 de abril de 2018

WebAuthn, el estándar que apoyan Google, Microsoft y Mozilla para acabar con las contraseñas

WebAuthn Interface

La FIDO Alliance y el World Wide Web Consortium (los consorcios que regulan los estándares en el uso de la web) han alcanzado un hito en el estándar global para ofrecer una autenticación web simplificada pero más robusta para los usuarios a nivel mundial.


Han sido cerca de dos años de intenso trabajo que han dado como fruto el anuncio oficial y la disponibilidad de este nuevo estándar que pone orden y unifica los primeros acercamientos hacia sistemas de identificación biométricos que algunas firmas estaban ya empleando.

WebAuthn define una API web estándar que se puede incorporar en los navegadores y ofrece a los usuarios nuevos métodos para autenticarse de forma segura en la web, en el navegador y en todos los sitios y dispositivos.

Se trata de un componente central del Proyecto FIDO2, que junto con la especificación del Protocolo Cliente a Autenticador (CTAP) de FIDO, permite que un autenticador externo, como una llave de seguridad o un teléfono móvil, transmita credenciales de autenticación sólidas a través de USB, Bluetooth o NFC al dispositivo del usuario.

Google, Microsoft y Mozilla se han comprometido a respaldar el estándar WebAuthn en sus navegadores insignia (Google Chrome, Microsoft Edge y Mozilla Firefox respectivamente) y han comenzado a implementarlo para plataformas Windows, Mac, Linux, Chrome OS y Android.

Además de los principales navegadores, el nuevo estándar será implementado poco a poco por las organizaciones de todo el globo, con la ventaja adicional de que las especificaciones de FIDO2 son totalmente compatibles con la autenticación FIDO, el estándar anterior, con lo que su aplicación será mucho más sencilla para los desarrolladores.

El siguiente paso lo darán los grandes (Microsoft, Google, Facebook y Apple) aplicando el nuevo estándar en sus sistemas y logrando que el usuario solo necesite su huella, rostro o bien un dispositivo móvil para identificarse de forma segura y sin necesidad de recordar complejas contraseñas.


Password Security


Beneficios del proyecto WebAuthn y FIDO2


La API WebAuthn del W3C permite credenciales fuertes, únicas y basadas en claves públicas para cada sitio, eliminando el riesgo de que una contraseña robada de un sitio web pueda ser usado en otro.

  • Autenticación simple » los usuarios simplemente inician sesión usando:

    1- Autenticadores internos o incorporados (como huellas digitales o biometría facial) en PC, laptops y/o dispositivos móviles.

    2- Autenticadores externos (como claves de seguridad y dispositivos móviles) para la autenticación de dispositivo a dispositivo utilizando CTAP.

  • Autenticación más fuerte » la Autenticación FIDO es mucho más sólida y tiene estas ventajas:

    1- Las credenciales de usuario y las plantillas biométricas nunca salen del dispositivo del usuario y nunca se almacenan en servidores.

    2- Las cuentas están protegidas de ataques de phishing, man-in-the-middle y otros mecanismos que usan contraseñas robadas.

  • Los desarrolladores pueden comenzar a crear aplicaciones y servicios que aprovechan la Autenticación FIDO en la nueva página de recursos para desarrolladores de FIDO.

Acerca de la Alianza FIDO


La Alianza FIDO (Fast IDentity Online), se creó en julio de 2012 para resolver la falta de interoperabilidad entre las tecnologías de autenticación fuerte y remediar los problemas a los que se enfrentan los usuarios para crear y recordar diversos identificadores de usuario y contraseñas.

La Alianza planea cambiar la naturaleza de la autenticación con el desarrollo de especificaciones basadas en estándares para una autenticación más sencilla y a la vez más fuerte que defina un conjunto abierto, escalable e interoperable de mecanismos que reduzcan la dependencia de las contraseñas.

La autenticación FIDO es más fuerte, privada, y más fácil de usar en la autenticación de servicios online.

Alianza Fido

Acerca del W3C


La misión del World Wide Web Consortium (W3C) es llevar a la Web a su máximo potencial mediante la creación de normas técnicas y directrices para garantizar que la Web permanezca abierta, accesible e interoperable para todos en todo el mundo.

El W3C desarrolla especificaciones bien conocidas como HTML5, CSS y Open Web Platform, además de trabajar en seguridad y privacidad, todas creadas para todo el mundo y provistas de forma gratuita y bajo la exclusiva Política de Patentes del W3C.

W3C

Lee el comunicado de prensa y los testimonios de los miembros del W3C.


15 de marzo de 2018

Principales características de Google Domains, el servicio de registro de dominios de Google

En 2015, la compañía lanza Google Domains para ayudar a las empresas a encontrar y comprar dominios relevantes. Inicialmente el servicio sólo estaba disponible en Estados Unidos pero en la actualidad también se puede utilizar en Australia, Brasil, Canadá, España (está en fase beta), Francia, India, Indonesia, Italia, Japón, México, Países Bajos, Reino Unido, Tailandia y Vietnam.


En Google Domains puedes:

  • buscar nombres de dominio.
  • comprar uno.
  • administrar y renovar el registro.
  • transferir uno de tus dominios a otro registrador.
  • transferir dominios entre propietarios dentro de Google Domains.
  • reenviar tráfico de tu dominio directamente a un sitio web ya disponible.
  • integrar tu dominio con hosts web para así darle presencia web.

Google Domain incluye una búsqueda inteligente que no solo sugiere nombres de dominio basados ​​en palabras clave exactas, sino también dominios relacionados.

Google Domains - Palabras Relacionadas
(haz click en la imagen para ampliarla)


Además, te muestra todas las terminaciones disponibles para esa expresión por orden alfabético.

Google Domains - Terminaciones
(haz click en la imagen para ampliarla)


Los nombres de tus dominios figuran en una lista por orden alfabético, e incluyen el estado de renovación del registro y la fecha de finalización.

Google Domains - Tecnoblog.guru
(haz click en la imagen para ampliarla)


Compra de Dominios


Los precios en Google Domains son por año de registro y varían en función del dominio de nivel superior (TLD), como ".com", ".org" o ".company".

Cuando "compras" un dominio, en realidad estás registrándolo durante un periodo de tiempo que puede variar entre uno y diez años, además de pagar las cuotas de registro asociadas. Durante el periodo de registro conservas los derechos del dominio. Como es posible renovar el registro de un dominio indefinidamente, al solicitante de registro de un dominio se le suele llamar "el propietario" del dominio.

Si no tienes claro durante cuántos años quieres conservar el dominio, selecciona un año para adquirirlo y más adelante podrás añadir años adicionales. También puedes activar la opción para que Google Domains lo renueve automáticamente cada año.

Dominios premium


Los dominios premium son dominios que están a la venta (o reventa) a un precio exclusivo.

Hay dos tipos:

1- Dominios premium de mercado secundario: son dominios que se revenden a cambio de una tarifa exclusiva. Tras comprarlo, puedes añadir más años al registro y renovarlo por el precio habitual del TLD del dominio (por ejemplo, 12 USD al año en el caso de un dominio .com).

2- Dominios de registro premium: son dominios que ofrece el registro a cambio de una tarifa premium. En la mayoría de casos, las transferencias, años adicionales de registro, renovaciones y restauraciones se cobran a un precio distinto al precio base del TLD (habitualmente, el mismo que el precio premium inicial).

Para adquirir un dominio premium, es posible que debas pagar un recargo una sola vez. El precio lo define el solicitante de registro. Este importe se añade a la cuota de registro de Google Domains.

Asimismo, debes tener en cuenta que el tiempo de procesamiento puede aumentar (de varios minutos a varios días) porque, contrariamente a cuando se compra un dominio normal, un dominio premium debe transferirse del solicitante de registro a ti.

Reenvío de correos electrónicos


Crea hasta 100 alias de correo o una dirección comodín (*) que reenvíe los mensajes a tu dirección de correo electrónico actual.

El * es un comodín que representa cualquier dirección que no hayas nombrado de forma explícita.

Por ejemplo, imagina que configuraste el reenvío de correos electrónicos de la siguiente forma:

  • Reenvío de “ventas” a larry@ejemplo.com: Larry recibirá el correo electrónico de ventas@.
  • Reenvío de “ayuda” a yu@ejemplo.com: Yu recibirá el correo electrónico de ayuda@.
  • Reenvío de “*” a roberto@ejemplo.com: Roberto recibirá el correo electrónico del resto de las direcciones, como asdf@ y prueba@.

En resumen, utilizar un comodín te brinda un número infinito de alias de correo electrónico que se reenvían a una sola dirección.

Subdominios personalizables


Personaliza tu dominio con más de cien subdominios, como blog.ejemplo.com y shop.ejemplo.com.
Esto te permitirá crear páginas únicas dentro de tu sitio web.

Servidores de nombres


Los servidores de nombres almacenan la configuración de tu dominio como una colección de registros de recursos. Si no usas los servidores de nombres de Google Domains puedes incorporar hasta 12 servidores de nombres personalizados y configurar tu dominio con tu proveedor externo de DNS.

Si ya tienes un sitio web o un blog al que quieres que dirija tu dominio, tienes dos opciones:

1- Puedes utilizar la opción de reenvío de dominios para redirigir el tráfico a un sitio web.

2- Muchos proveedores de alojamiento web y muchas herramientas online permiten utilizar el dominio como la dirección del sitio web:


Herramientas simples para la administración de dominios


Tendrás a tu disposición un conjunto de herramientas de administración de dominios completo, sólido y fácil de usar que te permitirá:

  • Configurar un DNS dinámico para hacer que su dominio se dirija siempre a la misma computadora, incluso si cambia la dirección IP.
  • Agregar y administrar registros de recursos: A, AAAA, CNAME, MX, NS, PTR, SOA, SPF, SRV, TXT.
  • Usar los registros sintéticos de Google para la integración con Google App Engine, el reenvío de subdominios y la configuración de G Suite.
  • Agregar y administrar servidores de nombres.
  • Configurar el TTL.
  • Bloquear dominios.




10 de marzo de 2018

Inscripciones abiertas para Code Jam 2018

Únete a la comunidad Code Jam y enfréntate a una serie de problemas algorítmicos para tener la oportunidad de ganar el título de Code Jam Champion en la final de Toronto (Canadá) y obtener un premio valorado en 15.000 dólares.
La ronda de clasificación comienza el próximo 6 de abril a las 23:00 UTC.


¿Qué es Code Jam?


Code Jam es una iniciativa organizada por Google que reta a los programadores de todo el mundo a que pongan a prueba sus habilidades resolviendo múltiples rondas de problemas de algoritmia.
Se permite el uso de cualquier lenguaje de programación y entorno de desarrollo para dar solución a estos problemas.

Esta competencia de programación internacional comenzó en el año 2003 como un medio para identificar a los mejores talentos de ingeniería para un empleo potencial en la compañía Google y consiste en un conjunto de problemas algorítmicos que deben resolverse en un período de tiempo fijo.

A partir de 2015, Google también lleva a cabo Distributed Code Jam (Code Jam Distribuida), con el foco en algoritmos distribuidos. Este se ejecuta en paralelo con el Code Jam regular, con su propia calificación y ronda final, para obtener un premio máximo de $10,000, pero solo está abierto para las personas que clasifiquen a la ronda 2 de Code Jam (hasta 3000 personas).




Resultados de Code Jam 2017


Los 26 mejores concursantes lucharon durante cuatro horas extenuantes de competencia en Dublín, Irlanda, pero finalmente Gennady Korotkevich de Bielorrusia se llevó el título de Code Jam 2017 World Champion y el premio de $15,000.


Finales Mundiales de Code Jam 2017


Transmitido en tiempo real el 11 de agosto de 2017.
Tiempo de grabación: 5:48:34



Aprende más



Code Jam en las redes sociales



Otras competiciones de codificación de Google


  • Kickstart para estudiantes universitarios que buscan desarrollar sus habilidades de codificación y seguir una carrera en Google.
  • Código Hash para estudiantes de África, Europa y Oriente Medio que buscan trabajar en equipo con problemas reales de Google.




11 de diciembre de 2017

Las aplicaciones de Chrome dejarán de funcionar en Windows, Mac y Linux a partir del primer trimestre de 2018

La compañía Google remite la información a través de un email del tipo "Ha recibido este correo electrónico porque tiene al menos una aplicación de Chrome publicada en la Chrome Web Store. Está programado que las aplicaciones de Chrome dejen de funcionar en Windows, Mac y Linux en el primer trimestre de 2018 aunque Chrome OS seguirá siendo compatible con las aplicaciones de Chrome".


En la segunda mitad de 2017, Chrome Web Store ya no mostrará aplicaciones de Chrome en Windows, Mac y Linux, pero continuará mostrando extensiones y temas. A principios de 2018, los usuarios de estas plataformas ya no podrán cargar aplicaciones de Chrome.

Las aplicaciones de Chrome se eliminarán de las funciones de búsqueda y exploración de Chrome Web Store a mediados de diciembre de 2017, aunque todavía serán indexadas en los buscadores.

¿Qué son las aplicaciones de la Chrome Web Store?


Son aplicaciones de Chrome para tu ordenador que ofrecen funciones parecidas a las de los programas que se instalan, pero siempre están actualizadas con la última tecnología web.
Te permiten usar HTML5, CSS y JavaScript para ofrecer una experiencia comparable a una aplicación nativa.

Además, si inicias sesión en Chrome, puedes acceder a tus aplicaciones web favoritas desde cualquier lugar.

Una vez que hayas instalado una o varias aplicaciones desde la Chrome Web Store, podrás acceder a ellas desde escribiendo en la barra de direcciones la url chrome://apps/

Puedes reordenar tus aplicaciones arrastrándolas y soltándolas donde quieras u organizarlas en diferentes paneles que puedes crear en la página.


Chrome Apps

¿Por qué han decidido no darle continuidad a esta tecnología?


Según los datos estadísticos, actualmente, aproximadamente el 1% de los usuarios de Windows, Mac y Linux usan activamente aplicaciones empaquetadas de Chrome, y la mayoría de las aplicaciones alojadas ya están implementadas como aplicaciones web normales.

Si accedemos al blog oficial de Chromium (https://blog.chromium.org/2016/08/from-chrome-apps-to-web.html), argumentan:

"Siempre hemos creído en hacer que la web abierta e interoperable sea lo más sólida posible. Por un tiempo hubo ciertas experiencias que la web no pudo proporcionar, como trabajar fuera de línea, enviar notificaciones y conectarse al hardware. Lanzamos aplicaciones de Chrome hace tres años para cerrar esta brecha.

Junto con otros proveedores de navegadores, seguimos comprometidos con la inversión en la web y permitiendo a los usuarios y desarrolladores beneficiarse de su apertura y alcance"
.

El equipo de Chrome ahora está trabajando para permitir el uso de Progressive Web Apps (PWA) que se instalan en el escritorio.
Una vez que esté implementada su funcionalidad (mediados de 2018), los usuarios podrán instalar aplicaciones web en el escritorio y lanzarlas a través de iconos y accesos directos; similar a la forma en que las aplicaciones de Chrome se puede instalar en la actualidad.

¿Qué son las Aplicaciones Web Progresivas o "Progressive Web Apps"?


Una PWA utiliza las últimas tecnologías disponibles en los navegadores para ofrecer una experiencia lo más parecida a la de una aplicación nativa.

Las Progressive Web Apps son experiencias que combinan lo mejor de la Web y lo mejor de las Apps. Están disponibles para los usuarios a partir de la primera visita en una pestaña del navegador y no requieren instalación. Se carga rápidamente, incluso con redes débiles, envía notificaciones push relevantes, tiene un ícono en la pantalla principal y se carga como experiencia de pantalla completa y de primer nivel.

Características principales:

  • Progresiva: funciona para todos los usuarios, sin importar la elección de navegador, porque está construida con mejora progresiva como principio fundamental.
  • Adaptable: se adapta a cualquier factor de formulario, sea escritorio, dispositivo móvil, tablet o lo que venga en el futuro.
  • Independiente de la conectividad: mejorada con service workers para trabajar sin conexión o con redes de mala calidad.
  • Estilo app: al usuario le parece una app con interacciones y navegación estilo app, porque está construida con modelo de shell de app.
  • Actualizada: gracias al proceso de actualización de service worker.
  • Segura: emitida vía HTTPS para evitar intromisiones y para garantizar que el contenido no se haya manipulado.
  • Descubrible: se puede identificar como "app" gracias al manifiesto W3C y al alcance de registro de service worker, lo que permite que los motores de búsqueda la encuentren.
  • Posibilidad de volver a interactuar: facilita la posibilidad de volver a interactuar a través de funciones como notificaciones push.
  • Instalable: les permite a los usuarios "conservar" las apps que les resultan más útiles en su pantalla principal sin la molestia de una tienda de app.
  • Vinculable: se puede compartir fácilmente vía URL, no requiere instalación compleja.

Más información: https://developers.google.com/web/progressive-web-apps/

Página de Google Developers para desarrollar tu primera PWA: https://codelabs.developers.google.com/codelabs/your-first-pwapp/

Vídeo introductorio de Sam Birch, director de producto en Chrome para Android:



Google ofrece algunas alternativas a los desarrolladores para migrar sus aplicaciones de Chrome a la web: https://developers.chrome.com/apps/migration


Tal vez te interese conocer o utilizar algunas de las extensiones que he creado y subido a Chrome Web Store:


App/Extension for Google Chrome




23 de octubre de 2017

Google pone fecha límite al uso de reCAPTCHA en su primera versión

Y remite la información a través de un email del tipo
"usted está recibiendo este correo electrónico porque está registrado como administrador del sitio web de reCAPTCHA, y su sitio web sigue utilizando reCAPTCHA v1, versión que dejará de funcionar a partir del 31 de marzo de 2018".


¿Qué es reCAPTCHA?


reCAPTCHA es un servicio gratuito que protege a los usuarios de Internet del spam y el abuso en sus sitios web, siendo el proveedor de CAPTCHA más utilizado en el mundo.

Utiliza técnicas avanzadas de análisis de riesgos para diferenciar a los humanos y los bots, impidiendo que el software automatizado participe en actividades abusivas en tu sitio web y permitiendo, al mismo tiempo, que los usuarios validados pasen con facilidad.

Con la nueva API, un número significativo de usuarios humanos validados superarán el desafío reCAPTCHA sin tener que resolver un CAPTCHA.



¿Cómo funciona?


La nueva version (reCAPTCHA v2) elimina completamente el recuadro con números y/o letras que estábamos acostumbrados a ver.



Esta tecnología analiza cómo han interactuado los usuarios en un sitio web, cómo hacen clic en el botón 'enviar formulario', cómo mueven el ratón, su comportamiento de navegación, etc.

De esta forma podremos acceder a un sitio web sin ser conscientes de que hemos pasado el filtro de la Inteligencia Artificial(IA) de Google y sin necesidad de detener la navegación para demostrar que no somos robots.

El nuevo CAPTCHA está disponible para todo tipo de webs y navegadores, y si la IA tiene dudas, mostrará un rompecabezas con imágenes en pantalla para validad la autenticidad del usuario.

reCAPTCHA se presenta en forma de widget que puedes añadir fácilmente a tu blog, foro, formulario de registro, etc.



¿Cómo integrar la api en tu blog o página web?


En la página para desarrolladores, Developer's Guide, se explican los pasos a seguir para su implementación.

Para comenzar a utilizar reCAPTCHA, tenemos que registrarnos para obtener un par de claves API para nuestro sitio.

El par de claves consiste en una clave pública del sitio y una clave secreta:

  • la clave pública se utiliza para invocar el servicio reCAPTCHA en tu sitio web o aplicación móvil.
  • la clave secreta autoriza la comunicación entre el backend (servidor web) de tu aplicación y el servidor reCAPTCHA para verificar la respuesta del usuario.
A continuación, elegimos el tipo de reCAPTCHA:

  • reCAPTCHA v2: requiere que el usuario haga clic en una casilla de verificación que indica que el usuario no es un robot.
  • Invisible reCAPTCHA: no requiere que el usuario haga clic en una casilla de verificación, sino que se invoca directamente cuando el usuario hace clic en un botón existente en su sitio o puede invocarse a través de una llamada API de JavaScript.
  • reCAPTCHA Android Library: esta librería proporciona APIs nativas de Android que puedes integrar directamente en una aplicación.
Por último, especificamos los dominios autorizados o nombres de paquetes (packages) para el uso de estas claves API.

Página de administración de claves API del servicio reCAPTCHA: Manage your reCAPTCHA API keys

Si ya estás registrado y quieres actualizar el servicio a la nueva versión, accede al panel de administración y genera un nuevo par de claves para tu dominio.

En el lado del cliente hay que añadir:

  • la librería javascript <script src='https://www.google.com/recaptcha/api.js'></script>
  • el siguiente elemento html <div class="g-recaptcha" data-sitekey="API_KEY"></div> dentro del formulario, dónde sustituimos el valor API_KEY por la clave pública del sitio.
El action del formulario html nos dirige hacia una página de servidor dónde se procesan los datos enviados por el cliente.

  • en la página de servidor, hay que sustituir el valor API_SECRET por la nueva clave privada.
Si quieres incorporar el captcha en tu página de WordPress, tan sólo tendrás que acceder a la siguiente página oficial e instalar el plugin siguiendo las instrucciones detalladas: https://es.wordpress.org/plugins/google-captcha/

API de Android de reCAPTCHA


Google presenta la nueva API de Android de reCAPTCHA (Making the Internet safer and faster: Introducing reCAPTCHA Android API).

Como parte de la API de Google SafetyNet, mitiga los riesgos en los dispositivos móviles a través de una seguridad mejorada y utiliza la última tecnología Invisible reCAPTCHA para optimizar la experiencia del usuario.




23 de enero de 2017

Alternativas a Google Feed API para añadir a tu web artículos de un blog

En el post Google Api hicimos mención a las APIs de Google que permiten acceder a múltiples servicios de forma muy sencilla. Una de las características de Google Feed Api era la posibilidad de integrar artículos publicados en cualquier blog en nuestra web, a modo de tablón de anuncios o sección de últimas noticias.


Desafortunadamente, Google ha decidido dejar de dar soporte a esta funcionalidad (Google Feed API Subject to the Deprecation Policy)

No obstante, existen otras opciones útiles para tal propósito.
En este post voy a hacer especial hincapié en estos tres servicios por su facilidad de uso:

  • FeedBurner: es un proveedor de gestión de fuentes web propiedad de Google. Proporciona herramientas de gestión de fuentes web RSS a bloggers, podcasters, y otros publicadores de contenido basado en tecnología web.
  • Yahoo Query Language: la plataforma YQL (Yahoo! Query Language) permite consultar, filtrar y combinar datos a través de la web mediante una única interfaz. Utiliza una sintaxis similar a SQL y puede leer información en formato HTML, XML, JSON, RSS, Atom y microformato devolviendo el resultado en formato xml o json.
  • Rss to Json online converter: se trata de una api creada por un desarrollador independiente que ofrece documentación en https://rss2json.com/docs con ejemplos funcionando en lenguajes de programación como Javascript, PHP, Ruby o Python.

Feedburner

El servicio FeedBurner permite convertir el Feed (Fuente o Canal web) de cualquier blog en un fragmento de código HTML para integrar en tu página web.
En el post "FeedBurner: como añadir entradas de un blog a tu web, sin plugins y en una línea de código." doy instrucciones precisas para utilizar esta api.
Vas a poder comprobar que el 100% es configuración dando como resultado un línea de código para integrar en tu blog o web.
<script src="https://feeds.feedburner.com/hipertextual/index?format=sigpro" type="text/javascript"></script>

Yahoo Query Language

Este servicio web de uso público presenta pocas limitaciones (Información de uso de esta api) y parece ser una opción válida para la visualización de canales RSS de recursos externos.
Dispone de una consola YQL Console que podemos utilizar para realizar consultas in situ y una guía YQL Guide para obtener más información sobre la creación de consultas.

<script>
  var mycallback = function(data) {
    var entry = data.query.results.rss.channel.item;
    var container = document.getElementById("feed"), date;
 for(var i = 0; i < entry.length; i++){
  dv = document.createElement("div");
  date = new Date(entry[i].pubDate);
  dv.innerHTML = '<a href="' + entry[i].link + '" target="_blank">' + entry[i].title + '</a><br/>' + date.toDateString().substr(4) + '<br/><div class="article">' + entry[i].description.substring(0,600) + '...</div>';
  dv.innerHTML += '<hr/>';
  container.appendChild(dv);
 }
  };
</script>
<div id="feed"></div>
<script src="https://query.yahooapis.com/v1/public/yql?q=select * from xml where url = 'http://feeds.feedburner.com/hipertextual'&format=json&callback=mycallback"></script>

Rss to Json online converter

La web facilita una caja de texto para introducir la url de un feed válido.
A continuación, pulsamos el botón Convert to Json y obtenemos la respuesta del documento en formato json.

<div id="feed"></div>
<script>
(function(){
 var url = "https://hipertextual.com/feed";
 var xhr = createCORSRequest("GET","https://api.rss2json.com/v1/api.json?rss_url="+url);
 if (!xhr) {
   throw new Error('CORS not supported');
 } else {
  xhr.send();
 }
 xhr.onreadystatechange = function() {
  if (xhr.readyState==4 && xhr.status==200) {
   var responseText = xhr.responseText; 
   var result = JSON.parse(responseText);
   var container = document.getElementById("feed"), entry = result.items, date;
   for(var i = 0; i < entry.length; i++){
    dv = document.createElement("div");
    date = new Date(entry[i].pubDate);
    dv.innerHTML = '<a href="' + entry[i].link + '" target="_blank">' + entry[i].title + '</a><br/>' + date.toDateString().substr(4) + '<br/><div class="article">' + entry[i].content.substring(0,600) + '...</div>';
    dv.innerHTML += '<hr/>';
    container.appendChild(dv);
   }
  }
 }
})();
function createCORSRequest(method, url) {
    var xhr = new XMLHttpRequest();
    if ("withCredentials" in xhr) {
        xhr.open(method, url, true);
    } else if (typeof XDomainRequest != "undefined") {
        xhr = new XDomainRequest();
        xhr.open(method, url);
    } else {
        xhr = null;
    }
    return xhr;
}
</script>


Escribimos este fragmento de código dentro del cuerpo de nuestro documento html y sustituimos la url 'https://www.tecnoblog.guru/feeds/posts/default' por la de nuestro feed. También podemos modificar el número de entradas a mostrar representado entry.length por un número entero.

Éste es el resultado final:




6 de junio de 2016

Alojar páginas web con Google Drive no será posible a partir del 31 de agosto de 2016

Google lo lleva anunciando desde hace cerca de un año: "la función de alojamiento de páginas web desde Google Drive dejará de estar disponible a patir de agosto de 2016".
En su blog oficial, explica las razones y ofrece la posibilidad de compra de un dominio a través de su plataforma Google Domains.


Llevo haciendo uso de este servicio desde que Google lo anunció y me ha sido de mucha utilidad para compartir de forma pública algunos de los casos prácticos que expongo en los artículos de mi blog.

Y como no es conveniente dejar los deberes para el último momento, me he puesto manos a la obra y he migrado todos estos proyectos a otro repositorio de carácter público.

Como ya indicaba en el post de principios de 2014 ¿sabías que Google Drive permite alojar páginas web?:
"para la publicación de un sitio web lo ideal es disponer de hosting y dominio propios pero para compartir ficheros o páginas estáticas a modo de ejemplos, existen numerosos servicios gratuitos que cubren perfectamente esta funcionalidad".

Finalmente me he decantado por el servicio de alojamiento de repositorios de software GitHub porque cubre sobradamente mis necesidades.

Algunas razones de peso son:

  • GitHub es totalmente gratuito para alojar código open source, siendo estos repositorios de visibilidad pública.
    No obstante, cuenta con un plan de precios para los repositorios privados.
  • es el servicio elegido por proyectos de software libre como Linux, Eclipse, jQuery, reddit, Sparkle, curl, Ruby on Rails, node.js, ClickToFlash, Erlang/OTP, CakePHP, Redis, y otros muchos.
  • algunas de las grandes empresas de Internet, como Facebook, alojan ahí sus desarrollos públicos, tales como el SDK, librerías, ejemplos, etc.
  • dispone de un visor de código mediante el cual, a través del navegador, podremos consultar en un instante el contenido de un determinado fichero

¿cómo configurar Git?

Documentación de usuario: Set Up Git

Artículos que se han visto afectados por este cambio y cuyos ficheros públicos ya apuntan al nuevo directorio GitHub (ordenados de más reciente a más antiguo):

  • Como crear un índice para Blogger personalizable por Título o Categorías
    <div id="all-post" class="all-post"></div>
    <script>
    var conf = {
     sortBy:   'orderlabel',  // forma en que se muestran las artículos publicados
     lastPost: 10,            // últimos post (10) a los que les pongo una marca
     date:     1,             // 0:no aparece la fecha de publicación | 1:mostramos la fecha de publicación
     newPost: 'Nuevo!!',      // texto o marca que aparece en los últimos artículos
     newtab:   1              // 0:abre link en la misma ventana | 1:abre link en ventana nueva
    }
    </script>
    <script src="https://cdn.jsdelivr.net/gh/jmacuna/index-blogger@master/index-blogger.js"></script>
    <script src="[URL DE TU BLOG]/feeds/posts/default?max-results=9999&alt=json-in-script&callback=loadtoc"></script>
    

  • Calendario con todos los post publicados en Blogger
    <div id='calendar'><strong>Loading...</strong></div>
    <script>
    var conf = {
     bgcolor: '#1e4e7e', 
     newtab:  1,         // 0:abre link en la misma ventana | 1:abre link en ventana nueva
     tooltip: true,      // false:title por defecto | true:tooltip con css3
     start:   1,         // 0:Domingo | 1:Lunes
     days:    "Lunes|Martes|Miercoles|Jueves|Viernes|Sabado|Domingo",
     months:  "Enero|Febrero|Marzo|Abril|Mayo|Junio|Julio|Agosto|Septiembre|Octubre|Noviembre|Diciembre",
     date:    "Ir al mes actual"
    }
    </script>
    <script src='https://cdn.jsdelivr.net/gh/jmacuna/calendar-widget@master/create-calendar.js' type='text/javascript'></script>
    <script src='https://www.tecnoblog.guru/feeds/posts/summary?max-results=1000&alt=json-in-script&orderby=published&callback=createCalendar' type='text/javascript'></script>
    
  • Gadget para aumentar tu número de suscriptores - Blogger
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/jmacuna/subscription-feedburner@master/style.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.js"></script>
    <script>
    idleTime = 0;
    $(document).ready(function(){
     $limit = 5; //seconds
     if ($.cookie('test_status') != '1') {
      function timerIncrement() {
       idleTime = idleTime + 1;
       if (idleTime > $limit) {
        $('html, body').css('overflow', 'hidden');
        $('.subs-popup ').fadeIn('slow');
        idleTime = 0;
       }
      }
      // Increment the idle time counter every second.
      var idleInterval = setInterval(timerIncrement, 1000); // 1 second
      // Zero the idle timer on mouse movement.
      $(this).mousemove(function (e) {
       idleTime = 0;
      });
      $(this).keypress(function (e) {
       idleTime = 0;
      });
      $.cookie('test_status', '1', { expires: 30 });
     }
     $('.email-close').click(function() {
      $('.subs-popup').fadeOut('slow');
      $('html, body').css('overflow', 'auto');
      $limit = 9999;
     });
    });
    </script>
    
    <div class="subs-popup">
     <div id="newsletter">
      <div class="email-close">X</div>
      <div class="newsletter-wrap">
       <h4>Suscríbete y recibe<br/>contenido exclusivo</h4>
       <p>Las últimas novedades del blog<br/>directamente a tu email.<br/><br/></p>
       <form action="http://feedburner.google.com/fb/a/mailverify?loc=es-ES&uri=[FEED_DE_TU_BLOG]" method="post" onsubmit="$('.email-close').click();window.open('about:blank', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true" target="popupwindow" novalidate="">
        <input name="uri" type="hidden" value="bloggertrix"/>
        <input name="loc" type="hidden" value="en_ES"/>
        <input type="email" value="" name="email" placeholder="Tu e-mail aqui..." required=""/><br/><br/>
        <input type="submit" value="Suscribirme" class="button-popup">
       </form>
      </div>
     </div>
    </div>
    
  • Comentarios con desplazamiento de texto para Blogger (efecto marquee)
    <table class="comments">
    <tr><td class="title">Últimos comentarios</td></tr>
    <tr><td><div class="scroller">
    <script type="text/javascript">
    var numComments  = 10,
        showAvatar  = true,
        avatarSize  = 40,
        roundAvatar = true,
        characters  = 40,
        showMorelink = false,
        moreLinktext = "More »",
        defaultAvatar  = "http://i.imgur.com/3QqaBeS.png",
        hideCredits = true;
    </script>
    <script src="https://cdn.jsdelivr.net/gh/jmacuna/comments-avatar@master/w2b_recent_comments_with_avatars.js"></script>
    <script src="[URL DE TU BLOG]/feeds/comments/default?alt=json&callback=w2b_recent_comments"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script src="http://www.jqueryscript.net/demo/jQuery-Plugin-For-Infinite-Any-Content-Scroller-scrollForever/scrollForever.js"></script>
    </div></td></tr>
    </table>
    <script type="text/javascript">$(document).ready(function({$(".scroller").scrollForever({dir:"top",container:"ul",inner:"li",speed:1000,delayTime:10,continuous:true,num:1});});</script>
    
Todos aquellos lectores del blog que utilicen alguno de los gadgets que comparto, deberán realizar ajustes para que las url públicas estén alojadas en https://cdn.jsdelivr.net en lugar de https://www.googledrive.com/host.


21 de diciembre de 2015

¿sabías que Google paga recompensas por descubrir fallos de seguridad en sus productos?

Bug Security Google
La filosofía de seguridad de Google:
como proveedor de software y servicios para muchos usuarios, anunciantes y editores en Internet, Google apuesta fuertemente por ayudar a proteger su privacidad y seguridad.
Y lo hace proporcionando recompensas en efectivo (desde noviembre de 2010) para mejorar la calidad y seguridad de sus productos.

Google ofrece actualmente los siguientes programas de recompensa de seguridad:

En principio, cualquier servicio web propiedad de Google que maneja datos de usuario sensibles están en el alcance de estas recompensas. Esto incluye todo el contenido en los siguientes dominios:

  • *.google.com
  • *.youtube.com
  • *.blogger.com
Errores en aplicaciones y extensiones desarrolladas por Google (publicados en Google Play, en iTunes o en la Chrome Web Store) también calificarán.

Las empresas o servicios recién adquiridos están sujetos a un período de supervisión de seis meses. Los bugs reportados antes de ese periodo no califican para una recompensa.

Cualquier problema de diseño o implementación que afecta sustancialmente a la confidencialidad o integridad de los datos de usuario formará parte del programa.

Los ejemplos más comunes incluyen:

  • Cross-site scripting
  • Cross-site request forgery
  • Mixed-content scripts
  • Authentication or authorization flaws
  • Server-side code execution bugs
Cantidades de recompensa

Las recompensas por errores de clasificación van desde $100 a $20.000.
La siguiente tabla muestra las recompensas habituales elegidas para los errores más comunes:

Category Examples Applications that permit taking over a Google account [1] Other highly sensitive applications [2] Normal Google applications Non-integrated acquisitions and other sandboxed or lower priority applications [3]
Vulnerabilities giving direct access to Google servers
Remote code execution Command injection, deserialization bugs, sandbox escapes $20,000 $20,000 $20,000 $1,337 - $5,000
Unrestricted file system or database access Unsandboxed XXE, SQL injection $10,000 $10,000 $10,000 $1,337 - $5,000
Logic flaw bugs leaking or bypassing significant security controls Direct object reference, remote user impersonation $10,000 $7,500 $5,000 $500
Vulnerabilities giving access to client or authenticated session of the logged-in victim
Execute code on the client Web: Cross-site scripting
Mobile: Code execution
$7,500 $5,000 $3,133.7 $100
Other valid security vulnerabilities Web: CSRF, Clickjacking
Mobile: Information leak, privilege escalation
$500 - $7,500 $500 - $5,000 $500 - $3,133.7 $100

Además, ofrece la opción de donar tu premio a una organización benéfica. Si lo haces, Google duplicará su donación.
Cualquier recompensa sin reclamar después de 12 meses será donada a una organización benéfica de su elección.

Google no emite recompensas a las personas que están en las listas de sanciones, o que se encuentran en los países que forman parte de las listas de sanciones: Cuba, Irán, Corea del Norte, Sudán y Siria.

¿Quién determina si el informe es elegible para una recompensa?:

El panel de recompensa se compone de los miembros del equipo de seguridad de Google.
Actualmente, los miembros permanentes son Artur Janc, Eduardo Vela Nava, Jeremy Zimmer, Martin Straka, y Michal Zalewski.
También se incorporan al equipo otros miembros de forma rotativa.

¿Cómo reportar un informe de vulnerabilidad de Google?:

Accede a la siguiente dirección: Security Bug Report

¿Qué es bughunter.withgoogle.com?:

Es el tablero de instrumentos para todos los investigadores de seguridad que participan en el Programa de Recompensa de Vulnerabilidad (VRP) de Google.

Si quieres aparecer en el salón de la fama tienes que presentar un informe de error válido.
El salón de la fama se ordenan en función de una combinación de:

  • Cantidad: informes de errores válidos conducirán a una mejor clasificación. Informes falsos pueden llevar a un rango inferior.
  • Gravedad: errores más graves conducen a una mejor clasificación.
Yo he tenido la suerte de encontrar un error de seguridad en uno de sus productos y formo parte del Salón de la Fama de Google :))

Google Vulnerability Reward Program (HALL OF FAME)





Soluciones a problemas comunes de "no vulnerabilidad"::


La lista completa de programas de caza de bugs de 2019::

Recientemente, una lectora del blog me ha proporcionado información valiosa de los programas de recompensas más importantes en la actualidad(Bug Bounty): La lista completa de programas de caza de bugs de 2019.
Muchas gracias Verónica :))