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.

3 de junio de 2019

Mitos y realidades de la inteligencia artificial

Artificial Ingelligence
¿Nos sirve de algo tener una máquina que se comporte exactamente como un ser humano, teniendo miles de millones en nuestro planeta?. La ciencia ficción y Hollywood en particular nos han obsequiado con multitud de visiones futuristas y en la mayoría de los casos, apocalípticas, en las cuales se plantean escenarios en los que las máquinas son tan avanzadas que los seres humanos nos volvemos prescindibles o somos sustituidos.

Obviamente hay muchas evidencias en las que las máquinas tienen algunas capacidades que mejoran las nuestras, pero también hay muchas otras en las que no vislumbramos que las máquinas puedan llegar a estar cerca de nuestras habilidades.

Pero, aunque llegáramos a ese hito científico, nuestra conclusión es que no nos sirve de nada tener una máquina que se comporte como un humano, teniendo tantos miles de millones en nuestro planeta.

Nuestra visión es que cada vez somos más dependientes de nuestra tecnología, pero más que tender hacia el “imperio” de las máquinas, nos estamos inclinando hacia una simbiosis, donde podemos ampliar nuestras capacidades. Pero sin lugar a dudas, nuestra tecnología requiere de nuestras habilidades para poder perdurar.

Llegados a este punto, vamos a tratar de analizar el alcance real a día de hoy, de tres fenómenos que levantan mucha expectación entre el público general y que están íntimamente ligados al campo de desarrollo de la IA.


Social Media
(Background vector created by starline - www.freepik.com)


1. ¿Singularidad tecnológica?


Un escenario futurista que se ha planteado es el de la singularidad tecnológica.

La singularidad tecnológica básicamente establece que llegará un momento en que la tecnología se desarrollará de manera tan rápida que las máquinas, serán capaces de mejorarse a sí mismas, llegando a desarrollar ingenios que serán muy superiores a nuestra capacidad intelectual, física y más tarde a nuestro control.

Este polémico concepto proviene en gran parte de la Ley de Moore, propuesta allá en 1965, que establece que el número de transistores en un microprocesador se duplica aproximadamente cada dos años. Es decir, la capacidad de computación crece de forma exponencial. Desde entonces, su predicción se viene cumpliendo con cierta exactitud.

En este punto tenemos visiones disonantes de si esta ley seguirá vigente en el futuro y de si a partir de este crecimiento en la capacidad de cálculo y computación llegaremos a la susodicha singularidad.

Por una parte, algunos autores, como Ray Kurzweil (actual director de ingeniería en Google), han sugerido que la singularidad tecnológica ocurrirá a mediados del siglo XXI.

Sin embargo, hasta el propio Moore afirmó en 2010, que su ley había quedado obsoleta y señalaba que hay límites físicos a la miniaturización de los chips y a las velocidades que pueden llegar a alcanzar sin fundirse.

Intel, el fabricante líder de microprocesadores confirma que, a día de hoy, siguen cumpliendo la Ley de Moore, y tienen previsto seguir haciéndolo, aunque con ciertos límites. Para el año 2020, prevén que contaran con procesadores de 7 nanómetros, considerado el tamaño mínimo alcanzable.

El futuro para la Ley de Moore


Durante todo este tiempo muchos han ido asegurado que su vigencia estaba a punto de finalizar, aunque hasta ahora todos ellos han errado en sus vaticinios.

De todas formas, algunos de estos límites físicos que nos imponía el hardware, se han compensado con diversas tecnologías como, por ejemplo:

a) GPU

Usando múltiples procesadores, núcleos o unidades de procesamiento gráfico (GPU) básicamente son coprocesadores dedicados al procesamiento de gráficos u operaciones de coma flotante, para de esta manera aligerar la carga de trabajo del procesador central y aumentar la capacidad de proceso.

a) Computación paralela

También hemos resuelto parte del problema con la computación paralela, es decir usando simultáneamente varios recursos de cómputo para resolver un problema computacional. Los recursos son CPUs o núcleos, estos pueden estar en una computadora con varios núcleos, o en varias computadoras conectadas en una red, o incluso en un ambiente mixto.

Dividimos un problema en muchas partes y que puedan resolverse a la vez, es decir concurrentemente. A cada parte se le asigna a una CPU distinta. De esta forma se pueden resolver problemas más rápido, o resolver problemas que necesitan más memoria de la que una sola computadora dispone.

Pero aquí también nos encontramos con grandes trabas, a veces los problemas no son tan fácilmente paralelizables, de hecho, existen algunos problemas que son inherentemente secuenciales como, por ejemplo, la programación lineal, los métodos numéricos iterativos, en definitiva, hay muchos problemas que son difícilmente paralelizables.

