Material You (Material Design 3) – Tu mejor aliado en el diseño

Hace unos años, Google se propuso crear un sistema de diseño integral y en 2021 lazó  «Material You» (junto con Android 12), y desde ese lanzamiento ha evolucionado hasta el Material Design 3 que tenemos en la actualidad. Este enfoque de diseño busca revolucionar la personalización y estética de los dispositivos, llevando la experiencia del usuario a un nuevo nivel.

«Material You» no solo está disponible en dispositivos Google Pixel, sino también para muchos dispositivos Android, incluyendo tabletas, relojes inteligentes y más. Esto permite a los usuarios disfrutar de una experiencia coherente y personalizada en todos sus dispositivos.

¿Qué es?

Material Design es un sistema de diseño integral dirigido a diseñadores UX y UI, proporcionando un marco estandarizado que combina principios visuales y funcionales. Esta guía de estilos ayuda a crear interfaces de usuario coherentes y atractivas en diversas plataformas y dispositivos. Su objetivo es combinar los principios clásicos del buen diseño con la innovación tecnológica.

Material You introduce un enfoque más simplificado y minimalista, caracterizado por menos sombras, menos estilos de letra, formas más redondeadas y una estética más limpia.

Información y uso

En su web m3.material.io puedes obtener gran cantidad de recursos y componentes que te ayudarán en tus proyectos. Ellos lo describen de la siguiente forma:

Material Design es un sistema adaptable de directrices, componentes y herramientas que respaldan las mejores prácticas de diseño de interfaces de usuario. Respaldado por código abierto, Material Design agiliza la colaboración entre diseñadores y desarrolladores, y ayuda a los equipos a crear rápidamente productos atractivos.

 

¿Estás preparado para utilizarlo en tus proyectos?

Puedes aprender a utilizarlo y mejorar tus habilidades como desarrollador en los cursos gratuitos que ofrece google.

Rarezas y cosas que no sabías de JavaScript

Si eres programador seguro que alguna vez has utilizado JavaScript, aunque sea para pequeñas funciones o mini proyectos. Lo que puede que no sepas es que hay ciertos comportamientos que te podrían resultar extraños o que no son intuitivos para los desarrolladores.

Este sería un ejemplo de lo que os hablo:
'1' + 1 --> "11"
'1' - 1 --> 0

JavaScript. Extraño y hermoso al mismo tiempo, es seguramente el lenguaje de programación que habría inventado Pablo Picasso.

Nulo es un objeto

Empecemos con una de las peculiaridades más conocidas de JavaScript: la naturaleza de null. Aunque null debería representar la ausencia total de valor, en JavaScript se identifica como un objeto, lo que genera cierta confusión. Es contradictorio, ¿verdad? ¿Cómo puede null ser un objeto cuando su propósito es justamente representar la ausencia de cualquier valor significativo? Sin embargo, así es como funciona JavaScript. Aquí tienes la prueba:

A pesar de que null se clasifica como un objeto, no se considera una instancia de ningún objeto. En JavaScript, los valores son instancias de objetos base; por ejemplo, cada número es una instancia del objeto Number, y cada objeto es una instancia del objeto Object. Afortunadamente, en este caso, la lógica se mantiene: dado que null representa la ausencia de valor, no puede ser una instancia de nada. Por eso, la siguiente evaluación es falsa:

NaN es un número

Si ya el null te empezaba a romper la cabeza, el NaN te la va a terminar de romper del todo.  NaN, proviene del acrónimo en inglés «Not a Number» (en español: no es un número). Esto debería hacerte pensar que si comprobamos el tipo «typeof NaN«, nos debería indicar que no es un número, pero no es así. Aquí el ejemplo:

Además, NaN no se considera ni siquiera igual a sí mismo. De hecho no NaN es igual a nada . La única forma de confirmar que algo es NaN a través de la función isNaN().

Un array sin claves es FALSE

Esta es la comprobación que se puede hacer para demostrar el concepto:

new Array() == false  –> Esto da como resultado true

