sábado, 21 de octubre de 2023

Cómo consumir un API REST en C++ utilizando la biblioteca cURL.


 

 Preparación Asegúrate de que tengas instalada la biblioteca cURL en tu sistema. Puedes instalarla mediante un administrador de paquetes o descargarla desde el sitio web oficial de cURL: https://curl.haxx.se/download.html.

 

Inclusión de encabezados y definición de estructuras:

 

 

En esta sección, se incluyen los encabezados necesarios para trabajar con cURL y se define una estructura llamada MemoryStruct para almacenar la respuesta de la solicitud HTTP. Esta estructura se utiliza para guardar los datos recibidos en la respuesta del servicio REST.

 

Función WriteMemoryCallback:

 

 Esta función se utiliza como una función de devolución de llamada (callback) para procesar los datos recibidos en la respuesta de la solicitud HTTP. Cuando se realiza la solicitud con cURL, esta función se llama automáticamente por cURL para manejar los datos recibidos. Los datos se copian a la memoria asignada dinámicamente (memory en la estructura MemoryStruct) para su posterior procesamiento.

 

Función main:


En la función main, se inicia la biblioteca cURL llamando a curl_easy_init(). Este es el punto de partida para trabajar con cURL. Si la inicialización es exitosa, puedes proceder a configurar y realizar la solicitud HTTP.

Configuración de la solicitud HTTP:

Se crea una estructura MemoryStruct llamada chunk para almacenar la respuesta de la solicitud. Luego, se configura la solicitud HTTP mediante curl_easy_setopt. Se establece la URL del servicio REST, se especifica la función de devolución de llamada para manejar los datos de respuesta y se pasa un puntero a la estructura chunk como datos de escritura.

Realización de la solicitud HTTP:

 

Se utiliza curl_easy_perform para realizar la solicitud HTTP. Luego, se verifica si la solicitud se realizó con éxito y se imprime la respuesta en la consola estándar.

 

Liberación de recursos:

 

 

Inteligencia artificial en países con dictaduras: una amenaza para los derechos humanos


 

La inteligencia artificial (IA) es una tecnología emergente que tiene el potencial de revolucionar muchos aspectos de nuestras vidas. Sin embargo, también existe el riesgo de que la IA se utilice de forma maligna, especialmente en países con dictaduras.

En estos países, los gobiernos tienen un historial de represión y control de la población, y la IA podría proporcionarles nuevas herramientas para hacerlo.

Armas autónomas

La IA podría utilizarse para desarrollar nuevas armas autónomas que sean más letales y difíciles de defender. Esto podría aumentar el riesgo de conflictos armados y violaciones de los derechos humanos.

Por ejemplo, Corea del Norte está desarrollando armas autónomas que podrían utilizarse para atacar a sus enemigos sin la intervención humana.

Las armas autónomas son armas que pueden buscar, identificar y atacar objetivos sin la intervención humana. Esto significa que las armas autónomas pueden tomar decisiones sobre quién es un objetivo y cómo atacarlo sin la intervención de un humano.

¿Cuáles son los tipos de armas autónomas?

Hay dos tipos principales de armas autónomas: armas autónomas letales y armas autónomas no letales.

  • Armas autónomas letales: Las armas autónomas letales son armas que pueden matar a personas. Estas armas son a menudo conocidas como "robots asesinos".
    Armas autónomas letales
  • Armas autónomas no letales: Las armas autónomas no letales son armas que pueden causar lesiones o daño, pero no la muerte. Estas armas se utilizan a menudo para la aplicación de la ley o para controlar a las multitudes. 

¿Cuáles son los riesgos de las armas autónomas?

Hay una serie de riesgos asociados con las armas autónomas. Estos riesgos incluyen:

  • Errores: Las armas autónomas pueden cometer errores, lo que podría resultar en la muerte o lesión de civiles.
  • Abuso: Las armas autónomas podrían ser utilizadas por gobiernos o grupos terroristas para atacar a civiles.
  • Descontrol: Las armas autónomas podrían caer en manos de actores no estatales, lo que podría aumentar el riesgo de conflictos armados.

¿Qué se está haciendo para abordar los riesgos de las armas autónomas?

Hay una serie de esfuerzos para abordar los riesgos de las armas autónomas. Estos esfuerzos incluyen:

  • Prohibición de las armas autónomas letales: Hay un movimiento creciente para prohibir las armas autónomas letales.
  • Desarrollo de normas y estándares: Se están desarrollando normas y estándares para el desarrollo y el uso de las armas autónomas.
  • Educación y sensibilización: Se está trabajando para educar al público sobre los riesgos de las armas autónomas.

Vigilancia masiva

La IA podría utilizarse para realizar una vigilancia masiva de la población, identificar a los opositores y reprimirlos. Esto podría limitar la libertad de expresión y el derecho a la privacidad.

Por ejemplo, China está utilizando IA para controlar el acceso a la información y la comunicación.

Manipulación de la opinión pública