c) Conmutación cuántica

Esta nueva tecnología quiere ir un paso más allá de la electrónica clásica y tiene poco que ver con los transistores de la electrónica tal y como los conocemos, esto dejaría obsoleta la Ley de Moore.

El principal problema al que se enfrenta la computación cuántica es construir los ordenadores. Un ordenador cuántico es una computadora extremadamente compleja: funcionan a una temperatura cercana al cero absoluto (-273 ºC, 0 K).

En la computación clásica el bit es la unidad mínima de información, en la cuántica es el qubit. La diferencia principal entre ellos es que, el bit tradicional sólo puede entregar resultados binarios (0 ó 1), mientras que el qubit, aprovechando las propiedades de la mecánica cuántica, puede tener ambos valores al mismo tiempo (0 y 1), lo que habilita una velocidad de procesamiento mucho mayor.

El problema principal, como hemos comentado anteriormente es el construir estas máquinas ya que el soporte de qubits tienen que ser superconductores.

La temperatura crítica (0 K) de los superconductores juega un papel importante en el desarrollo de las aplicaciones debido al coste y la dificultad de refrigerar a temperaturas tan bajas. Por ello la búsqueda de un superconductor a temperatura ambiente sigue siendo uno de los mayores retos en lo que se refiere a la síntesis de nuevos materiales. Por otra parte, los componentes para poder leer y manipular los qubits son bastante complejos también.

Además, si esto no fuera poco, los qubits no suelen ser estables, son extremadamente sensibles a las perturbaciones y al ruido.

2. Técnicas de aprendizaje automatizado y cómputo evolutivo


Las técnicas de aprendizaje automatizado y cómputo evolutivo, son un tipo de inteligencia artificial que proporciona a las computadoras la capacidad de aprender, sin ser programadas explícitamente.

Aprendizaje automático (Machine learning)


El aprendizaje automático es una rama de la Inteligencia Artificial que abarca diferentes técnicas, las cuales permiten dotar a los computadores de la capacidad de "aprender" modelos tales que, de forma automática, pueden ser usados, para resolver problemas nuevos o para mejorar el rendimiento en problemas ya vistos.

No nos vamos a detener en este ítem porque la literatura es extensa y la información muy accesible.

Lo que si vamos a hacer es poner sobre la mesa las deficiencias o mitos que nos encontramos a día de hoy con esta tecnología.

Es cierto que la potencia del machine learning a la hora de encontrar correlaciones puede ser muy superior a la del ser humano, pero eso no significa que pueda establecer conclusiones inteligentes.

El aprendizaje automático permite detectar patrones, pero estos no siempre implicarán una causalidad. Por ello, tras la detección de correlaciones aún suele ser necesaria la intervención de seres humanos, para valorar los resultados obtenidos.

Por otro lado, el aprendizaje automático, aunque guarde ciertas similitudes con el aprendizaje humano no es igual, hay que hacer notar que todavía no conocemos el funcionamiento del cerebro humano con el suficiente detalle como para afirmar que un sistema de aprendizaje automático es igual que el de un ser humano.

Lo que sí sabemos es que el cerebro humano es muchísimo más eficiente en sus procedimientos de aprendizaje que el mejor de los sistemas de machine learning.

El cerebro de un niño de pocos años es capaz de identificar un animalito, por ejemplo, un elefante, basta que lo haya visto unas pocas veces, en un cuento o en fotografía, mientras que un sistema de machine learning tendría que “visionar” miles y miles de fotografías del mismo tipo de animal para identificarlo.

Cómputo evolutivo


“La Vida Artificial consiste en observar la vida natural e imitarla en un ordenador [Prata, 1993] [Herrán, agosto 1997]”.

“Un programador con espíritu práctico no envidia la capacidad de la naturaleza para resolver problemas: la imita” [Holland, septiembre 1992].

La computación evolutiva interpreta la naturaleza como una inmensa máquina de resolver problemas y trata de encontrar el origen de dicha potencialidad para utilizarla en nuestros programas.

Tenemos que tener en cuenta que la computación evolutiva es un término relativamente nuevo que intenta agrupar un batiburrillo de paradigmas muy relacionados cuyas competencias no están aún muy definidas.

3. ¿La era de los Cyborg?


En el contexto de una integración entre humanos y máquinas, la idea de los cyborgs también ha sido popular en el cine y en la ciencia ficción.

En este campo nos encontramos impresionantes avances sobre todo en el campo clínico.

Sin embargo, se debe señalar que una de las mayores limitaciones que presentan estos sistemas se relaciona con la biocompatibilidad de los sistemas implantados. (Neuronas y metal no parecen buenos compañeros de cama).