Para entender lo que sucede aquí, es crucial familiarizarse con los conceptos de «verdad» y «falsedad» en JavaScript. Estos términos se refieren a cómo ciertos valores se comportan como verdaderos o falsos en contextos booleanos, algo que puede resultar confuso, especialmente si tienes experiencia en lógica formal o filosofía.

He leído varias explicaciones sobre qué significan estos términos, y la que considero más clara es esta: en JavaScript, cada valor no booleano tiene una propiedad booleana implícita que se activa cuando se le pide que se comporte como un booleano. Esto ocurre, por ejemplo, cuando comparas ese valor con un booleano.

Dado que no se pueden comparar directamente manzanas con peras, cuando JavaScript necesita comparar valores de diferentes tipos de datos, primero los «convierte» a un tipo de dato común. Valores como false, 0, null, undefined, cadenas vacías y NaN se convierten en false, pero solo dentro de la expresión en cuestión. Aquí tienes un ejemplo:

var someVar = 0;
alert(someVar == false); // se evalúa como true

En este caso, estamos comparando el número 0 con el booleano false. Dado que estos tipos de datos son incompatibles, JavaScript convierte internamente 0 a su equivalente booleano, que es false.

Quizás hayas notado que no mencioné las matrices vacías en la lista de valores «falsos» anterior. Las matrices vacías son casos curiosos: en realidad, se evalúan como verdaderas, pero cuando se comparan con un booleano, se comportan como si fueran falsas. ¿Confuso? Con razón. Aquí tienes otro ejemplo:

var someVar = []; // array vacío
alert(someVar == false); // se evalúa como true
if (someVar) alert('hello'); // se ejecuta el alert, así que someVar se evalúa como true

Para evitar este tipo de conversiones automáticas, puedes utilizar el operador de comparación estricta (===), que compara tanto el valor como el tipo de dato, a diferencia de ==, que solo compara valores. Así:

var someVar = 0;
alert(someVar == false); // se evalúa como true – cero es un valor falso
alert(someVar === false); // se evalúa como false – cero es un número, no un booleano

Este tema es extenso y recomiendo investigar más sobre la coerción de datos, que, aunque no es un concepto exclusivo de JavaScript, es especialmente relevante en este lenguaje. Si te interesa profundizar en cómo JavaScript maneja estas comparaciones internamente, te sugiero consultar la sección 11.9.3 de la especificación ECMA-262.

 

Minientrada

Google aumenta las recompensas por vulnerabilidades en Chrome hasta 250.000 dólares

Google ha decidido incrementar las recompensas de su programa de detección de vulnerabilidades en Chrome, ofreciendo ahora hasta 250.000 dólares para investigadores de seguridad que descubran fallos críticos. Este aumento en las recompensas refleja la continua prioridad de Google en la seguridad de su navegador.

El programa de recompensas, que existe desde 2010, ya ha pagado más de 30 millones de dólares a investigadores. Las nuevas recompensas incluyen aumentos significativos en las categorías de vulnerabilidades relacionadas con la «escalada de privilegios en Windows» y otros errores críticos.

El gigante tecnológico también ha anunciado mejoras en la documentación y recursos para investigadores, con el fin de facilitar la identificación de vulnerabilidades. Estos cambios subrayan la importancia de mantener Chrome seguro frente a posibles ataques y explotaciones.

¡Descubre Scanum.io: La Solución Definitiva para el Análisis y la Visualización de Datos!

En la era digital, la capacidad de analizar y visualizar datos de manera eficiente es crucial para el éxito de cualquier negocio. Aquí es donde entra en juego Scanum.io, una plataforma innovadora diseñada para transformar la forma en que manejamos la información.

¿Qué es Scanum.io?

Scanum.io es una poderosa herramienta que permite a las empresas y a los profesionales convertir datos complejos en información valiosa y visualmente atractiva. Su interfaz intuitiva y sus potentes funcionalidades hacen que el análisis de datos sea más accesible y efectivo que nunca.