La manipulación de la opinión pública es un uso maligno de la IA que podría tener un impacto negativo en la democracia y los derechos humanos. Los gobiernos dictatoriales podrían utilizar la IA para difundir desinformación, propaganda y campañas de desprestigio contra sus opositores. Esto podría dificultar que la población se organice para exigir cambios y podría fortalecer el control del gobierno.

Algunos ejemplos específicos de cómo la IA se está utilizando para manipular la opinión pública en países con dictaduras incluyen:

  • El uso de bots y cuentas falsas en redes sociales para difundir desinformación y propaganda.
  • El uso de algoritmos para personalizar el contenido que las personas ven en línea, con el fin de influir en sus opiniones.
  • El uso de análisis de datos para identificar a las personas que son más susceptibles a la manipulación.

Impacto negativo en los derechos humanos

La IA también podría utilizarse para violar los derechos humanos de los ciudadanos en países con dictaduras. Los gobiernos podrían utilizar la IA para realizar una vigilancia masiva, identificar a los opositores y reprimirlos. Esto podría limitar la libertad de expresión, el derecho a la privacidad y otros derechos fundamentales.

Algunos ejemplos específicos de cómo la IA se está utilizando para violar los derechos humanos en países con dictaduras incluyen:

  • El uso de cámaras de vigilancia con IA para rastrear los movimientos de los ciudadanos.
  • El uso de análisis de datos para identificar a las personas que son críticas con el gobierno.
  • El uso de algoritmos para predecir el comportamiento de las personas y prevenir que participen en actividades políticas.


Es importante que la comunidad internacional tome medidas para mitigar los riesgos del uso maligno de la IA en dictaduras. Estas medidas podrían incluir:

  • Sanciones: La comunidad internacional podría imponer sanciones a los gobiernos que utilicen la IA de forma maligna.
  • Cooperación: La comunidad internacional podría cooperar para desarrollar herramientas y estrategias para prevenir el uso maligno de la IA.
  • Educación: La comunidad internacional podría educar a la población sobre los riesgos del uso maligno de la IA.

Llamada a la acción

La comunidad internacional debe actuar ahora para prevenir que la IA se utilice de forma maligna en países con dictaduras.

Citas

  • "Armas autónomas: un riesgo emergente para la seguridad internacional". Informe del Grupo de Expertos sobre Armas Autónomas de la Organización de las Naciones Unidas, 2021.
  • "La vigilancia masiva de China: una amenaza para los derechos humanos". Informe de Amnistía Internacional, 2022.
  • "La manipulación de la opinión pública: una amenaza a la democracia". Informe del Consejo Europeo para la Democracia, 2023.

Detalles adicionales

Además de los usos malignos mencionados anteriormente, la IA también podría utilizarse para:

  • Fomentar la discriminación y la intolerancia: La IA podría utilizarse para crear sistemas de clasificación que discriminen a ciertos grupos de personas, como los miembros de minorías o los disidentes políticos.
  • Limitar el acceso a la información: La IA podría utilizarse para controlar el flujo de información y censurar a los medios de comunicación independientes.
  • Perseguir a los activistas: La IA podría utilizarse para identificar y perseguir a los activistas que trabajan por la democracia y los derechos humanos.

El impacto de la IA en países con dictaduras es un tema complejo y en constante evolución. Es importante que la comunidad internacional siga de cerca este desarrollo y tome medidas para mitigar los riesgos del uso maligno de la IA.

Nuevas Protecciones de Gmail para un Buzón Más Seguro y Menos Lleno de Spam



 El correo electrónico se ha convertido en una parte esencial de nuestra comunicación diaria, ya sea para solicitar un empleo o mantenerse en contacto con seres queridos. En este contexto, es fundamental que nuestros correos electrónicos sean seguros y estén protegidos.

Las defensas impulsadas por la inteligencia artificial de Gmail bloquean más del 99.9% del spam, el phishing y el malware, evitando que lleguen a nuestras bandejas de entrada y bloqueando cerca de 15 mil millones de correos no deseados cada día. Sin embargo, las amenazas a las que nos enfrentamos, casi 20 años después del lanzamiento de Gmail, son más complejas y apremiantes que nunca.

Hoy, presentamos nuevos requisitos para los remitentes masivos: aquellos que envían más de 5,000 mensajes a direcciones de Gmail en un día. Esto tiene como objetivo mantener tu bandeja de entrada aún más segura y libre de spam.

Enfocados en la Validación de Correo Electrónico

Muchos remitentes masivos no aseguran ni configuran adecuadamente sus sistemas, lo que permite que los atacantes se oculten entre ellos. Para abordar este problema, hemos centrado nuestra atención en un aspecto crucial de la seguridad del correo electrónico: la validación del remitente. Puede sonar básico, pero a veces resulta imposible verificar la procedencia de un correo debido a la maraña de sistemas obsoletos e inconsistentes en internet.