La biocompatibilidad es la capacidad de un material para realizar una respuesta de host apropiada en una aplicación específica (Williams, 1987)

De hecho, se refiere a los aspectos relativos a la ausencia de toxicidad, inmunogenicidad, carcinogenicidad (producen cáncer) y trombogenicidad (producen una trombosis).

En este sentido, también nos encontramos con una fuerte imposición ética relacionada con la utilización de pacientes en situación de discapacidad para experimentar con implantes.

En la actualidad, estos implantes son de corta duración, con tiempos máximos de registro activo de la actividad neuronal no superior a un año. Además, presentan alta probabilidad de desarrollar reacciones infecciosas y no siempre son la opción con la mejor relación costo-beneficio para el paciente.

Y si estamos sanos y nuestro cuerpo funciona de manera aceptable ¿Para qué conectar con cirugía un cable o un chip que probablemente el cuerpo rechace?

Obviamente ya disponemos de la capacidad de conectarnos con nuestros sensores naturales.

El ancho de banda del nervio óptico en humanos es de entre 6 y 10 megabits/segundo.

La diferencia entre nuestros ancestros y nuestra generación, no está a nivel biológico, sino a nivel de integración que hemos logrado con nuestra tecnología aumentar nuestras capacidades cognitivas.

El futuro


En definitiva hacer predicciones es muy difícil, no está claro lo que pasará con las revoluciones tecnológicas asociadas al campo de la IA, y es bueno tomarse las predicciones con cierto escepticismo, vengan de quien vengan.

Lo que sí parece más que probable es que el futuro cercano nos tiene reservadas enormes sorpresas en el mundo de la inteligencia artificial.


* Artículo de Carlos Llerena – CMO en The Shed Coworking *


3 de mayo de 2019

Redes sociales y comercio electrónico, ¡3 cosas que estás haciendo mal!

Social Media - Ecommerce
Las redes sociales son una pieza fundamental en tu estrategia de Marketing Digital.
Pero, ¿estás usándolas de manera correcta en tu ecommerce? ¿Sabes cómo sacarles el máximo partido de cara a optimizar tu tienda online?.


En este post voy a explicarte los errores más comunes que normalmente se cometen en Social Media, para que de este modo, no caigas en ellos. Y así, puedas hacer que tu ecommerce triunfe en las redes sociales y te puedas distinguir del resto de tus competidores. ¿Estás preparado? Comenzamos:


Social Media


Redes sociales, todo lo que NO debes hacer, pero haces


Las redes sociales han irrumpido con fuerza en nuestras vidas. Y no sólo en nuestras vidas, sino que han cambiado por completo la manera de comunicarnos en todos los niveles. Esta rapidez con la que han entrado a formar parte de nuestro día a día hace que a veces no sepamos aprovechar todo el potencial que tienen.

Para que esto no te ocurra, sigue leyendo y no caigas en los errores más comunes. ¡Allá vamos!.

1. Perfiles en redes sociales, cuantos más mejor


No todas las redes sociales van a resultar óptimas para tu modelo de negocio. Y no tienes ni debes tener presencia en todas ellas, ya que esto te consumirá mucho tiempo y recursos.

Es más, al final si tienes presencia en 3 redes sociales pero las 3 las tienes desatendidas, no obtendrás ningún beneficio de las mismas. No conseguirás llegar a tu audiencia, ni tendrás seguidores, ni estos tendrán interacción alguna con tu marca.

Para evitar esto te recomiendo, que selecciones bien la red social en la que quieres tener presencia, es decir: Linkedin, Instagram, Twitter o Facebook. Y tú te preguntarás, ¿cómo voy a saber yo qué red social es la mejor para mi ecommerce?

Pues va a depender fundamentalmente de tu negocio y de sus características. Por ejemplo, si tu ecommerce, vende artículos de ropa o complementos, entonces tener presencia en Instagram, parece más que acertado.


Instagram Image


Sin embargo, si vendes productos tecnológicos, por ejemplo relojes inteligentes, o algún tipo de maquinaria, tener presencia en Twitter puede ser una buena opción ya que los usuarios sentirán que tienen una comunicación mucho más cercana con el vendedor en caso de problemas.

¿Y Linkedin entonces... en qué casos es importante? Linkedin es la red social para profesionales más importante actualmente. Por lo que si cuentas con un departamento de Marketing y además, tu ecommerce cuenta con la figura de un community manager, no lo pienses ni un segundo y posiciona tu tienda en esta red. Te permitirá ganar notoriedad y reconocimiento de marca.

Y por supuesto, piensa que contar con una red social no te excluye de hacer uso de otra. Pero antes de empezar a crear perfiles a lo loco, marca y define tus objetivos, selecciona tu red social y, ¡a por todas!