Características Principales

  • Análisis de Datos Avanzado: Con Scanum.io, puedes realizar análisis profundos y detallados de tus datos en cuestión de minutos. La plataforma soporta una amplia variedad de fuentes de datos y ofrece herramientas de análisis robustas que facilitan la toma de decisiones informadas.
  • Visualización Interactiva: Transforma tus datos en gráficos interactivos y personalizables. Scanum.io ofrece una amplia gama de opciones de visualización, desde gráficos de barras y líneas hasta mapas geográficos y diagramas de dispersión.
  • Integración Sencilla: Integrar tus datos con Scanum.io es fácil y rápido. La plataforma se conecta sin problemas con tus sistemas existentes, permitiendo una importación y sincronización de datos sin complicaciones.
  • Seguridad y Privacidad: La seguridad de tus datos es una prioridad. Scanum.io implementa las mejores prácticas en ciberseguridad para garantizar que tu información esté siempre protegida.
  • Colaboración en Tiempo Real: Facilita la colaboración entre equipos con funciones de compartición de datos y visualizaciones en tiempo real. Trabaja junto a tus colegas en proyectos y presentaciones sin importar dónde te encuentres.

Algunos ejemplos de lo que puede hacer:

Scanum.io no es solo una herramienta, es tu aliado estratégico en la gestión y visualización de datos. Con su enfoque en la simplicidad, seguridad y colaboración, Scanum.io está revolucionando la forma en que las empresas manejan su información.

¡Visita Scanum.io hoy mismo y lleva tu análisis de datos al siguiente nivel!

Ahmia: Navegando en el Mundo de la Deep Web

Internet se podría definir como un océano de información, y mientras que la mayoría de nosotros navegamos en la superficie, existe una parte mucho más grande y menos accesible llamada «deep web.» El problema es  que los recursos que no están indexados en los buscadores convencionales como Google. Y por eso hoy os traigo Ahmia, una herramienta que se especializa en buscar en esa «deep web».

¿Qué es Ahmia?

Ahmia es un motor de búsqueda diseñado específicamente para indexar y mostrar resultados de la deep web, especialmente aquellos que residen en la red Tor. Tor, abreviatura de «The Onion Router,» es un proyecto que permite a los usuarios navegar por la web de forma anónima y acceder a sitios web .onion, que no están disponibles a través de navegadores web convencionales.

¿Cómo Usar Ahmia?

Usar Ahmia es sencillo y similar a cualquier otro motor de búsqueda:

  1. Acceso a Ahmia: Es recomendable usar un navegador compatible con la red Tor, de esta forma se garantiza el anonimato.
  2. Buscar Información: Sirve para encontrar resultados resultados relevantes de sitios .onion y otros recursos de la deep web.
  3. Navegación Segura: Ayuda a filtrar contenido inapropiado, aunque es importante ser consciente de los riesgos.

Diferencia entre Webhooks y APIs

Imagina que estás en una entrevista de trabajo y te preguntan: «¿Podrías explicar la diferencia entre Webhooks y APIs?». Pues hoy te traigo la respuesta a esa pregunta.

API (interfaz de programación de aplicaciones)

Piense en una API como un menú en un restaurante. Tú (el cliente) miras el menú y eliges lo que quieres comer. El camarero (API) toma tu pedido y te trae la comida (dato o servicio) que solicitaste. Es como si pidieras cosas cuando estés listo.

Webhook

Ahora imagina que estás en un restaurante mágico y la comida (datos) llega a tu mesa tan pronto como está lista sin que tengas que pedirla. La cocina (el otro sistema) envía los platos a tu mesa (tu aplicación) cuando están listos. No es necesario que preguntes por cada plato, simplemente aparece cuando está listo.

Entonces, con las API, puedes solicitar cosas cuando las quieres y con los webhooks, las cosas llegan automáticamente cuando están listas. Es como una experiencia de restaurante basada en un menú versus un restaurante que sabe exactamente lo quetú quieres y lo sirve sin que tengas la necesidad de pedirlo.

Uso en el mundo real de API y Webhooks

