Category: Desarrollo

Nextcloud acusa a Google de sabotear su aplicación de archivos para Android

2025-05-13
Nextcloud acusa a Google de sabotear su aplicación de archivos para Android

El proveedor europeo de software Nextcloud ha acusado a Google de sabotear deliberadamente su aplicación de archivos para Android, que cuenta con más de 800.000 usuarios. El problema radica en el permiso de "acceso a todos los archivos", necesario para la funcionalidad de sincronización de archivos de la aplicación. Si bien Google ofrece alternativas centradas en la privacidad, Nextcloud argumenta que son insuficientes. Google revocó este permiso en 2024, lo que inutilizó la aplicación en la Play Store. Nextcloud cree que esto forma parte de un patrón mayor de comportamiento anticompetitivo de las grandes empresas tecnológicas, citando procesos regulatorios lentos y la falta de recursos para las empresas más pequeñas. La aplicación sigue funcionando en F-Droid.

Desarrollo

El viaje de Dgraph Labs hacia auditorías de seguridad continuas: más de 2000 problemas de seguridad resueltos

2025-05-13
El viaje de Dgraph Labs hacia auditorías de seguridad continuas: más de 2000 problemas de seguridad resueltos

Dgraph Labs implementó un sistema de auditoría de seguridad continua utilizando GitHub Actions y varias herramientas, resolviendo más de 2000 problemas de seguridad en solo tres meses, mejorando significativamente el cumplimiento de SOC2. El sistema abarca código, artefactos binarios e imágenes Docker, utilizando Trivy y Snyk para análisis y la pestaña de seguridad de GitHub para el seguimiento y la resolución de problemas. Se utilizan linters para el análisis estático de código y DependaBot para correcciones automatizadas. Esto mejoró significativamente la visibilidad y la resolución más rápida de los problemas de seguridad, sirviendo como ejemplo para la mejora continua de la seguridad.

Odin: Un lenguaje inspirado en C que adopta las mejores prácticas modernas

2025-05-13
Odin: Un lenguaje inspirado en C que adopta las mejores prácticas modernas

El autor, basándose en la experiencia de construir un motor de juego en C, destaca la incorporación de varias mejores prácticas de C en Odin. Esto incluye los asignadores personalizados (con soporte integrado en las bibliotecas principales de Odin), los asignadores temporales para la gestión de memoria basada en fotogramas, los asignadores de seguimiento para la detección de fugas, la inicialización cero, los inicializadores designados y la programación amigable con la caché mediante el soporte SoA. Odin logra esto manteniendo la simplicidad de C, añadiendo características modernas como genéricos y sobrecarga. El autor enfatiza que, aunque las características de Odin son muy beneficiosas para aquellos con una experiencia similar en C, también es accesible para aquellos no familiarizados con estos conceptos, sugiriendo su libro como un recurso introductorio.

Desarrollo

Pipelines de ML sin conexión vs. en línea: la clave para escalar la IA

2025-05-13
Pipelines de ML sin conexión vs. en línea: la clave para escalar la IA

Este artículo destaca la diferencia crucial entre los pipelines de aprendizaje automático sin conexión y en línea en la construcción de sistemas de IA escalables. Los pipelines sin conexión manejan el procesamiento por lotes, como la recopilación de datos, ETL y el entrenamiento de modelos, mientras que los pipelines en línea sirven predicciones en tiempo real o casi en tiempo real a los usuarios. El artículo enfatiza la importancia de separar estos pipelines y utiliza un pipeline de características para el ajuste fino de un SLM de resumen como ejemplo. Explica cómo construir un proceso de generación de conjuntos de datos reproducible, rastreable y escalable utilizando frameworks MLOps como ZenML. Este proceso extrae datos de MongoDB, los procesa en varias etapas y, finalmente, los publica en Hugging Face. Comprender esta separación es crucial para construir sistemas de IA robustos a nivel de producción.

Desarrollo escalabilidad de IA

Cinco tácticas de persuasión para jefes de ingeniería

2025-05-13
Cinco tácticas de persuasión para jefes de ingeniería