2. ¿Estadísticas en redes sociales? ¡Para qué!


De manera equivocada, pensamos que las estadísticas son complejas de interpretar. Por ello, no les prestamos la atención que se merecen. Es más, la mayoría de las veces, ni siquiera son consultadas por los responsables de la gestión de las redes sociales. ¡Error! De hecho, ¡Gran error!.

Saber obtener e interpretar las estadísticas en redes sociales, te permitirá optimizar tus publicaciones, podrás identificar rápidamente a los usuarios más activos, los que más interactúan con tu marca o aquellos que son capaces de generar un mayor impacto. ¿Interesante verdad?.

Piensa que de este modo, podrás detectar rápidamente a los embajadores de tu marca. Y por supuesto, podrás identificar a los haters.

¿Cómo que las estadísticas en las redes sociales te marean? Si tanta información te confunde y no te permite aclararte. No te preocupes, he de confesarte que no eres el primero. Por ello, existen numerosas herramientas de análisis y monitoreo de redes sociales, como Tweet Binder, que te ayudarán en tu trabajo.

Es más, este tipo de herramientas, tienen una versión gratuita, sí como lees, gratis. Esto te ayudará a entender y a interpretar mejor los datos, ya que los informes que generes te darán la información ordenada y clasificada. ¿Qué más puedes pedir?.

Por supuesto, puedes acceder a una versión PRO, adquiriendo de manera individual informes de Twitter o de Instagram. O si el volumen de publicaciones es alto, puedes adquirir alguno de sus planes, para que te salga más económico.

No busques excusas y ponte manos a la obra. No seas perezoso y a por las estadísticas de tus redes sociales. Los usuarios de tu ecommerce se lo merecen. ¡Así que adelante!.


Statistics - Social Media

3. Publicar, publicar y publicar


Estoy segura, de que piensas que cuantas más publicaciones mejor. Es más, seguro que en alguna ocasión, o en más de alguna ocasión has difundido la misma publicación en diferentes redes sociales.

Es decir, seguro que la misma foto que publicaste en tu Fan Page de Facebook, ha acabado en tu cuenta de Instagram y en tu perfil de Twitter. ¿A que esto, te suena familiar?

Pues es uno de los errores más comunes y más graves que se pueden cometer en la gestión de redes sociales. Se pueden presentar los siguientes escenarios:

  • Si la audiencia de tu ecommerce te sigue en varios de tus perfiles sociales, se aburrirá de ver las mismas publicaciones una y otra vez. Y por tanto, dejará de interactuar con tus publicaciones, por lo que cada vez el algoritmo las mostrará menos.

  • La otra opción es aún mucho más drástica, ya que lo que pasará será que de manera progresiva perderás seguidores. Por lo que, estarás consiguiendo el efecto contrario con tus publicaciones.

Pero si estas dos circunstancias no te han terminado de convencer, piensa que el tipo de usuario que frecuenta una red social no tiene por qué buscar el mismo tipo de contenido que el que frecuenta otra. Es decir, un usuario de Twitter no busca lo mismo que un usuario de Instagram.

Por lo que machacar a la audiencia con post y publicaciones no pensadas para ellos, es un error garrafal. Así que ahora que te lo he contado, evítalo a toda costa. Ya verás como ¡tus seguidores te los agradecen!

Optimiza tu estrategia en redes sociales para tu ecommerce


Ahora que ya sabes lo que no tienes que hacer, sólo tienes que aplicar los consejos a tu práctica en redes. De este modo, podrás optimizar tu estrategia, y sobre todo, alcanzarás los objetivos que te hayas marcado. Aplica estos consejos y sobre todo, no olvides dejar un comentario sobre cómo han evolucionado tus redes tras los mismos, para que todos, podamos aprender y mejorar.


* Artículo de Alicia Fernández *


Alicia Fernández


Directora SEO y analítica web en Tweet Binder



BIO

Licenciada en Administración de Empresas por la Universidad de Granada y con Máster en Comunicación Publicitaria por la Universidad Carlos III de Madrid. Actualmente, compatibiliza su trabajo y pasión como SEO en Tweet Binder, con la realización de su segundo Máster en Marketing Online y Publicidad Digital en Aula CM.



18 de abril de 2019

Ciberseguridad: glosario de términos (II)

cibersecurity
La ciberseguridad debe ser considerada como un proceso y no como una actividad aislada y diferenciada del resto de servicios o herramientas informáticas. Podemos decir que la seguridad es una cualidad más, que como la salud en el caso de las personas, hay que cuidar desde el principio, y en cuya gestión participan gran cantidad de agentes.