API (Interfaces de programación de aplicaciones):

  1. Integración de redes sociales: cuando inicias sesión en un sitio web usando tu cuenta de Facebook o Google, las API están en juego. Estas plataformas proporcionan API que permiten que aplicaciones de terceros accedan a los datos del usuario de forma segura.
  2. Pasarelas de pago: servicios como PayPal o Stripe utilizan API para permitir que los sitios web y las aplicaciones procesen pagos en línea.
  3. Aplicaciones meteorológicas: las aplicaciones que proporcionan actualizaciones meteorológicas en tiempo real suelen utilizar API de servicios meteorológicos para buscar y mostrar la información más reciente.
  4. Mapas y servicios de ubicación: aplicaciones como Google Maps utilizan API para proporcionar servicios de mapas y basados ​​en la ubicación.

Webhooks:

  1. Notificaciones en aplicaciones de chat: cuando recibe notificaciones en tiempo real en una aplicación de chat como Slack o Microsoft Teams, a menudo se facilita a través de webhooks.
  2. Actualizaciones de comercio electrónico: en las plataformas de compras en línea, los webhooks pueden activar actualizaciones como confirmaciones de pedidos, notificaciones de envío y cambios de inventario en tiempo real.
  3. Monitoreo y alertas: las herramientas de monitoreo de sistemas a menudo utilizan webhooks para notificar inmediatamente a los administradores o equipos cuando se detecta un problema o anomalía.
  4. Automatización en marketing: los webhooks se utilizan comúnmente en plataformas de automatización de marketing. Por ejemplo, cuando un cliente potencial completa un formulario en un sitio web, un webhook puede desencadenar acciones como enviar correos electrónicos de confirmación o actualizar un sistema CRM.

Algunos Términos de Ciberseguridad Interesantes

El otro día hablamos de los «Tipos de Virus que pueden Dañar tu Ordenador«, hoy toca aprender varios términos que nos ayudarán a comprender merjor la ciberseguridad.

  • Exploit: Se basa en aprovechar vulnerabilidades en sistemas o aplicaciones para lograr un comportamiento no autorizado. En sí, un exploit es un software, un fragmento de datos o una secuencia de comandos que aprovecha un error o una vulnerabilidad de una aplicación o sistema para provocar un comportamiento involuntario o imprevisto.
  • Buffer Overflow: Error en la programación que permite copiar gran cantidad de datos en un área de memoria más pequeña que los datos insertados. Los bytes sobrantes se almacenan en zonas de memoria adyacentes, sobrescribiendo su contenido original, que probablemente pertenecían a datos o código almacenados en memoria. Se puede utilizar esta vulnerabilidad para ejecutar código no autorizado.
  • Sniffing: Ciberataque utilizado para poder escuchar todo lo que sucede dentro de una red. Se suele utilizar para obtener información sensible como usuarios y contraseñas u otros datos confidenciales. Más información relacionada: Enlace.
  • Shellcode: Conjunto de órdenes  que suelen ser inyectadas en la pila de ejecución de un programa para conseguir que la máquina en la que reside se ejecute cierta acción escogida por el atacante. Relacionado con el Buffer Overflow y Exploit.
  • Rootkit: Software malicioso diseñado para darle a un hacker la capacidad de introducirse en un dispositivo y hacerse con el control del mismo. Su objetivo es que el malware no sea detectado durante el mayor tiempo posible para seguir teniendo acceso al sistema.
  • Fuzzing: Técnica de prueba de seguridad que consiste en enviar datos aleatorios, manipulados o maliciosos a una aplicación o sistema con el objetivo de descubrir vulnerabilidades. Está técnica fue desarrollada por el científico Barton Miller para determinar si los puntos débiles de un programa implican un riesgo de seguridad en software o en sistemas de ordenadores.

Poco a poco iremos comentando nuevos términos.

Tipos de Virus que pueden Dañar tu Ordenador