Este artículo explora cinco técnicas de persuasión comúnmente utilizadas por jefes de ingeniería, ilustradas con ejemplos de la vida real. La primera es el método 'Nemawashi', que implica comunicación preventiva con las partes interesadas para generar apoyo y minimizar conflictos. Luego está la 'Estrategia de precios señuelo', presentando opciones estratégicamente para guiar la elección deseada. Después, la 'Psicología inversa' utiliza sugerencias contraintuitivas para provocar una respuesta deseada. Luego viene 'Déjame decidir eso por ti (LMDTFY)', donde se toma una decisión con la opción de veto, fomentando la autonomía. Finalmente, la 'Serendipia planificada' implica crear coincidencias para facilitar la comunicación. Estas tácticas pueden mejorar significativamente la eficacia de un jefe de ingeniería en aprobaciones de proyectos, adquisición de recursos y colaboración en equipo.

Contribuyendo a Firefox: Código Fuente, Compilaciones y Soporte

2025-05-13
Contribuyendo a Firefox: Código Fuente, Compilaciones y Soporte

¿Quieres contribuir al desarrollo de Firefox? Mozilla proporciona documentación completa sobre la estructura del directorio del código fuente (https://firefox-source-docs.mozilla.org/contributing/directory_structure.html) y una referencia rápida para contribuciones (https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html), guiándote en la construcción de Firefox y la creación de parches. ¿Necesitas ayuda? Únete al canal `Introduction` de Matrix (https://chat.mozilla.org/#/room/#introduction:mozilla.org) para obtener soporte. También puedes descargar compilaciones nocturnas para pruebas (https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/ o https://www.mozilla.org/firefox/channel/desktop/#nightly), pero ten en cuenta que pueden contener errores.

arXivLabs: Colaboraciones comunitarias para nuevas funciones de arXiv

2025-05-13
arXivLabs: Colaboraciones comunitarias para nuevas funciones de arXiv

arXivLabs es un marco que permite a los colaboradores desarrollar y compartir nuevas funciones de arXiv directamente en el sitio web. Los participantes deben cumplir con los valores de arXiv de apertura, comunidad, excelencia y privacidad de datos de usuario. ¿Tienes una idea para mejorar la comunidad de arXiv? Obtén más información sobre arXivLabs.

Desarrollo

Shader Minifier: El arma secreta detrás de las animaciones de demoscena pequeñas e impresionantes

2025-05-13
Shader Minifier: El arma secreta detrás de las animaciones de demoscena pequeñas e impresionantes

Shader Minifier es una herramienta que minimiza el código GLSL, permitiendo a los artistas de demoscena crear animaciones por computadora complejas en tamaños de archivo increíblemente pequeños. Esta publicación de blog detalla su evolución, desde la simple eliminación de espacios y comentarios hasta optimizaciones avanzadas como el análisis estático y la inserción de funciones. El autor relata cómo Shader Minifier redujo un shader de 47 KB a 5,2 KB después de la compresión, mejorando drásticamente la eficiencia del desarrollo. El principio central implica el uso de algoritmos de compresión reutilizando nombres de variables y optimizando funciones para reducir el tamaño del código y aumentar las tasas de compresión. Si bien ya ha tenido éxito, el autor explora mejoras adicionales para abordar los desafíos de animaciones aún más grandes de 64 KB.

Una Política de Transitoriedad: La Filosofía de Uso de Computadoras de un Programador

2025-05-13

Este artículo detalla los hábitos inusuales de uso de computadoras de un programador, centrados en una "política de transitoriedad". Esta filosofía dicta que todos los datos deben ser o deliberadamente permanentes y organizados, o estrictamente temporales, evitando la permanencia accidental. Ejemplos incluyen deshabilitar el historial persistente del shell, limpiar regularmente el escritorio de la GUI y cerrar el navegador con frecuencia. El autor explica los beneficios, como el aumento de la eficiencia, una mejor organización y la reducción de datos innecesarios. Se discuten prácticas relacionadas, como la gestión de registros corporativos y la configuración automatizada del sistema operativo, junto con excepciones a la política, como el correo electrónico y el historial del navegador, que se mantienen permanentemente debido a su utilidad impredecible.

Profundizando en BEAM: Los Fundamentos de Elixir

2025-05-12
Profundizando en BEAM: Los Fundamentos de Elixir

Este es el primer capítulo de la serie “Elixir, 7 pasos para comenzar tu viaje”, que se adentra en la base del poder y la fiabilidad de Elixir: la Máquina Virtual Erlang (BEAM). La publicación explora la historia de Erlang, sus objetivos de diseño y su papel crucial en Elixir. Creado a mediados de la década de 1980, Erlang, inicialmente para telecomunicaciones, ahora es un lenguaje de propósito general conocido por sistemas distribuidos, tolerantes a fallos, masivamente concurrentes y de tiempo real suave. BEAM gestiona la ejecución del código Erlang, los procesos concurrentes y logra la tolerancia a fallos mediante el paso de mensajes asíncronos. Elixir, que se ejecuta en BEAM, hereda estas fortalezas, añadiendo una sintaxis más limpia y una biblioteca robusta. Un ejemplo de código simple muestra la interacción entre Erlang y Elixir. El próximo capítulo promete una inmersión profunda en los procesos y la concurrencia de Erlang.

Desarrollo

Construye tu propio asistente de voz local: La ventaja ha vuelto

2025-05-12
Construye tu propio asistente de voz local: La ventaja ha vuelto

¿Cansado de depender de LLMs gigantes en la nube? Este tutorial de 5 partes te enseña a construir tu propio asistente de voz local que entiende el lenguaje natural, ejecuta las funciones de tu aplicación y respeta tu privacidad. Aprende a ajustar finamente LLaMA 3.1 con LoRA, crear un conjunto de datos de llamada de función, ejecutar la inferencia localmente e integrar E/S de voz. El autor destaca la importancia de los principios de MLOps para la IA local, proporcionando una guía práctica para construir un asistente de voz local robusto y sostenible.

Desarrollo

arXivLabs: Proyectos experimentales con colaboradores de la comunidad

2025-05-12
arXivLabs: Proyectos experimentales con colaboradores de la comunidad

arXivLabs es un marco que permite a los colaboradores desarrollar y compartir nuevas funciones de arXiv directamente en nuestro sitio web. Tanto las personas como las organizaciones que trabajan con arXivLabs han adoptado y aceptado nuestros valores de apertura, comunidad, excelencia y privacidad de los datos de los usuarios. arXiv está comprometido con estos valores y solo trabaja con socios que los respeten. ¿Tiene una idea para un proyecto que agregue valor a la comunidad de arXiv? Obtenga más información sobre arXivLabs.

Desarrollo

Construye una base sólida de SOC 2: solución integral

2025-05-12
Construye una base sólida de SOC 2: solución integral

¿Cansado de luchar con el cumplimiento de SOC 2? Esta herramienta proporciona listas de verificación SOC 2 claras y accionables para comprender los requisitos y realizar un seguimiento fácil del progreso. Genera instantáneamente políticas básicas compatibles con SOC 2 para iniciar tu documentación. Centraliza las cargas de evidencia y vincula los archivos directamente a los controles, simplificando la preparación de la auditoría. Colabora eficazmente con la asignación de tareas del equipo, el seguimiento del estado y la gestión de solicitudes de evidencia, todo en una sola plataforma. Las actualizaciones futuras incluyen la recopilación automatizada de evidencia, el monitoreo continuo de control y las integraciones de proveedores.

Desarrollo conformidad

Mergeable: Una bandeja de entrada superior para solicitudes de extracción de GitHub

2025-05-12
Mergeable: Una bandeja de entrada superior para solicitudes de extracción de GitHub

Mergeable es una aplicación de navegador diseñada para mejorar la gestión de solicitudes de extracción de GitHub. Permite a los usuarios organizar las PR en secciones utilizando consultas de búsqueda flexibles, almacena todos los datos localmente en el navegador, admite atajos de teclado para una navegación rápida y se conecta a varias instancias de GitHub (incluida GitHub Enterprise). Fundamentalmente, destaca las PR que esperan su acción, todo sin necesidad de instalar ninguna aplicación de GitHub. Prueba la instancia pública en https://app.usemergeable.dev o autohospédala usando la documentación en https://www.usemergeable.dev.

Desarrollo

5 Pasos para la Simulación de N-cuerpos: Un Tutorial en Python

2025-05-12

Esta serie de tutoriales enseña a principiantes a escribir código de simulación de gravedad de N-cuerpos rápido y limpio en Python, inspirado en el curso "CFD Python: 12 pasos a Navier-Stokes". Cada paso proporciona explicaciones detalladas y código completo, animando a los lectores a reescribir el código para una mejor comprensión. Incluso con conocimientos básicos de Python y Cálculo, los principiantes pueden seguirlo. Al finalizar, podrás crear tu propia simulación de N-cuerpos y explorar proyectos relacionados.

arXivLabs: Proyectos experimentales con colaboradores de la comunidad

2025-05-12
arXivLabs: Proyectos experimentales con colaboradores de la comunidad

arXivLabs es un marco que permite a los colaboradores desarrollar y compartir nuevas funciones de arXiv directamente en nuestro sitio web. Tanto las personas como las organizaciones que trabajan con arXivLabs han adoptado y aceptado nuestros valores de apertura, comunidad, excelencia y privacidad de los datos de los usuarios. arXiv está comprometido con estos valores y solo trabaja con socios que los respeten. ¿Tiene alguna idea para un proyecto que agregue valor a la comunidad de arXiv? Obtenga más información sobre arXivLabs.

Desarrollo

Representacion de Memoria Eficiente con GADTs en OCaml

2025-05-12
Representacion de Memoria Eficiente con GADTs en OCaml

Este artículo explora el uso de Tipos de Datos Algebraicos Generalizados (GADTs) en OCaml para optimizar la representación de la memoria. El autor primero explica las limitaciones del polimorfismo de OCaml, particularmente la ineficiencia de espacio de List.iter al manejar diferentes tipos de datos debido a la representación uniforme de la memoria. Los intentos de crear un tipo `Compact_array` usando variantes ordinarias y objetos fallan debido a problemas de inferencia de tipo y asignación de memoria. Finalmente, usando GADTs, el autor crea con éxito una representación de memoria flexible y eficiente para matrices de diferentes tipos de datos, mostrando la utilidad de los GADTs más allá de la escritura de compiladores, particularmente en aplicaciones de alto rendimiento que requieren un control preciso de la memoria.

Desarrollo

Nix: Cadenas de suministro de software demostrablemente seguras

2025-05-12
Nix: Cadenas de suministro de software demostrablemente seguras

Cumplir con las estrictas regulaciones de seguridad de la cadena de suministro de software a menudo implica entornos aislados costosos y verificaciones exhaustivas. Este artículo presenta Nix, un potente gestor de paquetes, como solución. Nix permite la integridad verificable de la cadena de suministro sin sacrificar la velocidad de desarrollo. Rastrea el origen y la integridad exactos del software, produciendo paquetes de origen offline auditables. Un ejemplo de imagen NixOS arrancable demuestra cómo Nix extrae derivaciones de salida fija (FOD) verificables del árbol de dependencias, permitiendo reconstrucciones offline para garantizar total trazabilidad e integridad. Esto transforma el cumplimiento de un obstáculo en un paso de verificación posterior al desarrollo manejable, reduciendo significativamente los costos y mejorando la eficiencia del desarrollo.

Conquistando la Sobrecarga de HN: Noticias de Tecnología Personalizadas con IA

2025-05-12
Conquistando la Sobrecarga de HN: Noticias de Tecnología Personalizadas con IA

El autor, un usuario de Hacker News desde hace mucho tiempo, luchaba con la sobrecarga de información. Para combatir esto, creó dos herramientas: Tobie, un bot de Telegram que entrega publicaciones personalizadas de HN basadas en palabras clave y umbrales de votos; y HaNe, una extensión de Chrome que proporciona enlaces archivados para artículos de pago, acceso rápido a hilos de HN y comentarios resumidos por IA. Estas herramientas mejoraron significativamente su eficiencia de lectura, redujeron el tiempo de pantalla y aliviaron la ansiedad informacional.

Desarrollo

¿Embeddings: El Futuro de la Redacción Técnica?

2025-05-12

Este artículo explora cómo la tecnología de embeddings podría revolucionar la redacción técnica. A diferencia de los modelos de generación de texto, la tecnología de embeddings compara la similitud semántica de los textos convirtiéndolos en vectores de alta dimensionalidad (embeddings). El artículo explica cómo se generan los embeddings, su costo y las diferencias entre diferentes modelos, utilizando el modelo Voyage-3 como ejemplo para ilustrar sus ventajas en el manejo de grandes textos. El autor utiliza la analogia de las coordenadas de un mapa para explicar cómo se representan los embeddings en el espacio de alta dimensionalidad y, utilizando Word2vec como ejemplo, demuestra la capacidad de la tecnología de embeddings para capturar relaciones semánticas. Finalmente, el artículo presenta la aplicación de la tecnología de embeddings en la recomendación de páginas relacionadas en sitios web de documentación y analiza su enorme potencial en la redacción técnica.

StarGuard: Puntuaciones de Confianza para Repositorios GitHub

2025-05-12
StarGuard: Puntuaciones de Confianza para Repositorios GitHub

StarGuard es una herramienta de línea de comandos diseñada para detectar campañas de estrellas falsas, secuestro de dependencias, señales de alerta de licencias y otros indicadores de riesgo de código abierto en GitHub. Al analizar estrellas, dependencias, licencias, mantenedores y código, genera una puntuación de confianza, permitiendo a los CTO, equipos de seguridad y capitalistas de riesgo evaluar rápidamente los riesgos de código abierto. StarGuard produce informes en JSON, Markdown y texto plano, además de gráficos de historial de estrellas e insignias shields.io.

Desarrollo

Espacios de nombres de Ruby: Una mirada crítica a una implementación propuesta

2025-05-12

Esta publicación de blog cuestiona una implementación propuesta de espacios de nombres en Ruby. El autor argumenta que la propuesta tiene como objetivo resolver problemas como conflictos de nombres de bibliotecas, módulos compartidos globalmente y varias versiones de gemas, pero estos problemas no se encuentran con frecuencia en la práctica. La complejidad introducida por la propuesta, como la desduplicación, podría superar sus beneficios. El autor prefiere un enfoque más ligero, como restringir el acceso a las constantes y proporcionar un mecanismo similar a BasicObject para mejorar la mantenibilidad y la modularidad del código.

Fallo del Comité de Código de Conducta de LLVM: Una historia de contribución de código abierto

2025-05-12

Un contribuyente de código abierto envió un informe de error al proyecto LLVM y enfrentó un trato injusto. A pesar de proporcionar evidencia extensa, el Comité de Código de Conducta dictaminó en contra del contribuyente, pasando por alto violaciones claras de otros contribuyentes. Esto plantea preguntas sobre la aplicación de los Códigos de Conducta en las comunidades de código abierto y preocupaciones sobre la equidad y la rendición de cuentas. El incidente incluso se extendió al proyecto Mesa, destacando aún más la necesidad de mecanismos mejorados de resolución de conflictos en las comunidades de código abierto.

Desarrollo código de conducta

CoMaps: Un Fork Comunitario de Organic Maps Despega

2025-05-12
CoMaps: Un Fork Comunitario de Organic Maps Despega

El fork comunitario de Organic Maps, CoMaps, está progresando rápidamente. Construido sobre los principios de transparencia, toma de decisiones comunitaria, sin fines de lucro, código abierto y privacidad, el proyecto se centra en establecer su base y tecnología. La primera versión está en marcha. Una votación comunitaria para el nombre final del proyecto concluirá el 20 de mayo en Codeberg. CoMaps recibe contribuciones en desarrollo, gobernanza, difusión y donaciones. Las negociaciones con los accionistas de Organic Maps se han estancado; Viktor busca mantener el control total, dejando el futuro de Organic Maps incierto.

kdlfmt: Un robusto formateador de código KDL

2025-05-12
kdlfmt: Un robusto formateador de código KDL

kdlfmt es una herramienta de línea de comandos basada en Rust para formatear documentos KDL (Key-Data-List). La instalación es flexible, compatible con Cargo, Homebrew, npm y binarios precompilados. Ofrece el comando `format` para formatear, `check` para validar y `completions` para autocompletado del shell. Los archivos `.kdlfmtignore` permiten la exclusión, y las opciones permiten especificar la versión de KDL y el nivel de registro. Ya sea mediante entrada de canalización o procesando archivos, kdlfmt formatea eficientemente el código KDL para mejorar la legibilidad y la consistencia.

Desarrollo

Dominando la Compilación Dart: Una inmersión profunda en `dart compile`

2025-05-12
Dominando la Compilación Dart: Una inmersión profunda en `dart compile`

Esta guía proporciona una visión general completa del comando Dart `dart compile`, que permite la compilación de programas Dart para varias plataformas de destino. Se detalla el uso de subcomandos como `exe` (ejecutables autónomos), `aot-snapshot` (módulos AOT), `jit-snapshot` (módulos JIT), `kernel` (módulos portátiles), `js` (JavaScript) y `wasm` (WebAssembly), explicando sus funcionalidades y características. La guía abarca la compilación cruzada, la firma de código y las técnicas de optimización para la compilación web de producción, ofreciendo una comprensión completa de la compilación Dart.

Desarrollo

Actualización Importante de Armbian: Integración de OpenMediaVault y Más

2025-05-12
Actualización Importante de Armbian: Integración de OpenMediaVault y Más

La actualización de Armbian de esta semana trae mejoras significativas en todos los ámbitos. Lo más destacado es la integración de OpenMediaVault, permitiendo a los usuarios convertir fácilmente computadoras de placa única compatibles en dispositivos de almacenamiento conectados a la red (NAS). Otras mejoras incluyen la eliminación de un mensaje redundante de punto de acceso inalámbrico, la actualización de los cargadores de arranque en Orange Pi 5 Max y PocketBeagle2, y la optimización del rendimiento y la estabilidad en la plataforma Rockchip64. Armbian también continúa el refinamiento de la infraestructura, limpiando código no utilizado y preparándose para futuras iniciativas de prueba.

Warehouse de PyPI: Suite de pruebas un 81% más rápida con optimizaciones sencillas

2025-05-12
Warehouse de PyPI: Suite de pruebas un 81% más rápida con optimizaciones sencillas

Trail of Bits mejoró drásticamente el rendimiento de la suite de pruebas de Warehouse de PyPI, reduciendo el tiempo de ejecución de 163 segundos a 30 segundos, mientras que aumentaba el conteo de pruebas de 3.900 a más de 4.700. Esta mejora del 81% se logró a través de varias optimizaciones clave: la paralelización de la ejecución de pruebas con pytest-xdist, el aprovechamiento de sys.monitoring de Python 3.12 para una instrumentación de cobertura eficiente, la optimización del descubrimiento de pruebas y la eliminación de importaciones innecesarias. Estas técnicas son fácilmente aplicables a muchos proyectos Python que luchan con suites de pruebas lentas, ofreciendo ganancias significativas de rendimiento con un costo mínimo.

Ingeniería inversa del Centro de seguridad de Windows desde un Airbnb en Seúl

2025-05-12

Un desarrollador, de vacaciones en un Airbnb de Seúl con solo un MacBook, superó numerosos obstáculos para realizar ingeniería inversa del Centro de seguridad de Windows y crear defendnot, una herramienta para deshabilitar Windows Defender sin depender de otros software antivirus. La publicación detalla los desafíos encontrados, incluyendo la depuración entre plataformas, la alta latencia y una inmersión profunda en los tokens de Windows y los mecanismos de seguridad. El desarrollador completó el proyecto con éxito, pero lamentó la experiencia increíblemente frustrante.

Rankings de Lenguajes de Programación: Python, Rust y JavaScript Lideran

2025-05-12

¡Ya están aquí los rankings de lenguajes de programación de mayo! Python mantiene su posición líder gracias a su facilidad de uso y amplia adopción, mientras que Rust continúa su ascenso debido a su rendimiento y características de seguridad. JavaScript sigue siendo una fuerza dominante en el desarrollo web. Las noticias notables de este mes incluyen un taller de C++ sobre desarrollo integrado seguro y eficiente, el lanzamiento estable de Kotlin Compose Multiplatform y el lanzamiento de Python 3.14.0 beta 1. Las clasificaciones varían ligeramente entre los diferentes índices (PyPL, TIOBE, GitHub Pushes), pero Python, JavaScript y los lenguajes de la familia C se ubican consistentemente en posiciones altas, reflejando su influencia en varios dominios.

Desarrollo
1 2 90 91 92 94 96 97 98 214 215