Siguiendo con esta comparación, los ciberataques, cada vez más sofisticados y difíciles de detectar, se pueden considerar como una enfermedad que debemos ser capaces de prevenir y ante la que debemos ser capaces de reaccionar, generando los anticuerpos necesarios para volver a la situación de salud inicial.


Hacker


A continuación, vamos a explicar algunos de los términos relacionados con la seguridad informática o seguridad de tecnologías de la información.

Seguridad informática

El área de la informática enfocada en la protección de la infraestructura computacional y todo lo relacionado con ésta y, especialmente, la información contenida o circulante.

Hacker

Definición 1: término para designar a alguien con talento, conocimiento, inteligencia y curiosidad, especialmente relacionada con las operaciones de computadora, redes, seguridad, etc.

Definición 2: persona que disfruta aprendiendo detalles de los sistemas de programación y cómo extender sus capacidades, tan intensamente como, al contrario, muchos usuarios prefieren aprender solo el mínimo necesario.

La Real Academia Española (2001) define hacker como: Pirata informático (descripción discutida por los profesionales).

Persona experta en el manejo de computadoras, que se ocupa de la seguridad de los sistemas y de desarrollar técnicas de mejora. (Nueva definición añadida a la RAE que se acerca a la postura de los profesionales de seguridad).

Cracker

Se utiliza para referirse a las personas que "rompen" algún sistema de seguridad.
Los crackers pueden estar motivados por una multitud de razones, incluyendo fines de lucro, protesta o por el propio desafío.

Hacker ético

Profesional de la seguridad informática que aplica sus conocimientos al hacking con fines defensivos y de manera legal.

Hacking ético

Auditoría de seguridad que nos permite verificar el nivel de seguridad de una organización y encontrar sus puntos débiles en este contexto.

Escaneo de vulnerabilidades

Prueba reducida y concreta cuyo único objetivo es la identificación de vulnerabilidades.

Un error generalizado que se produce hoy en día entre muchos clientes y profesionales de seguridad es llamar hacking ético a un escaneo de vulnerabilidades. La diferencia es que, en una auditoría de seguridad o hacking ético, la prueba consiste en simular un ataque informático real con el menor número de restricciones posible.

Sombrero blanco (white hat)

Persona que utiliza sus conocimientos de hacking para fines defensivos; el analista de seguridad o hacker ético.

Sombrero negro (black hat)

Persona que utiliza sus conocimientos de hacking para acciones destructivas; el cracker.

Sombrero gris (gray hat)

Persona que utiliza sus conocimientos de hacking tanto para fines defensivos o acciones destructivas según le interese.

Hacktivismo

El término hacktivismo es controvertido. Algunos afirman que se acuñó para describir cómo las acciones directas electrónicas podían usarse en favor del cambio social al combinar la programación con el pensamiento crítico. Otros utilizan el término como sinónimo de actos maliciosos y destructivos que vulneran la seguridad de internet como una plataforma tecnológica, económica y política.

Pirata informático

Persona con grandes habilidades en el manejo de ordenadores, que utiliza sus conocimientos para acceder ilegalmente a sistemas o redes ajenos.

Backdoor

Puerta trasera, técnica que permitirá acceder a un sistema infectado para su control remoto.

Desarrollo seguro

El desarrollo de aplicaciones seguras, sobre todo si estas van a dar soporte a procesos de negocio o van a estar expuestas a Internet, es el mejor mecanismo de defensa de los activos de una organización ante los ciberataques.

Ingeniería social

Conjunto de técnicas utilizadas para manipular a víctimas potenciales y obtener, de esta manera, la información deseada, o conseguir que estas realicen alguna acción que conlleve al compromiso del sistema, datos confidenciales, etc.

En Internet, la ingeniería social se ha utilizado desde siempre, tanto para perseguir fines legales como ilegales, ya que es una técnica que permite, sin necesidad de grandes conocimientos técnicos ni uso de herramientas, obtener una gran cantidad de información de los objetivos. Esto es debido a que, desde siempre, los eslabones más débiles de la cadena de seguridad son los usuarios.

Identidad digital

Conjunto de informaciones publicadas en Internet sobre una persona (datos personales, fotografías, comentarios, amistades, gustos, etc.), que la describen en Internet ante los demás y determinan su reputación digital. Aunque dicha información no tiene por qué coincidir con la realidad, sí que tiene consecuencias en el mundo real.

Deep web

Todo aquel contenido alojado en Internet que es accesible mediante permisos específicos, como pueden ser: una URL dedicada, una invitación, un pago o incluso un acceso mediante usuario y contraseña. Este tipo de contenido se encuentra dentro de Internet y, normalmente, parte de él suele estar indexado por los motores de búsqueda habituales.

CEO Fraud