A continuación vamos a hablar de los virus más famosos y populares que pueden dañar tu ordenador y dejarte sin tus datos más valiosos e incluso algo peor.

  • Spyware: Recopila información que hay en tu dispositivo sin que el usuario sea consciente de nada. Más información relacionada: Enlace.
  • Ransomware: Bloquea el equipo y cifra los datos exigiendo un rescate (normalmente monetario) para devolver el acceso a la información. (Más información)
  • Adware: Muestra anuncios no deseados en cualquier interfaz de un ordenado u otro dispositivo.
  • Keylogger: Registra las pulsaciones de teclas que hagas para obtener información confidencia. Aquí tenéis un ejemplo: Enlace.
  • Troyano: Software que se hace pasar por legítimo solo para dañar sistemas.
  • Gusanos: Programas que se propagan sin archivos ejecutables, especialmente peligrosos en redes empresariales interconectadas.
  • Botnets: Infetan dispositivos y les controlan para realizar otros ataques, normalmente DDoS.
  • Malvertising: Anuncios que al darles clic infectan tu ordenador con malware.

Puedes crear una interfaz gráfica sin una línea de código

Seguro que siempre has querido crear tu propia web o app, pero estás empezando a programar y crees que es una tarea muy compleja. Hoy os voy a demostrar una forma muy sencilla para hacerlo.

Primero tienes que ir a Figma. Se trata de una herramienta de diseño basada en la nube que permite a los usuarios crear interfaces de usuario, diseñar prototipos interactivos y colaborar en tiempo real.

Desde ahí podrás arrastrar y soltar elementos. Los vas colocando como quieras y creas la interfaz. Además puedes editar el nombre de los elementos para que después sea más sencillo su uso.

Después te descargas esta librería de Python: tkdesigner 1.0.7. Vas al terminal y escribes pip install tkdesigner.

Una vez lo tenemos instalado debemos volver a Figma y obtener un token personal. Puedes obtenerlo yendo a «ajustes de la cuenta > personal access tokens», creas uno y copias el código para utilizarlo después.

También en Figma, vas al proyecto que has hecho, le das a compartir (share) y copias el link que te da la aplicación.

Ahora en el terminal escribes tkdesigner [enlace-copiado] [token-copiado]. Pulsas «enter» y empezará a generar el código. Después podrás verlo en ejecución con el siguiente comando python .\build\guy.py.

A partir de aquí ya puedes programar las acciones y demás tareas que quieras realizar.

Doxxing: Una Actividad de la que Debes Tener Cuidado

Hoy vamos a introducir un nuevo término sobre ciberseguridad que posiblemente muchos nunca hayáis escuchado. Se trata del doxxing y es un fenómeno creciente en el mundo digital.

A medida que las plataformas en línea se vuelven más interconectadas y las personas comparten más detalles sobre sus vidas, es crucial entender los peligros que nos depara la red, saber cómo protegernos y qué medidas tomar si nos convertimos víctima de algún ciberdelincuente. En este post, exploraremos en profundidad qué es el doxxing, sus implicaciones legales y cómo mantenerse seguro en el entorno digital.

En qué consiste

El doxxing es una práctica maliciosa en la que un individuo busca y divulga información privada y personal sobre otra persona sin su consentimiento. Esta información puede incluir detalles como nombres, direcciones, números de teléfono, emails, datos bancarios, ubicaciones recurrentes (lugar de trabajo, lugares frecuentes de ocio, etc.), entre otros.

Objetivos

Los atacantes suelen utilizar el doxxing con diversos objetivos, pero los más destacados son:

  • Acoso e intimidación: Uno de los objetivos principales es intimidar o acosar a la víctima. Al revelar información personal, como direcciones, números de teléfono o datos familiares, el agresor busca crear miedo y vulnerabilidad en la persona afectada.
  • Amenazas y extorsión: Algunos utilizan la información privada para extorsionar a sus víctimas, demandando dinero u otros favores a cambio de no divulgar más datos sensibles.
  • Venganza: A menudo se utiliza como una forma de represalia personal o profesional. Personas que han tenido desacuerdos o conflictos pueden recurrir a esta práctica para «castigar» a su oponente, exponiendo su información privada.
  • Suplantación de identidad.
  • Daño reputacional: Al publicar información comprometedora o privada, el perpetrador intenta desacreditar a la persona en su comunidad, lugar de trabajo o en redes sociales.
  • Ciberbullying: En el contexto del ciberacoso, el doxxing puede ser una herramienta para continuar y escalar el acoso, afectando tanto a jóvenes como a adultos en distintos entornos. Pueden ver más información sobre esto en otra de nuestras publicaciones: «¡Ciberacoso: Qué es y Cómo Protegerte y Protegerte a tí y a los Demás!«.