El año pasado, comenzamos a requerir que los correos enviados a direcciones de Gmail debían contar con algún tipo de autenticación. Esto hizo que la cantidad de mensajes no autenticados que los usuarios de Gmail recibían disminuyera en un 75%, contribuyendo a despejar sus bandejas de entrada y bloqueando miles de millones de mensajes maliciosos con mayor precisión.

Aunque hemos logrado un gran avance, sabemos que hay mucho más por hacer, y eso incluye implementar nuevos requisitos para los remitentes masivos.

Nuevos Requisitos para los Remitentes Masivos

A partir de febrero de 2024, Gmail comenzará a requerir que los remitentes masivos:

  1. Autentiquen sus correos electrónicos: No deberías preocuparte por las complejidades de los estándares de seguridad del correo electrónico, pero deberías poder confiar plenamente en la fuente de un correo. Por ello, estamos exigiendo que aquellos que envíen volúmenes significativos autentiquen sus correos electrónicos siguiendo las mejores prácticas establecidas. Esto cerrará las lagunas explotadas por los atacantes que amenazan a todos los usuarios de correo electrónico.

  2. Faciliten la cancelación de suscripciones: No deberías tener que saltar obstáculos para dejar de recibir mensajes no deseados de un remitente en particular. Debería bastar con un clic. Por eso, estamos exigiendo que los remitentes masivos ofrezcan a los destinatarios de Gmail la posibilidad de darse de baja de los correos comerciales con un solo clic, y que procesen las solicitudes de baja en un plazo de dos días. Hemos basado estos requisitos en estándares abiertos, de modo que una vez que los remitentes los implementen, todos los usuarios de correo electrónico se beneficiarán.

  3. Aseguren que están enviando correos deseados: Nadie quiere recibir spam, y Gmail ya incluye muchas herramientas para mantener fuera de tu bandeja de entrada mensajes no deseados. Para añadir una capa adicional de protección, de aquí en adelante, haremos cumplir un umbral claro de spam que los remitentes deben mantener, garantizando que los destinatarios de Gmail no sean bombardeados con mensajes no deseados. Esto es algo sin precedentes en la industria y, como resultado, deberías ver aún menos spam en tu bandeja de entrada.

No somos los únicos que abogan por estos cambios. Nuestros socios de la industria también ven la necesidad apremiante de instituirlos. "No importa quién sea el proveedor de correo electrónico, todos los usuarios merecen la experiencia más segura y segura posible", afirma Marcel Becker, Director Sénior de Productos en Yahoo. "En el mundo interconectado del correo electrónico, todos debemos trabajar juntos. Yahoo espera trabajar con Google y el resto de la comunidad de correo electrónico para convertir estos cambios de sentido común y alto impacto en el nuevo estándar de la industria".

Estas prácticas deben considerarse como una higiene básica del correo electrónico, y muchos remitentes ya cumplen con la mayoría de estos requisitos. Para aquellos que necesitan ayuda para mejorar sus sistemas, proporcionaremos una guía clara antes de que se apliquen estas medidas en febrero de 2024.

Estos cambios son como una puesta a punto para el mundo del correo electrónico. Al ajustar algunos elementos bajo el capó, podemos mantener el correo electrónico funcionando sin problemas. Pero, al igual que una puesta a punto, esto no es un ejercicio único. Mantener el correo electrónico más seguro, fácil de usar y sin spam requiere una colaboración y vigilancia constantes de toda la comunidad de correo electrónico. Seguiremos trabajando juntos para asegurarnos de que tu bandeja de entrada siga siendo segura.

viernes, 20 de octubre de 2023

El Impacto de las Dictaduras en el Desarrollo Tecnológico: El Caso de Cuba

    Las dictaduras tienen un impacto negativo en el desarrollo tecnológico de los países. Estas regímenes políticos suelen restringir la libertad de expresión, la libertad de prensa y la libertad de asociación. Esto dificulta la innovación y el desarrollo de nuevas tecnologías.

    El caso de Cuba es un ejemplo de cómo una dictadura puede retrasar el desarrollo tecnológico. Cuba es un país con un régimen comunista que ha estado en el poder durante más de 60 años. Durante este tiempo, el gobierno cubano ha controlado estrictamente el acceso a las tecnologías de la información.

    Algunos de los factores que han contribuido al retraso tecnológico en Cuba son:

  • El control gubernamental del acceso a internet: el gobierno cubano controla el acceso a internet, lo que limita la capacidad de los ciudadanos para acceder a información e información.
    Control gubernamental del acceso a internet en Cuba
  • La falta de inversión en educación tecnológica: el gobierno cubano ha invertido poco en educación tecnológica, lo que limita la capacidad de los ciudadanos para desarrollar las habilidades necesarias para utilizar las tecnologías de la información.
    La falta de inversión en educación tecnológica en Cuba
  • La represión de la innovación: el gobierno cubano ha reprimido la innovación, lo que dificulta el desarrollo de nuevas tecnologías en el país.
    Represión de la innovación en Cuba

    Como resultado de estos factores, Cuba tiene una tasa de penetración de internet del 4,12%, una de las más bajas del mundo. Además, solo el 12,90% de los hogares cubanos tienen una computadora.

    El retraso tecnológico tiene un impacto negativo en el desarrollo económico y social de Cuba. Los países con un alto nivel de desarrollo tecnológico son más competitivos y tienen mejores oportunidades de crecimiento económico. Además, las tecnologías de la información pueden ayudar a mejorar la educación, la salud y la calidad de vida de las personas.

    Para superar el retraso tecnológico, Cuba necesita abordar los desafíos mencionados anteriormente. Es necesario invertir en educación, promover la innovación y crear un entorno favorable para la inversión en tecnologías de la información.

