Category: Desarrollo

Los equipos de seguridad de cURL y Go rechazan el sistema de puntuación CVSS defectuoso

2025-01-27
Los equipos de seguridad de cURL y Go rechazan el sistema de puntuación CVSS defectuoso

Los equipos de seguridad de cURL y Go han denunciado públicamente el Sistema Común de Puntuación de Vulnerabilidades (CVSS) como defectuoso para evaluar vulnerabilidades, abogando por enfoques más precisos y contextuales. El enfoque único para todos del CVSS a menudo lleva a puntuaciones engañosas, especialmente para proyectos como cURL, con miles de millones de instalaciones. Daniel Stenberg, creador de cURL, destacó el fracaso del CVSS para tener en cuenta los contextos específicos, lo que resulta en puntuaciones infladas o inexactas. El equipo de seguridad de Go se hizo eco de estos sentimientos, optando por evaluaciones de gravedad impulsadas por el contexto. Esto destaca la creciente insatisfacción con el CVSS e impulsa la búsqueda de alternativas mejores. Sin embargo, este enfoque impulsado por el contexto enfrenta desafíos, ya que los mantenedores luchan por evaluar con precisión todos los escenarios de uso. Un choque cultural entre investigadores de seguridad y mantenedores de código abierto complica aún más el problema, con investigadores buscando reconocimiento y mantenedores enfocándose en el impacto práctico. El problema de retraso del NVD exacerba la situación.

Actualización del archivo del foro de Autodesk: reacción de la comunidad y ajustes

2025-01-27

Los recientes cambios en la política de archivo del foro de Autodesk provocaron una fuerte reacción de la comunidad. El plan inicial de archivar una gran cantidad de publicaciones del foro, incluidos códigos y soluciones valiosas, resultó en la pérdida de información y quejas de los usuarios sobre enlaces rotos y falta de conocimiento. Ante la presión, Autodesk revisó su política, afirmando que las Tablas de Ideas no se archivarán y que los temas del foro con 'soluciones aceptadas' se conservarán junto con las publicaciones relacionadas. Están trabajando para recuperar parte del contenido archivado, pero debido a limitaciones técnicas, la restauración completa no está garantizada. Este incidente destaca la importancia de la comunicación entre la empresa y sus usuarios y la necesidad de un manejo más cuidadoso del contenido de la comunidad para evitar la pérdida innecesaria de conocimiento.

Shunpo: Una herramienta Bash minimalista para una navegación de directorios más rápida

2025-01-27
Shunpo: Una herramienta Bash minimalista para una navegación de directorios más rápida

Shunpo es una herramienta bash minimalista diseñada para acelerar la navegación de directorios en tu terminal. Proporciona un sistema de marcadores simple, permitiéndote saltar a directorios usados con frecuencia con un mínimo de pulsaciones de teclas. Perfecta para usuarios que usan constantemente comandos como `cd`, `pushd` o `popd`, Shunpo te permite marcar, eliminar y listar directorios fácilmente. La instalación es simple: solo ejecuta `install.sh`.

Crea tus propios AirTags: Presentamos OpenHaystack

2025-01-27
Crea tus propios AirTags: Presentamos OpenHaystack

OpenHaystack es un framework de código abierto que te permite crear tus propios rastreadores Bluetooth aprovechando la red Find My de Apple. Mediante la ingeniería inversa del sistema de Apple, utiliza inteligentemente transmisiones Bluetooth, criptografía de clave pública y la base de datos central de Apple para el seguimiento de la ubicación. El proyecto proporciona una aplicación macOS y firmware, compatible con varios dispositivos Bluetooth como BBC micro:bit y ESP32. Si bien existen limitaciones, ofrece una solución creativa para el seguimiento de objetos personales.

Por qué odio Docker y Podman

2025-01-26