Tipo de fraude en el que se suplanta al CEO de una empresa para instar, a través de la presión que un alto cargo puede ejercer, a un empleado que disponga de acceso a la contabilidad o transferencias de la compañía, a realizar pagos de manera urgente y confidencial.

Spoofing

Técnicas utilizadas para la suplantación de identidad (DNS spoofing, IP spoofing, ARP spoofing, email spoofing).





31 de marzo de 2019

Llega Code Jam 2019, la competición de programación de Google

Codejam 2019
Code Jam es una iniciativa organizada por Google que reta a los programadores de todo el mundo a poner 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.


En esta temporada, se presentan problemas algorítmicos desafiantes (algunos de ellos son interactivos) para la comunidad global de programadores.

Cada año, el equipo de ingeniería de Code Jam y un grupo exclusivo de colaboradores de Google dedican miles de horas combinadas en la creación, prueba y publicación de algunos de los problemas algorítmicos más difíciles del mundo.

Este año se ha incorporado la característica de "formular una pregunta", que ofrece a los participantes la oportunidad de interactuar con los ingenieros de Code Jam durante las rondas en línea. También se están introduciendo nuevos conceptos, como la capacidad de probar una solución en sus servidores, así como proporcionar certificados a los competidores.

La ronda de clasificación se lleva a cabo el 5 de abril (regístrate aquí).
De las decenas de miles de participantes en el concurso, solo los 25 primeros calificarán para asistir el viernes 9 de agosto a la gran final en las oficinas de Google en San Francisco, Mountain View (California).

El nuevo Campeón del Mundo se llevará a casa $15,000, mientras que los 1.000 mejores competidores ganarán una camiseta de edición limitada de 2019.




Desafíos de la edición 2018 y ejemplos de resultados de uno de sus participantes

:

1- Rounding Error (5pts, 9pts, 11pts)


Enunciado del problema: Rounding Error, Problem

Respuesta » C++ (G++) code

#include 
using namespace std;
#define rep(i,a,b) for(int i = (a); i < (b); ++i)
#define rrep(i,a,b) for(int i = (b); i --> (a);)
#define all(v) (v).begin(),(v).end()
#define trav(x,v) for(auto &x : v)
#define sz(v) int(v.size())
typedef vector vi;
typedef long long ll;
typedef pair pii;

int solve(){
 int n, l;
 cin >> n >> l;

 int ans = 0;

 priority_queue pq;

 int left = n;
 rep(_,0,l){
  int c;
  cin >> c;
  left -= c;
  int res = 200 * c - n;
  while(res >= 0){
   res -= 2*n;
   ans++;
  }
  pq.push(res);
 }
 rep(i,0,left){
  int res = pq.top();
  pq.pop();
  if(res < -n){
   pq.push(-n);
   --i;
   continue;
  }
  res += 200;
  while(res >= 0){
   res -= 2*n;
   ++ans;
  }
  pq.push(res);
 }
 return ans;
}

int main(){
 int t;
 cin >> t;
 rep(i,1,t+1){
  cout << "Case #" << i << ": " << solve() << endl;
 }
}

2- Mysterious Road Signs (10pts, 20pts)


Enunciado del problema: Mysterious Road Signs, Problem

Respuesta » C++ (G++) code
#include 
using namespace std;
#define rep(i,a,b) for(int i = (a); i < (b); ++i)
#define rrep(i,a,b) for(int i = (b); i --> (a);)
#define all(v) (v).begin(),(v).end()
#define trav(x,v) for(auto &x : v)
#define sz(v) int(v.size())
typedef vector vi;
typedef long long ll;
typedef pair pii;