¿Por qué deberías usar Bing en lugar de Google?


 

Google es el motor de búsqueda más popular del mundo, con una cuota de mercado del 92%. Sin embargo, Bing, el motor de búsqueda de Microsoft, está ganando terreno. En los últimos años, Bing ha mejorado significativamente su rendimiento, ofreciendo una serie de ventajas sobre Google.

Ventajas de Bing

  • Resultados más relevantes: Bing utiliza un algoritmo de búsqueda diferente al de Google, que se centra en la relevancia de los resultados. Esto significa que Bing suele ofrecer resultados más relevantes para las consultas de los usuarios.
  • Más funciones y características: Bing ofrece una serie de funciones y características que Google no tiene, como por ejemplo:
    • Bing Rewards: un programa de recompensas que permite a los usuarios ganar dinero o tarjetas regalo por realizar búsquedas.
    • Bing Maps: un servicio de mapas que ofrece funciones y características avanzadas, como por ejemplo:
      • Vistas en 3D
      • Información de tráfico en tiempo real
      • Mapas sin conexión
    • Bing Travel: un servicio de viajes que permite a los usuarios comparar precios de vuelos, hoteles y coches de alquiler.
  • Mayor privacidad: Bing tiene una política de privacidad más estricta que Google. Bing no rastrea las actividades de los usuarios ni recopila datos personales para fines de publicidad.

Google y las búsquedas orgánicas

Google ha sido criticado por favorecer los resultados de pago en los resultados de búsqueda orgánica. Esto significa que los sitios web que pagan por aparecer en los primeros resultados de búsqueda tienen más probabilidades de ser vistos por los usuarios.

Esta práctica ha sido perjudicial para las pequeñas empresas y los sitios web independientes, que tienen más dificultades para competir con los grandes anunciantes.

¿Por qué deberías probar Bing?

Si estás buscando un motor de búsqueda que ofrezca resultados más relevantes, más funciones y características, y una mayor privacidad, deberías probar Bing.

Bing es una buena opción para los usuarios que desean:

  • Obtener resultados más relevantes para sus consultas.
  • Acceder a funciones y características avanzadas que Google no ofrece.
  • Proteger su privacidad.

¿Cómo cambiar a Bing?

Cambiar a Bing es muy sencillo. Simplemente abre tu navegador web y escribe "bing.com" en la barra de direcciones. A continuación, haz clic en el botón "Iniciar sesión" para crear una cuenta de Microsoft.

Una vez que hayas creado una cuenta, podrás empezar a utilizar Bing para realizar búsquedas.

¿Qué opinas?

¿Crees que Bing es una buena alternativa a Google? ¿Cuáles son las ventajas que más te gustan de Bing?

Cómo Crear una Extensión para Chrome en 10 Sencillos Pasos

 Las extensiones de Chrome son pequeños programas que amplían las funcionalidades del navegador Google Chrome. En esta guía, aprenderás a crear una extensión básica desde cero. No se requiere experiencia previa en programación.

Las 10 extensiones que mejoran la navegación en Google Chrome - Infobae

 Configuración del Entorno de Desarrollo

Instalar Google Chrome: Si aún no tienes Google Chrome instalado, descárgalo e instálalo en tu computadora. Debes utilizar Chrome como navegador principal para probar tus extensiones.

Editor de Código: Utiliza un editor de código de tu elección. Recomiendo Visual Studio Code, que es gratuito y fácil de usar.

Crear la Estructura de Carpetas 3. Crea una Carpeta: En tu computadora, crea una carpeta para tu extensión. Nombremos esta carpeta "MiPrimeraExtension."

Archivo de Manifiesto 4. Crear el Archivo de Manifiesto: En la carpeta "MiPrimeraExtension," crea un archivo llamado "manifest.json". El manifiesto es un archivo importante que define la extensión y sus propiedades.

Editar el Manifiesto: Abre "manifest.json" en tu editor de código y agrega el siguiente código básico:

json
{ "manifest_version": 3, "name": "Mi Primera Extensión", "version": "1.0", "description": "Una extensión simple de Chrome", "permissions": [ "activeTab" ], "action": { "default_popup": "popup.html", "default_icon": { "16": "images/icon16.png", "48": "images/icon48.png", "128": "images/icon128.png" } } }