Un desarrollador experimentado expresó su fuerte aversión a Docker y Podman en una entrada de blog. Citó varias ocasiones en las que la instalación de Docker rompió su configuración de red, una interfaz de línea de comandos mal diseñada y un uso difícil de aprender. El lenguaje Dockerfile se considera ad-hoc y mal diseñado, la documentación poco útil y difícil de navegar. Docker Hub sufre de malware y problemas de licencia, y las imágenes de contenedor se almacenan en una ubicación oculta que consume espacio en disco excesivo. Si bien Podman ofrece algunas mejoras de implementación, su experiencia de usuario sigue siendo tan desagradable como la de Docker. El autor prefiere, en última instancia, máquinas virtuales, reconociendo su inicio más lento, pero valorando su comprensión más fácil y mejor previsibilidad y control.

Desarrollo contenedores

Dos ejemplos de Ciencia de Datos en K: Taquigrafía y Estadísticas de Críquet

2025-01-26

Esta publicación presenta dos ejemplos de análisis de datos utilizando el lenguaje de programación K. El primero implica el desarrollo de un sistema de escritura taquigráfica, analizando el Diccionario de Pronunciación CMU para determinar los grupos de consonantes más comunes después de 'r' y 'l' en inglés, con el fin de optimizar el diseño de los símbolos de taquigrafia. El segundo analiza datos de partidos de críquet para identificar a los jugadores de bolos con los mejores promedios de bolos y, además, qué jugadores tienen el mejor promedio entre aquellos con números iguales o mayores de wickets tomados. Ambos demuestran el poder de K en la manipulación y el análisis de datos, mostrando su aplicabilidad en el mundo real.

ACK para Cray X-MP: Un Triunfo de la Retrocomputación

2025-01-26
ACK para Cray X-MP: Un Triunfo de la Retrocomputación

Este proyecto es una bifurcación del Amsterdam Compiler Kit (ACK) que admite el superordenador Cray X-MP y el sistema operativo COS. Deshabilita otras plataformas comentando las referencias en los scripts de compilación LUA. Para compilarlo y ejecutarlo correctamente en macOS y Linux, es necesario instalar bison, flex, gcc, gmake y lua. También es crucial instalar las herramientas del repositorio GitHub COS-Tools (un ensamblador cruzado, enlazador cruzado y gestor de bibliotecas para el Cray X-MP). Después de la compilación, los compiladores cruzados generan ejecutables para el Cray X-MP y COS. El archivo README detalla la compilación de un programa, la carga mediante FTP a un sistema NOS 2.8.7, el uso de la interfaz Cray Station para transferirlo y ejecutarlo en el Cray X-MP y, finalmente, cómo ver los resultados. Una fascinante mezcla de retrocomputación e ingeniería de software moderna.

Desarrollo

Orange Intelligence: Herramienta de productividad de código abierto para macOS que supera a la de Apple

2025-01-26
Orange Intelligence: Herramienta de productividad de código abierto para macOS que supera a la de Apple

Orange Intelligence es una poderosa herramienta de productividad de código abierto para macOS, diseñada para superar las limitaciones de las funciones de inteligencia integradas de Apple. Su elegante interfaz de ventana flotante permite a los usuarios capturar, procesar y reemplazar texto sin problemas en cualquier aplicación. Con soporte para funciones personalizadas en Python, se integra perfectamente con modelos de lenguaje grandes (LLM) como OpenAI o LLaMA local, permitiendo la creación de sistemas de agentes complejos. Construida con Python, PyQt6 y Applescript, Orange Intelligence ofrece amplias opciones de personalización, lo que aumenta la productividad para desarrolladores, investigadores y entusiastas de la IA.

Desarrollo

Desarrollo de Controladores Kubernetes: Problemas y Mejores Prácticas

2025-01-26

Este artículo profundiza en los desafíos a menudo pasados por alto del desarrollo de controladores Kubernetes. Basándose en experiencias del mundo real, el autor destaca errores comunes cometidos por principiantes, como CRD mal diseñados, controladores con responsabilidades poco claras y métodos `Reconcile()` desordenados. El artículo enfatiza la importancia de comprender las convenciones de la API de Kubernetes, utilizar clientes en caché, gestionar colas de trabajo y emplear el patrón de expectativas. Ejemplos del mundo real ilustran las consecuencias de estos problemas. El autor concluye recomendando el estudio de código de controladores ejemplares y la adhesión a las mejores prácticas para construir controladores fiables y escalables.