void solve(){
 int s;
 cin >> s;
 vi m(s), n(s);
 rep(i,0,s){
  int d, a, b;
  cin >> d >> a >> b;
  m[i] = d+a;
  n[i] = d-b;
 }
 
 map mm, nn;
 map mn;

 rep(i,0,s) mm[m[i]] = nn[n[i]] = mn[pii(m[i],n[i])] = 0;

 int ix = 0;
 trav(pa, mm) pa.second = ix++;
 ix = 0;
 trav(pa, nn) pa.second = ix++;
 ix = 0;
 trav(pa, mn) pa.second = ix++;
 
 vi mr(s), nr(s), mnr(s);
 rep(i,0,s){
  mr[i] = mm[m[i]];
  nr[i] = nn[n[i]];
  mnr[i] = mn[pii(m[i],n[i])];
 }

 vector ml(sz(mm)), nl(sz(nn)), mnl(sz(mn));
 rep(i,0,s){
  ml[mr[i]].push_back(i);
  nl[nr[i]].push_back(i);
  mnl[mnr[i]].push_back(i);
 }

 auto cnt = [&](int fr, int to, vi &v){
  return lower_bound(all(v), to) - lower_bound(all(v), fr);
 };

 auto good = [&](int fr, int to, int m1, int n1){
  int z = -1;
  if(mn.count(pii(m1, n1))) z = mn[pii(m1,n1)];
  int x = mm[m1], y = nn[n1];
  
  int res = cnt(fr,to, ml[x]) + cnt(fr,to, nl[y]);
  if(z >= 0) res -= cnt(fr,to, mnl[z]);

  return to-fr == res;
 };

 auto len = [&](int fr, int m1, int n1){
  int lo = 1, hi = s-fr+1;
  while(lo+1 < hi){
   int mi = (lo+hi)/2;
   if(good(fr, fr+mi, m1, n1)) lo = mi;
   else hi = mi;
  }
  return lo;
 };
 int rek = 0, num = 0;

 rep(i,0,s){
  int res = len(i, m[i], n[i]);
  if(i+res < s) {
   int j = i+res;
   res = max(res, max( len(i, m[i], n[j]),
       len(i, m[j], n[i]) ) );
  }
  if(res > rek){
   rek = res;
   num = 0;
  }
  if(res >= rek) ++num;
 }
 cout << rek << ' ' << num << endl;
}

int main(){
 int t;
 cin >> t;
 rep(i,1,t+1){
  cout << "Case #" << i << ": ";
  solve();
 }
}

3- Transmutation (15pts, 18pts, 12pts)


Enunciado del problema: Transmutation, Problem

Respuesta » C++ (G++) code
#include 
using namespace std;
#define rep(i,a,b) for(int i = (a); i < (b); ++i)
#define rrep(i,a,b) for(int i = (b); i --> (a);)
#define all(v) (v).begin(),(v).end()
#define trav(x,v) for(auto &x : v)
#define sz(v) int(v.size())
typedef vector vi;
typedef long long ll;
typedef pair pii;

ll solve(){
 int m;
 cin >> m;

 vi r1(m), r2(m);
 rep(i,0,m) cin >> r1[i] >> r2[i];
 trav(x, r1) --x;
 trav(x, r2) --x;

 vector g(m);
 trav(x, g) cin >> x;

 ll tot = 0;
 trav(x, g) tot += x;

 auto works = [&](ll y){
  vector gg = g;

  gg[0] -= y;

  rep(_,0,m-1){
   rep(i,0,m) if(gg[i]<0){
    if(gg[i] < -tot) return false;
    ll pr = gg[i];
    gg[i] = 0;
    gg[r1[i]] += pr;
    gg[r2[i]] += pr;
   }
  }
  trav(x, gg) if(x < 0) return false;
  return true;
 };

 ll lo = g[0], hi = tot+1;
 while(lo+1 < hi){
  ll mi = (lo+hi)/2;
  if(works(mi)) lo = mi;
  else hi = mi;
 }
 return lo;
}

int main(){
 int t;
 cin >> t;
 rep(i,1,t+1){
  cout << "Case #" << i << ": " << solve() << endl;
 }
}






1 de marzo de 2019

Cómo SafeBrowsing de Google ayuda a mantener la web más segura

Google Safe Browsing
La navegación segura de Google ayuda a proteger más de tres mil millones de dispositivos cada día al mostrar advertencias a los usuarios cuando intentan navegar a sitios web comprometidos o descargar archivos peligrosos. La protección de navegación segura funciona en todos los productos de Google y ofrece experiencias de navegación más seguras en Internet.


Este servicio fué creado en el año 2005 por el equipo de seguridad de Google con el propósito de identificar sitios web no seguros y advertir a usuarios y webmasters de daños potenciales.
Para ello, examina a diario miles de millones de URL, software y contenido de páginas.

Cada vez que se añade un sitio web no seguro a la lista, se envía una notificación al webmaster mediante Search Console y se facilita la especificación para eliminar una infección y ejemplos del código concreto que se ha añadido a su sitio web.





Tipos de amenazas web sobre las que Safe Browsing notificará a los usuarios y webmasters:

Malware


Desde 2006, Safe Browsing advierte a los usuarios cuando intentan navegar a sitios que pueden ser maliciosos.

Malware es cualquier software o aplicación móvil diseñada específicamente para dañar una computadora, un dispositivo móvil, el software que se está ejecutando o sus usuarios.

El malware muestra un comportamiento malicioso que puede incluir la instalación de software sin el consentimiento del usuario y la instalación de software dañino como virus.

Google pone a nuestra disposición una página para comprobar el estado de un sitio web: https://transparencyreport.google.com/safe-browsing/search


Safe Browsing Search

Software no deseado