Este código define información básica sobre la extensión, como su nombre y descripción, así como los íconos y la página emergente.

Archivo HTML para la Página Emergente 6. Crear la Página Emergente: En la misma carpeta, crea un archivo llamado "popup.html." Esta será la página que aparecerá cuando hagas clic en el ícono de la extensión.

Editar la Página Emergente: Abre "popup.html" y agrega el siguiente código HTML simple:

 
<!DOCTYPE html>
<html>
<head>
  <title>Mi Extensión</title>
</head>
<body>
  <h1>Hola, esta es tu primera extensión de Chrome.</h1>
</body>
</html> 

Íconos para la Extensión 8. Preparar Íconos: Crea tres imágenes PNG para los íconos de la extensión con tamaños de 16x16, 48x48 y 128x128 píxeles. Guárdalas en una carpeta llamada "images" dentro de tu carpeta "MiPrimeraExtension."

Cargar la Extensión 9. Acceder a Chrome: Abre Google Chrome y visita "chrome://extensions/". Asegúrate de que la casilla de "Modo de desarrollador" esté marcada en la esquina superior derecha.

Cargar la Extensión: Haz clic en "Cargar extensión no empaquetada" y selecciona la carpeta "MiPrimeraExtension."

¡Y eso es todo! Has creado y cargado tu primera extensión de Chrome. Ahora, deberías ver el ícono de tu extensión en la barra de herramientas de Chrome. Cuando hagas clic en él, se mostrará el mensaje que definiste en "popup.html."


 
Escribe en comentarios si quieres que hagamos una extension mas compelja en nuestra proxima 
entrada

jueves, 19 de octubre de 2023

¿Por qué debería actualizar a JDK 21?



JDK 21 fue lanzado el 19 de septiembre de 2023 y es la última versión de soporte a largo plazo (LTS) de Java. Las versiones LTS son compatibles durante al menos ocho años, por lo que JDK 21 será compatible hasta al menos 2031.

JDK 21 incluye una serie de nuevas características y mejoras, que incluyen:

  • Hilos virtuales: Los hilos virtuales son un nuevo tipo de hilo que es más ligero y eficiente que los hilos tradicionales. Son ideales para tareas que son altamente concurrentes y necesitan ser receptivas.
  • Concurrencia estructurada: La concurrencia estructurada es una nueva API que facilita la escritura de código concurrente. Proporciona una serie de características que ayudan a reducir el riesgo de condiciones de carrera y bloqueos.
  • Valores delimitados: Los valores delimitados son un nuevo tipo de variable que se puede utilizar para encapsular valores que solo se necesitan dentro de un cierto ámbito. Esto puede ayudar a mejorar la legibilidad y el mantenimiento del código.
  • Colecciones secuenciadas: Las colecciones secuenciadas son un nuevo tipo de colección que garantiza que los elementos de la colección se procesarán en el orden en que se agregaron. Esto puede ser útil para tareas como el registro y la auditoría.
  • Patrones de registro: Los patrones de registro son un nuevo tipo de patrón que se puede utilizar para deconstruir valores de registro. Esto puede facilitar la escritura de código que funciona con registros.
  • Plantillas de cadenas: Las plantillas de cadenas son una nueva forma de crear cadenas que le permite incrustar expresiones y procesadores de plantillas. Esto puede ser útil para generar contenido dinámico.

Además de estas nuevas características, JDK 21 también incluye una serie de correcciones de errores y mejoras de rendimiento.

Si está utilizando Java, le recomiendo que actualice a JDK 21 lo antes posible. Es una versión importante con una serie de características y mejoras que pueden hacer que su código sea más eficiente, confiable y fácil de mantener.

miércoles, 18 de octubre de 2023

Lanzamiento de Telerik y Kendo UI R3 2023: ¡Mira qué hay de nuevo!

21 Best Kendo UI Alternatives - Reviews, Features, Pros & Cons -  Alternative.me

La temporada de calabazas de 2023 nos da la bienvenida con el último lanzamiento de Telerik y Kendo UI, que trae consigo más de 30 nuevos componentes de interfaz de usuario, documentación enriquecida del sistema de diseño, múltiples opciones de personalización, cumplimiento de CSP y la última versión del estándar de accesibilidad WCAG 2.2, una experiencia de informes modernizada con soporte para Linux ¡y mucho más!

Destacados del Lanzamiento R3 2023