El algoritmo de búsqueda de frases más rápido usando la instrucción AVX-512 más desquiciada

2025-01-26

Esta entrada de blog detalla el recorrido del autor para crear un algoritmo de búsqueda de frases extremadamente rápido utilizando instrucciones AVX-512, en particular la oscura `vp2intersectq`. La comparación con Meilisearch en un conjunto de datos MS MARCO con 3,2 millones de documentos mostró mejoras de rendimiento de hasta 1600x. El autor cubre meticulosamente el diseño del algoritmo, la optimización del índice, las optimizaciones SIMD, las diferencias de microarquitectura entre las CPU AMD e Intel, la alineación del código y mucho más.

Desarrollo búsqueda de frases

Linux 6.14: Tiempos de suspensión y reanudación mucho más rápidos para algunos sistemas

2025-01-26

El kernel de Linux 6.14 presenta tiempos de suspensión y reanudación significativamente más rápidos para algunos sistemas, gracias a una actualización de ACPI. El cambio reemplaza msleep() por usleep_range() en acpi_os_sleep(), reduciendo los retrasos espurios causados por imprecisiones del temporizador. Las pruebas muestran mejoras dramáticas, con algunos portátiles Dell XPS viendo tiempos de suspensión/reanudación caer de 8 segundos a aproximadamente 1 segundo. Esta optimización es particularmente beneficiosa para sistemas que dependen de tiempos de suspensión cortos, como aquellos que usan bucles ajustados con ASL Sleep(5ms).

Desarrollo con IA: Mi pesadilla de depuración de Codescribble

2025-01-26
Desarrollo con IA: Mi pesadilla de depuración de Codescribble

El autor usó LLMs para construir Codescribble, un editor de texto compartido simple. Si bien el desarrollo inicial fue increíblemente rápido, casi totalmente impulsado por LLM, la implementación se convirtió en un gran dolor de cabeza. El código generado tenía valores codificados de forma rígida, métodos inconsistentes y un script de implementación automatizado roto. Finalmente, el autor pasó mucho más tiempo depurando y corrigiendo errores introducidos por LLM de lo esperado. Esta experiencia destaca la necesidad de que los desarrolladores mantengan un sólido conocimiento de las tecnologías subyacentes y revisen cuidadosamente el código generado por IA. Confiar ciegamente en la IA puede llevar a ineficiencias significativas e incluso a resultados contraproducentes.

Desarrollo Desarrollo con IA

Cazando un error fantasma incrustado: Error -22

2025-01-26
Cazando un error fantasma incrustado: Error -22

El equipo de Tweede golf encontró un error frustrante en su software incrustado Rust para el microcontrolador nRF9160, lo que resultó en el error Error::NrfError(-22) al enviar datos a un servidor. Después de semanas de investigación, rastrearon el problema hasta la función de inicialización de la biblioteca libmodem. Un puntero a una estructura de configuración asignada en la pila se usó después de que la estructura se destruyó, causando escrituras no intencionales en la configuración de la región de memoria compartida y resultando en una longitud de datos de 0. Agregar `black_box` y usar puntos de vigilancia finalmente localizaron y corrigieron el error. El equipo destacó los beneficios de usar Rust para el desarrollo incrustado para prevenir errores de bajo nivel como este.

Desarrollo sistemas empotrados

La Licencia Comunitaria Llama 3.1 de Meta no es una licencia de software libre

2025-01-26

La Free Software Foundation (FSF) ha publicado una evaluación que concluye que la Licencia Comunitaria Llama 3.1 de Meta no es una licencia de software libre. La licencia no solo niega a los usuarios sus libertades, sino que también intenta otorgar a los licenciantes poderes que solo deberían ejercerse a través de gobiernos democráticamente electos. Además, su aplicación a una aplicación de aprendizaje automático no aborda los desafíos inherentes a la libertad de software. La FSF insta a la comunidad de software libre a evitar el uso de esta licencia y de cualquier software lanzado bajo ella.