¿De dónde obtienen los datos?

Los atacantes pueden recopilar información a través de diversas fuentes:

  • Perfiles de redes sociales.
  • Registros públicos en línea.
  • Bases de datos filtradas.
  • Conversaciones en foros públicos.
  • Mails filtrados.
  • Engañando a la víctima para obtener información comprometedora, como imágenes.
  • Un ataque de phishing o ingeniería social.
  • Utilizar software maligno para acceder a los recursos informáticos de la víctima.
  • (Entre otras)

¿Dónde publican los atacantes la información?

La información de la víctima se puede publicar en redes sociales como Twitter, Facebook, Instagram y TikTok. También en foros, en comentarios de artículos y en otros sitios web.

Consecuencias

Es importante destacar que el doxxing no es una práctica sin leyes específicas, la forma de obtener los datos y la forma en la que se lleva a cabo pueden tener graves consecuencias legales para quienes la llevan a cabo. Entre los delitos se pueden encontrar cargos por acoso, violación de la privacidad, robo de identidad y otras infracciones relacionadas.

Medidas preventivas o de protección

  • Establece buenas medidas de ciberseguridad. El software antivirus y de detección de malware puede impedir que los atacantes roben información a través de aplicaciones maliciosas. Protege tu PC, tablet y smartphone con un antivirus. Mantén actualizado el sistema operativo de tus dispositivos.
  • No brindes contraseñas por correo electrónico, por WhatsApp u otros medios. Asegúrate que las personas que se ponen en contacto contigo son de confianza antes de ofrecerles cierta información sensible.
  • Protege tu dirección IP con una VPN o un proxy. Aquí tienes más información «¿Qué Son las VPN y Por Qué Necesitas una para Navegar Seguro?«.
  • Utiliza siempre contraseñas seguras. Cámbialas periódicamente y utiliza otras medidas de protección como 2FA.
  • Sé cuidadoso con los permisos que tienen tus aplicaciones.
  • Utiliza nombres de usuario diferentes en cada plataforma. De esta forma dificultarás el rastreo de tu identidad en la red.
  • Configura alertas en Google de manera que, si en algún sitio aparece tu nombre o algún dato personal (como un móvil), el buscador te avise y puedas eliminarlo hablando con el responsable de los datos.
  • Configura la privacidad de tus cuentas de redes sociales de pública a privada. Sé responsable al publicar una imagen o video. Debes tener en cuenta que puede ser vista por miles de personas que pueden utilizar tus datos con fines delictivos.

En conclusión, el doxxing es una práctica peligrosa y perjudicial que puede tener serias repercusiones para las víctimas. En un mundo cada vez más interconectado, donde la información personal está a menudo al alcance de un clic, es crucial ser consciente de los riesgos asociados con compartir datos privados en línea y tomar medidas para protegerse.

Las víctimas de doxxing pueden experimentar un gran estrés emocional y físico, y las consecuencias pueden extenderse más allá del ámbito digital, afectando su vida cotidiana y su bienestar general. Es fundamental que tanto los individuos como las organizaciones trabajen para crear un entorno en línea más seguro, promoviendo la conciencia sobre la privacidad digital y la importancia de manejar la información personal con cuidado.

Además, es esencial que las leyes y regulaciones evolucionen para abordar adecuadamente los problemas relacionados con todo tipo de ataques como el doxxing, proporcionando protección y recursos para las víctimas. Al educarnos sobre los peligros de internet y alentar prácticas seguras en línea, podemos contribuir a minimizar este fenómeno y crear una comunidad digital más segura y respetuosa.