Experiencia de Usuario Personalizada con Estilo y Personalización Eficientes

  1. Mejora de las capacidades del Sistema de Diseño:

    • En este lanzamiento, hemos ampliado la documentación del Sistema de Diseño, lanzada en R2 2023, detallando meticulosamente más componentes. El sitio dedicado del Sistema de Diseño ofrece una amplia gama de recursos, activos de diseño y documentación frontend específicamente adaptada para las bibliotecas Telerik y Kendo UI.
  2. Nuevas Integraciones en ThemeBuilder y Más:

    • Nuestra potente aplicación Progress ThemeBuilder ahora admite siete nuevos componentes, impulsando casos consistentes de estilo y personalización de la interfaz de usuario. También se ha potenciado con nuevas capacidades, como el soporte para iconos SVG, un nuevo tema Classic basado en Sass, variantes de componentes y más.
  3. Potentes Capacidades de Personalización en Todos los Ámbitos:

    • Hemos agregado múltiples capacidades nuevas de personalización, como el formato de fecha Gantt en los encabezados de la línea de tiempo, para asegurar que ningún requisito de la aplicación se quede atrás.

Aplicaciones Seguras y Conformes con WCAG 2.2

  1. Mejora de la Accesibilidad con el Estándar WCAG 2.2:

    • Continuamos nuestros esfuerzos para mejorar la accesibilidad general de los componentes web de Telerik y Kendo UI, ahora asegurando el cumplimiento con WAI-ARIA, la Sección 508 y el recién lanzado estándar WCAG 2.2.
  2. Cumplimiento Estricto con CSP:

    • Mejorar el Cumplimiento de Seguridad de Contenido (CSP) de los productos Telerik y Kendo UI fue uno de nuestros principales objetivos en 2023. En R3 2023, hemos dado el paso final en esta dirección, lo que nos permite proporcionar un sistema de iconos seguro y eficiente, y la opción de cargar y hacer referencia solo a los recursos necesarios.

Nuevos Componentes de Interfaz de Usuario Destacados

  1. Migración de Escritorio a Web:

    • DockManager, para migrar de escritorio a la web, ahora se ha agregado a las bibliotecas Telerik UI para ASP.NET Core/MVC y Kendo UI para jQuery. Ayuda a recrear las experiencias a las que los usuarios de escritorio están acostumbrados en sus aplicaciones web.
  2. Funcionalidad de Hoja de Cálculo para Angular:

    • Potencie sus aplicaciones Kendo UI para Angular con una funcionalidad robusta similar a Excel gracias al componente de Hoja de Cálculo recién introducido.
  3. Nuevos Componentes de Visualización de Datos:

    • Para satisfacer las necesidades de visualización web en un mundo impulsado por datos, damos la bienvenida a varios nuevos componentes de visualización de datos, como Trendline, Pyramid, KendoReact OrgChart y varias otras series de gráficos.
  4. Nuevos Controles en Blazor:

    • Para una modernización más rápida de las aplicaciones, Telerik UI para Blazor y las bibliotecas .NET MAUI han agregado nuevos componentes, incluidos ListBox y DropDownButton.
  5. Capacidades de Programación y un Componente de NavigationView Innovador en .NET MAUI:

    • Un nuevo componente de programación en .NET MAUI ofrece una experiencia de calendario en la aplicación similar a Outlook o Google Calendar, mientras que el innovador control NavigationView garantiza una experiencia de navegación consistente.
  6. Nuevos Controles para Aplicaciones de Escritorio:

    • Continuamos mejorando nuestras bibliotecas de escritorio con nuevos componentes, incluidos SlideView, PipsPager, control SVG y Chat (Interfaz Conversacional) para satisfacer cualquier requisito avanzado de escritorio.

Impulso de Productividad con Funciones Robustas y Soporte para los Últimos Marcos de Trabajo

  1. Implementación Multiplataforma de Aplicaciones de Telerik Reporting:

    • Telerik Reporting ahora admite Linux gracias a una biblioteca de gráficos basada en SkiaSharp que permite la implementación en Linux de aplicaciones .NET 6+.
  2. Experiencia de Programación Modernizada:

    • Una Visor de Informes Angular nativo y soporte incorporado para la configuración de medidores son algunas de las otras mejoras para ayudar a los desarrolladores a llevar sus esfuerzos de informes al siguiente nivel.
  3. Tecnología de Depuración Actualizada:

    • Asegurar ciclos de desarrollo más rápidos y mantenerse al tanto de los esfuerzos de solución de problemas es pan comido con el soporte oficial de HTTP/2, la experiencia mejorada de incorporación y Composer, y más en la popular solución de depuración Fiddler Everywhere.
  4. Mejoras Múltiples en la Rejilla en las Bibliotecas de Telerik y Kendo UI:

    • Mejoras como un Menú Contextual dedicado garantizan que los desarrolladores estén equipados con una rejilla de alto rendimiento y con todas las funciones para cubrir cualquier requisito de aplicación con mucho peso de datos.
  5. Soporte Continuo de Últimos Marcos de Trabajo de Microsoft:

    • Siguiendo la evolución de .NET 8, los productos Telerik ahora cuentan con compatibilidad con la última versión preliminar de .NET 8.

El lanzamiento de Telerik y Kendo UI R3 2023 es significativo, con nuevas funciones y mejoras que beneficiarán a los desarrolladores de todos los niveles. Si aún no usas Telerik o Kendo UI, te recomiendo que los pruebes hoy mismo. Y si eres un usuario existente, asegúrate de actualizar a la última versión para aprovechar todo lo que R3 2023 tiene para ofrecer.