Desarrollo

SigNoz está contratando: ¡Se buscan ingenieros de backend para observabilidad de código abierto!

2025-01-26
SigNoz está contratando: ¡Se buscan ingenieros de backend para observabilidad de código abierto!

SigNoz, una startup de observabilidad de código abierto, busca un ingeniero de backend. El candidato ideal tendrá 3-6 años de experiencia en ingeniería de backend con Go, pasión por el código abierto con un historial de contribuciones, una comprensión profunda del dominio de la observabilidad y familiaridad con los bloqueos/canales/concurrencia de Go. Las responsabilidades incluyen controlar el ciclo de vida de I+D del producto, impulsar la adopción de OSS de SigNoz, gestionar la hoja de ruta del producto y el desarrollo de funciones para mejorar la experiencia del usuario de código abierto, escribir contenido técnico, construir un mercado de integraciones y mucho más.

Desarrollo

El Codex de Gráficos: Tu Guía Definitiva para Gráficos por Computadora

2025-01-26

El Codex de Gráficos es un recurso de aprendizaje interactivo para gráficos por computadora, con más de 400 ecuaciones y diagramas con referencias cruzadas, 14 capítulos sobre sombreado y renderizado basados en física, y proyectos de programación multiplataforma con enlaces a la documentación de API externa. Sirve como referencia, suplemento de libro de texto o guía de aprendizaje independiente, actualizada mensualmente. Los temas van desde el trazado de rayos y los shaders de mapas de sombras hasta la ecuación de renderizado y las ecuaciones de Fresnel, lo que lo hace ideal para estudiantes y profesionales.

Prolog: La elegancia de la programación declarativa

2025-01-26

Este artículo profundiza en la simplicidad y el poder de Prolog, un lenguaje de programación lógica. A diferencia de los populares lenguajes imperativos (como Python, Java), Prolog emplea un paradigma declarativo, centrándose en describir el problema en lugar de especificar los pasos de la solución. El autor demuestra las ventajas de Prolog en concisión y adaptabilidad comparando implementaciones en Prolog y Kotlin de un sistema de autorización. El código Prolog es significativamente más compacto, y las modificaciones son más fáciles cuando cambian los requisitos (por ejemplo, añadiendo una dimensión de tiempo). Aunque Prolog tiene una curva de aprendizaje más pronunciada, dominarlo amplía las perspectivas de programación y ayuda a mantener la simplicidad del sistema.

Notion: Tu espacio de trabajo todo en uno

2025-01-26
Notion: Tu espacio de trabajo todo en uno

Notion es un potente espacio de trabajo todo en uno que integra notas, gestión de tareas, wikis y bases de datos en una sola plataforma. Su diseño modular y flexible permite a los usuarios personalizar sus flujos de trabajo, haciéndolo adecuado para la toma de notas personales, la colaboración en equipo y la gestión de bases de conocimiento. Su interfaz limpia y las potentes opciones de personalización lo convierten en una herramienta ideal para aumentar la productividad y gestionar el conocimiento.

Desarrollo

Estado del Soporte del Chipset Asahi Linux M3

2025-01-26
Estado del Soporte del Chipset Asahi Linux M3

La página wiki del proyecto Asahi Linux detalla su soporte para los chips de la serie Apple M3 (M3, M3 Pro y M3 Max). La página presenta una tabla que describe el estado de varias características de hardware en diferentes versiones de Asahi Linux (como linux-asahi, asahi-edge, etc.), incluyendo soporte estable, características en desarrollo y características no compatibles. Cabe destacar que, como los chips de la serie M3 aún no se han lanzado oficialmente, gran parte del estado del soporte es predictivo, basado en los patrones de actualización anteriores de Apple. La página también destaca detalles de implementación y dificultades de fusión ascendente para ciertas características (por ejemplo, cpuidle).