En 2014, añadieron protección contra una amplia categoría de tecnología dañina que han denominado "Software no deseado".

El software no deseado es un archivo ejecutable o una aplicación móvil que se comporta de manera engañosa, inesperada o que afecta negativamente la navegación o la experiencia del usuario.

Los ejemplos incluyen software que cambia su página de inicio u otras configuraciones del navegador o aplicaciones que filtran información privada y personal sin autorización.


En el informe de problemas de seguridad, "Malware" se refiere a un malware basado en la web que opera sin una acción explícita del usuario. "Descargas dañinas" se refiere a un malware o descargas de software no deseadas que el usuario debe descargar explícitamente.

Ingeniería social


Desde 2005, Safe Browsing ha protegido a los usuarios de ataques de ingeniería social en la web.

Un ataque de Ingeniería Social engaña a los usuarios para que realicen una acción que normalmente no harían si supieran la verdadera identidad del atacante.

Un ejemplo común es el Phishing, donde una página intenta robar la contraseña de un usuario u otros datos personales.

Si Google detecta que un sitio web contiene contenido de ingeniería social, el navegador Chrome puede mostrar una advertencia de "Sitio engañoso" cuando los visitantes vean su sitio.


Si crees que Safe Browsing ha clasificado una página web por error, informa de ello en esta página https://safebrowsing.google.com/safebrowsing/report_error/?hl=es

Soluciones a problemas comunes de "no vulnerabilidad"








17 de febrero de 2019

Stack Overflow e InfoJobs se asocian para ofrecer más oportunidades de trabajo

Stack Overflow Jobs
La formula de asociación funciona de la siguiente manera: los trabajos técnicos publicados en InfoJobs también se encontrarán en los trabajos de Stack Overflow Jobs siempre que cumplan con los estándares de calidad de trabajo de Stack Overflow.


El principal requisito de calidad es que las ofertas de empleo deben buscar profesionales cuya principal tarea sea solucionar un problema técnico mediante el desarrollo de software.

¿Cuáles son los motivos de este acuerdo?


Stack Overflow es la comunidad online de programadores más grande del mundo y en España cuenta con 900.000 visitantes cada mes.

En Stack Overflow cualquier persona que codifica puede encontrar soluciones a sus problemas técnicos.

Por otro lado, el Informe Anual del mercado laboral presenta los siguientes datos: en 2018 se publicaron en InfoJobs alrededor de 350.000 vacantes (un 10% más que el año anterior) en búsqueda de profesionales en el sector de la Informática y las Telecomunicaciones.

Y esta demanda seguirá creciendo en virtud de la encuesta realizada a más de 1.000 empresas en la que el 47% de las grandes corporaciones tiene previsto contratar perfiles tecnológicos en los próximos 24 meses.

Dominique Cerri, directora general de InfoJobs, explica que

"el principal beneficio de este acuerdo y que contribuye a un cambio de paradigma en la contratación de profesionales IT para nuestras empresas, es que Stack Overflow se alinea con nuestra ambición de que sean las ofertas las que encuentran al candidato y no el candidato el que debe buscar las ofertas. En este sentido, Stack Overflow sólo muestra las ofertas de empleo a los usuarios que encajan con el perfil solicitado".





Fuente de información: InfoJobs firma un acuerdo con Stack Overflow, la comunidad de programadores más grande del mundo

¿Qué tipo de perfiles profesionales se demandan?


Fundamentalmente:

  • Analistas, Business Intelligence o Data Scientist: roles para personas que escriban código personalizado, no personas que solo usan herramientas de desarrollo.
  • CTO (Chief Technical Officer): máximo responsable del departamento tecnológico, informático y técnico de una compañía.
  • Programadores, diseñadores o ingenieros de software.
  • Gerentes de producto: trabajan en conjunto con los desarrolladores para implementar nuevas características técnicas.
  • Probadores de software (QA o Test Developer).
  • Administradores de sistemas y DevOps (Development Operations).


Code Programmer


¿Cómo puedo optimizar las búsquedas de empleo?


La plataforma permite realizar búsquedas por preferencias de usuario:

  • Búsqueda por tecnología (Acceder)
  • Búsqueda por salario (Acceder).
  • Buscar trabajos más recientes (Acceder).
  • Buscar trabajo en empresas populares (Acceder)

Contratar a los desarrolladores es difícil


Programadores profesionales y aspirantes visitan Stack Overflow cada mes para ayudar a resolver problemas de codificación, desarrollar nuevas habilidades y encontrar oportunidades de trabajo.

Fundada en 2008, Stack Overflow se asocia con empresas para ayudarlas a comprender, comprometer, habilitar y contratar a desarrolladores de todo el mundo.