Finalizara del soporte de Atlassian para Bitbucket Server el 15 de febrero de 2024

Provide Server Descriptions 

Atlassian ha anunciado que finalizará el soporte para sus productos Server, incluido Bitbucket Server, el 15 de febrero de 2024. Descubre cómo esto afectará a tu equipo, cuáles son tus opciones y cómo puedes migrar a GitHub.

El reloj está en marcha: el soporte de Atlassian para Bitbucket Server termina el 15 de febrero de 2024. Desde el 15 de febrero de 2024, los usuarios de Bitbucket Server ya no recibirán:

  • Soporte técnico
  • Actualizaciones de seguridad
  • Correcciones de errores para vulnerabilidades

Esto representa un cambio significativo para los clientes actuales que han invertido en Bitbucket Server y lo utilizan en su ciclo de vida de desarrollo de software.

Opciones para los clientes actuales de Bitbucket Server:

  1. Permanecer en Bitbucket Server: Continuar usando Bitbucket Server sin soporte y asumir riesgos de seguridad.

  2. Cambiar a Bitbucket Data Center: Cambiar tu licencia a Bitbucket Data Center implica un aumento significativo en los costos anuales, aunque ofrece mejor rendimiento y confiabilidad.

  3. Cambiar a Bitbucket Cloud: La opción de nube de Atlassian, Bitbucket Cloud, es la recomendación de migración, pero puede presentar brechas significativas en características y no ser adecuada para todas las organizaciones.

  4. Migrar a otra plataforma, como GitHub: Considerar migrar a GitHub, una plataforma integrada, lista para la empresa y con capacidades superiores.

¿Por qué migrar a GitHub?

GitHub ofrece una plataforma unificada, integrada y lista para la empresa que satisface las necesidades tanto de los desarrolladores como de las organizaciones. A diferencia de las ofertas de Atlassian, GitHub proporciona una solución integral y eficiente operacionalmente.

Pasos para migrar a GitHub:

  1. Datos y flujos de trabajo: Migrar tu código, historial de colaboración y flujos de trabajo de CI/CD.

  2. Migrar tu código y historial de colaboración: GitHub Enterprise Importer facilita la migración de repositorios y solicitudes de extracción desde Bitbucket Server a GitHub Enterprise Cloud.

  3. Migrar flujos de trabajo CI/CD: Dependiendo de la herramienta CI/CD que uses con Bitbucket Server, puedes seguir usándola o migrar a GitHub Actions.

  4. Integraciones: Asegurarte de que tus integraciones estén disponibles en el Marketplace de GitHub o ajustarlas según sea necesario.

El 15 de febrero de 2024 está a la vuelta de la esquina. ¿Estás listo para la transición? Descubre cómo asegurarte de que tu equipo siga siendo productivo y seguro después del fin del soporte de Bitbucket Server.

Historia del "DLL Hell" a principios de los 90


 

Las DLLs se introdujeron por primera vez en Windows 3.1 en 1992. Las DLLs permiten a los desarrolladores compartir código entre diferentes aplicaciones, lo que reduce la cantidad de código que debe escribirse y mantener.

En los primeros años de Windows, el infierno de las DLLs era un problema relativamente común. Esto se debía a que los desarrolladores no estaban familiarizados con las DLLs y no siempre tomaban las medidas necesarias para evitar conflictos.

Por ejemplo, un desarrollador podría instalar una DLL que proporciona una nueva función para una aplicación. Sin embargo, si otra aplicación ya está utilizando una DLL que proporciona la misma función, podría producirse un conflicto.

La introducción del Windows DLL Manager

Microsoft ha tomado medidas para abordar el problema del infierno de las DLLs. En Windows 95, se introdujo el sistema de administración de DLLs de Windows (Windows DLL Manager). Este sistema ayuda a evitar conflictos al resolver automáticamente qué DLL se debe cargar en caso de conflicto.

El Windows DLL Manager funciona asignando un número de versión a cada DLL. Cuando un programa intenta cargar una DLL, el Windows DLL Manager busca la DLL con el número de versión más alto.

Si hay varias DLLs con el mismo número de versión, el Windows DLL Manager intentará resolver el conflicto utilizando un algoritmo de resolución de conflictos.

El infierno de las DLLs en la actualidad

El infierno de las DLLs sigue siendo un problema potencial en los sistemas operativos de Microsoft. Esto se debe a que los desarrolladores aún pueden instalar DLLs que tienen el mismo nombre o versión.

Además, el Windows DLL Manager no siempre es capaz de resolver todos los conflictos de DLLs.

Aquí hay algunos ejemplos de cómo el infierno de las DLLs puede causar problemas:

  • Una aplicación puede dejar de funcionar o incluso bloquearse.
  • El sistema operativo puede mostrar un error o una pantalla azul de la muerte.
  • El sistema operativo puede ralentizarse o incluso dejar de responder.