Desarrollo

Desbloquea la innovación en IA: Búsqueda vectorial sin riesgos para aplicaciones existentes

2025-01-26
Desbloquea la innovación en IA: Búsqueda vectorial sin riesgos para aplicaciones existentes

Esta publicación de blog demuestra cómo integrar a la perfección la búsqueda vectorial en aplicaciones existentes sin necesidad de una replanteamiento completo. El autor utiliza un ejemplo simple de motor de recomendación, combinando incrustaciones de imágenes de gatos con el historial de compras de TPCC para recomendar productos basados en gatos visualmente similares. Esto muestra cómo se pueden agregar funcionalidades de IA a las aplicaciones existentes utilizando sintaxis SQL mejorada y API, destacando la importancia de probar los motores de bases de datos, los índices vectoriales y los subsistemas de E/S bajo cargas de trabajo altamente concurrentes. El autor enfatiza la facilidad de agregar IA a la infraestructura existente.

Apache Iceberg: Un Formato de Tabla Confiable para el Análisis de Big Data

2025-01-26

Apache Iceberg es un formato de alto rendimiento para tablas analíticas masivas. Permite que motores como Spark, Trino, Flink y otros trabajen de forma segura con las mismas tablas de forma concurrente. Iceberg admite comandos SQL flexibles para fusionar datos, actualizar filas y realizar eliminaciones específicas, optimizando el rendimiento de lectura y escritura mediante la reescritura de archivos de datos o actualizaciones delta. Además, ofrece particionamiento oculto, viajes en el tiempo y funciones de reversión para consultas eficientes y administración de datos.

Desarrollo formato de tabla

Chimera Linux: Una distribución Linux minimalista que abandona systemd

2025-01-26

Chimera Linux es una nueva distribución que busca una experiencia de escritorio "simple, transparente y fácil de aprender". Construida desde cero, su primera versión beta ofrece un escritorio usable con software útil, principalmente utilizando herramientas BSD. Rechazando systemd por su complejidad, Chimera utiliza Dinit y musl, reduciendo las dependencias. Si bien la instalación es manual, su simplicidad y el soporte para GNOME/KDE atraen a usuarios experimentados. El enfoque está en un sistema simplificado y usable, no en debates sobre software.

Desarrollo

SQLook: Un gestor de bases de datos SQLite nostálgico

2025-01-26
SQLook: Un gestor de bases de datos SQLite nostálgico

SQLook es un gestor de bases de datos SQLite moderno basado en web, con una interfaz nostálgica de Windows 2000. Combina tecnologías web contemporáneas con la estética clásica de un icono de la computación. Las características incluyen la gestión de bases de datos, un visor visual de la estructura de la base de datos, un editor de consultas SQL interactivo, un generador de tablas, exportación de datos, generación de datos de muestra y mucho más. Creado por Ralph Barendse, inspirado en la interfaz de usuario de Windows 2000 y construido usando HTML5, CSS3, JavaScript y SQL.js.

Lanzamiento de Puck v0.18: Nuevo motor de arrastrar y soltar con soporte para CSS Grid y Flexbox

2025-01-25
Lanzamiento de Puck v0.18: Nuevo motor de arrastrar y soltar con soporte para CSS Grid y Flexbox

El constructor de páginas visual de código abierto Puck ha lanzado la versión v0.18, con un nuevo motor de arrastrar y soltar con soporte completo para CSS Grid y Flexbox para diseños avanzados. Esta versión también incluye ajuste dinámico de altura de DropZone, un atajo de teclado interactivo, un selector de componente padre y elimina estilos restrictivos para una integración más sencilla. También se incluyen mejoras y deprecaciones de componentes y propiedades; consulte el registro de cambios para obtener más detalles.

Implementación Orientada a Objetos de la Máquina Enigma en Python

2025-01-25

Esta entrada de blog describe una implementación orientada a objetos en Python de la máquina de cifrado Enigma. Basado en la descripción en 'The Code Book', el autor modela cada componente (rotores, placa de conexiones, reflector, etc.) como una clase, simulando el proceso de cifrado/descifrado. Esta implementación simplificada incluye tres rotores, una placa de conexiones y un reflector, omitiendo la configuración del anillo. El autor destaca la facilidad de simular la máquina Enigma en código en comparación con la construcción física de una, subrayando el poder de la computación moderna.

Desarrollo

¡WebFFT: La Transformada de Fourier Más Rápida en la Web!

2025-01-25
¡WebFFT: La Transformada de Fourier Más Rápida en la Web!

WebFFT es una metalibrería que contiene varias bibliotecas FFT, tanto basadas en JavaScript como en WebAssembly. Se encarga de evaluar el rendimiento de todas las subbibliotecas y utiliza la más rápida para llamadas futuras. La implementación de Transformadas de Fourier Rápidas (FFT) y FFT 2D es sencilla, con soporte para entradas de valores reales. Un perfilador ayuda a optimizar su uso.

Desarrollo

Esquinas suaves al estilo Apple para Tailwind CSS: corner-smoothing

2025-01-25
Esquinas suaves al estilo Apple para Tailwind CSS: corner-smoothing

corner-smoothing es un plugin para Tailwind CSS que te permite crear esquinas redondeadas suaves, similares a las de los dispositivos Apple, para tus elementos. Fácil de instalar y usar, simplemente agrega el plugin a tu proyecto y aplica los nombres de clase designados. Inspirado por Rob, este plugin ofrece un control más preciso sobre el redondeo de las esquinas, mejorando la estética de tu interfaz de usuario.

testtrim: La herramienta de prueba que no podía probarse a sí misma (hasta ahora)

2025-01-25

Mathieu Fenniak describe su viaje añadiendo el rastreo de llamadas al sistema a testtrim, un proyecto experimental que optimiza la ejecución de pruebas de software. Inicialmente, testtrim usaba strace para identificar las dependencias de las pruebas, pero no podía probarse a sí misma porque strace no puede rastrear un proceso que ya está siendo rastreado. Dos intentos de rastreo anidado fallaron: el primero debido al pésimo rendimiento, el segundo debido al estado compartido y a la no atomicidad en la salida de strace. La solución implicó el uso de tuberías FIFO y memoria compartida para la transmisión de datos en tiempo real entre procesos padre e hijo, permitiendo la autoprueba y validando el valor de testtrim en la reducción de objetivos de prueba.

Actionate: Integración de GitHub Actions para IDEs de JetBrains

2025-01-25
Actionate: Integración de GitHub Actions para IDEs de JetBrains

Actionate es un plugin que integra la potencia de GitHub Actions directamente en tu IDE de JetBrains, creando un entorno de desarrollo unificado. Elimina el cambio de contexto al permitirte gestionar y ejecutar workflows, ver registros detallados y volver a ejecutar trabajos directamente en tu IDE. Actionate admite varias cuentas de GitHub, desencadenantes manuales de workflows con parámetros personalizados y proporciona detalles exhaustivos de la ejecución del workflow. Esta integración perfecta aumenta significativamente la productividad del desarrollador.

Desarrollo

Por qué deberías abandonar los constructores de consultas y abrazar SQL puro

2025-01-25

Este artículo aboga por escribir consultas de bases de datos directamente en SQL en lugar de depender de constructores de consultas. A través de varios ejemplos, el autor demuestra cómo las características de SQL (como `IS NULL`, `COALESCE`, `ARRAY_REMOVE`, `STRING_TO_ARRAY`) manejan elegantemente parámetros opcionales, matrices, paginación y actualizaciones por lotes, reduciendo la compleja lógica de Rust. Este enfoque simplifica el código, mejora la legibilidad y la capacidad de prueba, y permite pruebas y depuración de bases de datos más fáciles. El autor argumenta que el SQL puro suele ser más limpio y eficiente que los patrones de constructor complejos.

1 2 176 177 178 180 182 183 184 214 215