Consejos para evitar el infierno de las DLLs

Hay algunas cosas que puede hacer para evitar el infierno de las DLLs:

  • Instalar las DLLs de los proveedores de software autorizados.
  • Actualizar las DLLs a la última versión disponible.
  • Utilizar un administrador de DLLs para ayudar a evitar conflictos.

Si experimenta problemas con el infierno de las DLLs, puede intentar desinstalar o actualizar las DLLs conflictivas. También puede intentar utilizar un administrador de DLLs para resolver el conflicto.

Administradores de DLLs

Un administrador de DLLs es una herramienta que puede ayudar a evitar conflictos de DLLs. Los administradores de DLLs funcionan escaneando su sistema en busca de DLLs y luego resolviendo cualquier conflicto que encuentren.

Hay varios administradores de DLLs disponibles, como DLL-Hell, DLL-Fixer y DLL Suite.

Comparativa con Linux

En Linux, las bibliotecas de enlace dinámico (DLL) se denominan "shared object files" (archivos de objeto compartidos) y tienen la extensión ".so".

Linux utiliza un sistema de administración de archivos de objeto compartidos diferente al de Windows. En Linux, los archivos de objeto compartidos se almacenan en un directorio específico, conocido como "/lib" o "/usr/lib".

Cuando un programa intenta cargar un archivo de objeto compartido, el sistema operativo busca el archivo en el directorio específico. Si el archivo no se encuentra en el directorio, el sistema operativo intentará encontrarlo en el directorio de inicio del usuario.

Este sistema de administración de archivos de objeto compartidos hace que sea mucho menos probable que se produzcan conflictos de archivos de objeto compartidos en Linux. Esto se debe a que los archivos de objeto compartidos se almacenan en un solo directorio, lo que facilita al sistema operativo encontrar la versión correcta del archivo.

Además, Linux utiliza un algoritmo de resolución de conflictos de archivos de objeto compartidos más estricto que el de Windows. Este algoritmo de resolución de conflictos evita que se carguen archivos de objeto compartidos que tienen el mismo nombre o versión.

Por estas razones, el infierno de las DLLs es un problema mucho menos común en Linux que en Windows.

Aquí hay una tabla que compara los sistemas de administración de DLLs de Windows y Linux

 

CaracterísticaWindowsLinux

Nombre

DLL

shared object file (archivo de objeto compartido)

Extensión

.dll

.so

Directorio de almacenamiento

Varios directorios

/lib o /usr/lib

Algoritmo de resolución de conflictos

Menos estricto

Más estricto

Probabilidad de conflictos

Más probable

Menos probable

 

Referencias:



















martes, 17 de octubre de 2023

Novedades Quasar Framework v2.13.0


 

Quasar es un aclamado framework de desarrollo web y móvil de código abierto basado en Vue.js. Su facilidad de uso, rendimiento y extensa gama de características lo han convertido en una herramienta esencial para desarrolladores. El equipo detrás de Quasar no se detiene y ha introducido emocionantes características y correcciones en su documentación y componentes.

Nuevas Incorporaciones

  • Ampliando Horizontes: Ahora, la documentación de Quasar soporta alemán (Suiza) y alemán (Alemania).
  • Clasificación Inteligente: El componente QTable cuenta con una nueva propiedad, rawSort, que facilita la clasificación de filas con valores nulos o indefinidos.

Corrección de errores

  • Accesibilidad de QTree: El componente QTree se ha mejorado para hacerlo más accesible.
  • Panning de QTime: El componente QTime ahora permite el panning incluso cuando el modelo está vacío.
  • Debounce de QSelect: La prop input-debounce del componente QSelect ahora también afecta al evento input-value.
  • Comportamiento del backspace de QSelect: El comportamiento del backspace del componente QSelect se ha corregido.
  • Máscara de QInput: El componente QInput ahora maneja correctamente la limpieza del modelo cuando se utiliza una máscara.
  • Eventos del mouse de QScrollArea: El componente QScrollArea ahora desencadena correctamente los eventos del mouse en su contenido en iOS.
  • Definiciones internas de ui/build: Se han eliminado las definiciones internas de los JSON de la API.

 

Quasar continúa su compromiso con la excelencia, brindando a los desarrolladores las mejores herramientas. Las novedades recientes en la documentación y componentes fortalecen su posición como un framework excepcional.

Estas incorporaciones y mejoras permiten a los desarrolladores aprovechar al máximo Quasar, creando aplicaciones más potentes y accesibles. ¡No te pierdas las emocionantes actualizaciones que Quasar tiene para ofrecer!

Dos IAs, un juego DOS: DeepSeek planeó, Nemotron programó… y salió muy básico (pero jugable)

   El experimento: revivir el Paratrooper de los 90 sin escribir una línea de código        Hace unos días quise jugar al mítico Paratrooper...