Category: Desarrollo

De Flutter y Rust a Rust puro: Un caso de estudio para simplificar el desarrollo de aplicaciones de IA

2025-06-27

El desarrollador de una pequeña aplicación de IA, BoquilaHUB, comparte su experiencia al pasar de una arquitectura Flutter/Rust a una aplicación puramente Rust usando egui. Inicialmente usando flutter_rust_bridge para conectar una interfaz de usuario Flutter con un backend Rust, el desarrollador encontró frustración con la sobrecarga de generación de código, las complejidades de FFI y los desafíos de diseñar una API entre lenguajes. El cambio a egui, una biblioteca de GUI basada en Rust, y la reescritura de la interfaz de usuario en un fin de semana resultaron transformadores. El enfoque puramente Rust simplificó la complejidad del proyecto, mejoró la legibilidad y el mantenimiento del código, y produjo ganancias significativas de rendimiento. El desarrollador destaca la facilidad de uso de egui para eliminar problemas comunes de actualización de la interfaz de usuario de Flutter y la gestión compleja del estado, lo que resulta en una aplicación más rápida y receptiva.

Desarrollo

SigNoz: Se busca Evangelizador de Desarrolladores para Monitoreo de Aplicaciones de Código Abierto

2025-06-27
SigNoz: Se busca Evangelizador de Desarrolladores para Monitoreo de Aplicaciones de Código Abierto

SigNoz, un proyecto global de monitoreo de aplicaciones de código abierto con más de 21.000 estrellas en GitHub y más de 6.000 miembros en la comunidad Slack, está contratando un Evangelizador de Desarrolladores. Este puesto implica la participación en la comunidad, la creación de blogs y videos centrados en desarrolladores, la presentación de SigNoz en meetups y conferencias, y la asistencia a los usuarios con la configuración y los casos de uso. Trabajarás en un producto global de infraestructura de desarrollo, te involucrarás con la comunidad de código abierto y contarás con el respaldo de YC e importantes firmas de capital riesgo de EE. UU. Se requiere 1+ año de experiencia en ingeniería de software, familiaridad con varios lenguajes de programación y métodos de implementación (por ejemplo, k8s, Docker), participación activa en comunidades de desarrolladores, y se valora el conocimiento de ecosistemas nativos en la nube, Kubernetes y OpenTelemetry.

Blender 5.0 para Linux obtiene soporte HDR experimental (Wayland/Vulkan)

2025-06-27

El próximo lanzamiento de Blender 5.0 para Linux tendrá soporte experimental para pantallas de alto rango dinámico (HDR), pero solo al usar Wayland y Vulkan. Esto significa que necesitarás un monitor HDR, un entorno de escritorio Wayland y aceleración Vulkan para usarlo. La función se encuentra actualmente en prueba y su inclusión en la versión final no está garantizada.

Desarrollo

Swift llega a Android: El lenguaje de Apple se expande a otra plataforma

2025-06-27
Swift llega a Android: El lenguaje de Apple se expande a otra plataforma

El lenguaje de programación Swift de Apple se está expandiendo al desarrollo de aplicaciones Android. Si bien Android utiliza principalmente Kotlin, un recién formado Grupo de Trabajo Swift Android tiene como objetivo convertir a Android en una plataforma oficialmente compatible. Los objetivos de este grupo incluyen mejorar el soporte de Android para Swift, optimizar los paquetes principales de Swift para los modismos de Android, definir los niveles de API y arquitecturas compatibles y establecer las mejores prácticas para conectar Swift con el SDK Java de Android. Aunque las herramientas de terceros ya permitían el desarrollo de Android con Swift, la iniciativa de Apple representa una expansión estratégica en el desarrollo móvil.

Desarrollo

Generador de conjuntos de datos con IA: vista previa instantánea, exportación y exploración de datos

2025-06-27
Generador de conjuntos de datos con IA: vista previa instantánea, exportación y exploración de datos

Esta herramienta utiliza IA (GPT-4) y Faker para generar conjuntos de datos realistas para demostraciones, aprendizaje y paneles. Personaliza conjuntos de datos a través de un generador de indicaciones conversacional, visualiza datos en tiempo real y exporta como CSV o SQL. Se integra con Metabase para facilitar la exploración de datos. Las llamadas a la API de OpenAI (con un coste de aproximadamente 0,05 USD) solo se realizan para las vistas previas de datos; las descargas de CSV/SQL son gratuitas, generando más filas basadas en el esquema de la vista previa. Admite One Big Table (OBT) y Star Schema para análisis flexibles.

uv y Ray: Revolucionando la gestión de dependencias para Python distribuido

2025-06-27
uv y Ray: Revolucionando la gestión de dependencias para Python distribuido

Este artículo muestra la integración del gestor de paquetes uv con el motor de computación Ray, abordando los desafíos de la gestión de dependencias en aplicaciones Python distribuidas. Los métodos tradicionales de contenedorización ralentizan la velocidad de iteración. La combinación uv + Ray permite la creación y sincronización rápidas de entornos Python consistentes en un clúster, mejorando drásticamente la eficiencia del desarrollo. Al definir la variable de entorno `RAY_RUNTIME_ENV_HOOK`, Ray detecta automáticamente el entorno uv y lo aplica a todos los procesos de trabajo, garantizando la ejecución consistente del código. El artículo demuestra su facilidad de uso con ejemplos usando Ray Data e integración LLM, y abarca el uso avanzado y las mejores prácticas.

Desarrollo

typr: Prueba de escritura TUI con algoritmo de selección de palabras inteligente

2025-06-27
typr: Prueba de escritura TUI con algoritmo de selección de palabras inteligente

typr es una herramienta de prueba de escritura de línea de comandos inspirada en el algoritmo de selección de palabras de Keybr. Optimiza tu velocidad de escritura ponderando la precisión, la frecuencia de las letras y la velocidad de escritura. Con una atractiva interfaz TUI basada en curses, guarda tus datos en un archivo JSON. Personaliza tu prueba con opciones para límites de tiempo, recuentos de palabras o incluso práctica sin fin.

Desarrollo prueba de escritura

Propuesta: Agregar una API de Plantillas Declarativas a la Plataforma Web

2025-06-27
Propuesta: Agregar una API de Plantillas Declarativas a la Plataforma Web

Esta propuesta sugiere agregar una API de plantillas declarativas a la plataforma web. El autor argumenta que, si bien la API DOM existente es potente, carece de capacidades ergonómicas de plantillas, lo que obliga a los desarrolladores a depender de varios frameworks y bibliotecas, aumentando la sobrecarga de desarrollo y el tamaño de la aplicación. Las plantillas declarativas ofrecen una mejor legibilidad del código, seguridad, rendimiento y mantenibilidad, lo que se alinea con las tendencias modernas de desarrollo web. La propuesta sugiere aprovechar los literales de plantillas con etiquetas existentes, implementando la API de forma incremental y, finalmente, admitiendo plantillas HTML, mejorando así la experiencia de desarrollo web.

Sincronización de archivos en red local para dos máquinas Windows: ¡sin nube!

2025-06-27
Sincronización de archivos en red local para dos máquinas Windows: ¡sin nube!

¿Cansado de sincronizar archivos entre dos máquinas Windows? Sink ofrece una solución revolucionaria. Olvídate de la nube, el correo electrónico y las unidades USB. Ejecutandose en tu red local, Sink detecta automáticamente otras máquinas con Sink y sincroniza archivos casi instantáneamente. Maneja conflictos, evitando la pérdida de datos, y te permite ignorar archivos y carpetas específicos usando un archivo .sinkignore (similar a .gitignore). Actualmente en desarrollo, los planes futuros incluyen una interfaz de usuario, rutas personalizadas, integración con la bandeja del sistema y soporte para más de dos dispositivos.

XSLT: Un generador de sitios estáticos sin configuración integrado en tu navegador

2025-06-27
XSLT: Un generador de sitios estáticos sin configuración integrado en tu navegador

Cansado de sistemas de compilación complejos como Next.js, el autor buscó una forma más sencilla de crear sitios web estáticos. Después de explorar varias opciones, descubrió XSLT, un lenguaje para transformar XML en HTML. Al almacenar los datos del sitio web como XML y usar XSLT para la transformación, creó un sistema de compilación del "lado del cliente" que no requiere herramientas adicionales. El navegador maneja la transformación XSLT directamente, generando el HTML final: una solución sin configuración para la generación de sitios web estáticos. Si bien no es un reemplazo perfecto para todos los escenarios, ofrece a los desarrolladores una alternativa potente.

Desarrollo sin configuración

Lanzamiento de Kea 3.0: Más Abierto, Soporte a Largo Plazo

2025-06-27
Lanzamiento de Kea 3.0: Más Abierto, Soporte a Largo Plazo

ISC se complace en anunciar el lanzamiento de Kea 3.0.0, la primera versión de soporte a largo plazo (LTS). Esta versión principal de código abierto incluye doce hooks Kea previamente con licencia comercial, mejorando la seguridad y simplificando el proceso de instalación y la clasificación de clientes. Kea 3.0 también cuenta con un sistema de construcción Meson modernizado y acceso nativo a la API a través de HTTP y TLS, eliminando la necesidad del agente de control Kea. Este lanzamiento representa un paso significativo hacia un Kea más abierto y fácil de mantener.

Desarrollo

Mi tiempo de compilación de Rust pasó de 4 minutos a 32 segundos

2025-06-26

El sitio web Rust del autor tardaba 4 minutos en compilarse, requiriendo una recompilación, copia y reinicio para cada cambio. Para acelerar las cosas, se utilizaron contenedores Docker y cargo-chef para la precompilación de dependencias, pero con un éxito limitado. Utilizando la función de auto-perfilado de rustc y los datos de rastreo de LLVM, el autor identificó la optimización en tiempo de enlace (LTO) y la generación de código del módulo LLVM como los principales cuellos de botella. Mediante una serie de optimizaciones, incluyendo el ajuste de los niveles de LTO, los niveles de optimización y la división de grandes funciones asíncronas, el tiempo de compilación se redujo de 4 minutos a 32,3 segundos.

Desarrollo

Lanzamiento de Matrix 1.15: Autenticación de próxima generación y resúmenes de salas mejorados

2025-06-26
Lanzamiento de Matrix 1.15: Autenticación de próxima generación y resúmenes de salas mejorados

Matrix 1.15 ya está aquí, con mejoras en la autenticación, los resúmenes de salas y los temas enriquecidos. Esta versión incorpora 10 MSC, destacando la implementación de un sistema de autenticación de próxima generación, un paso significativo hacia Matrix 2.0. Las nuevas funciones también incluyen resúmenes de salas mejorados, que proporcionan a los clientes información más rica sobre las salas, y soporte para texto enriquecido en los temas de las salas. Estas mejoras aumentan la seguridad, la experiencia del usuario y la funcionalidad de Matrix.

Desarrollo Resúmenes de salas

Lector RSS minimalista: Creación de un feed de blog personalizado con Deno

2025-06-26

¿Cansado de los lectores RSS pesados? El autor adoptó un enfoque diferente, creando un lector RSS personalizado usando Deno y un simple archivo de texto. Muestra solo los títulos y enlaces de las tres publicaciones más recientes, sin almacenamiento de texto completo local ni marcadores de leído/no leído, y se actualiza automáticamente a diario mediante GitHub Actions. El código es conciso, fácil de entender y ampliar, el sueño de un minimalista.

Desarrollo

De Ruido a Precisión: La Revisión de Código con IA Reinventada

2025-06-26
De Ruido a Precisión: La Revisión de Código con IA Reinventada

El agente de revisión de código con IA de Cubic, inicialmente plagado de ruido excesivo y falsos positivos, sufrió una transformación significativa. Tres revisiones arquitectónicas principales llevaron a una reducción del 51% en los falsos positivos. Estas mejoras incluyeron exigir un razonamiento explícito de la IA antes de proporcionar comentarios, simplificar el conjunto de herramientas a componentes esenciales y emplear micro-agentes especializados para tareas específicas. El resultado: un proceso de revisión de código más fluido y eficiente, con mayor confianza y productividad del desarrollador.

Desarrollo

Snow: Un emulador de Macintosh en Rust

2025-06-26
Snow: Un emulador de Macintosh en Rust

Snow es un emulador de Macintosh de código abierto escrito en Rust, que busca emular con precisión a nivel de hardware los clásicos ordenadores Macintosh basados en Motorola 680x0. A diferencia de los emuladores que modifican la ROM o interceptan llamadas al sistema, Snow se centra en la emulación de hardware de bajo nivel. Actualmente, es compatible con los modelos Macintosh 128K, 512K, Plus, SE, Classic y II. Si bien está en desarrollo, se ofrecen versiones de vanguardia y una demostración online limitada (solo la máquina emulada).

Desarrollo

Más Allá del Ticket: Recuperando el Pensamiento en el Desarrollo de Software

2025-06-26
Más Allá del Ticket: Recuperando el Pensamiento en el Desarrollo de Software

Este artículo critica el modelo de 'desarrollo impulsado por tickets', donde los desarrolladores están abrumados por tareas, sofocando el pensamiento y la innovación. Esto lleva a una disminución en la calidad del código, acumulación de deuda técnica y baja moral del equipo. El autor aboga por que los desarrolladores asuman la responsabilidad, piensen proactivamente y busquen la excelencia, no solo la velocidad, enfocándose en construir sistemas que funcionen, en lugar de simplemente cerrar tickets.

Desarrollo

La verdad sobre el soporte de DPI mixto en X11

2025-06-26

Este artículo aclara los conceptos erróneos sobre el soporte de configuración de DPI mixto en el sistema de ventanas X11. El autor profundiza en la historia de X11, desde sus orígenes con pantallas X únicas, pasando por la extensión Xinerama, hasta la extensión XRANDR moderna. El artículo revela que X11 siempre ha tenido la capacidad de soportar DPI mixto, pero la clave está en que las aplicaciones cliente utilicen correctamente la información de DPI proporcionada por la extensión XRANDR. Se examinan diferentes enfoques, junto con soluciones para varios escenarios, incluyendo el uso del kit de herramientas Qt para soporte automático de DPI mixto y soluciones alternativas para kits de herramientas que carecen de soporte, como GTK+. En última instancia, el autor hace un llamamiento a los desarrolladores para que mejoren los kits de herramientas y las aplicaciones para aprovechar al máximo las capacidades de DPI mixto de X11.

Desarrollo DPI mixto

Herramienta de Recorte Actualizada: ¡Ahora con Exportación GIF en Windows 11!

2025-06-26
Herramienta de Recorte Actualizada: ¡Ahora con Exportación GIF en Windows 11!

La herramienta de recorte de Windows 11 ha recibido una importante actualización. La versión 11.2505.21.0 ahora permite exportar grabaciones de pantalla como GIF, facilitando el compartir capturas rápidas. Graba un vídeo usando Win + Shift + R o el modo de grabación de pantalla de la aplicación. Después de grabar, haz clic en el botón 'Exportar GIF', elige la calidad baja o alta, y guarda en tus archivos o copia al portapapeles. Nota: la exportación de GIF está limitada a vídeos de 30 segundos o menos.

Generando Salidas JSON Estructuradas con Llamafile Local

2025-06-26

Este artículo muestra cómo generar salidas JSON estructuradas desde Llamafile, un LLM ejecutable localmente. Utilizando JsonOutputParser y PromptTemplate de LangChain, y definiendo una clase Answer personalizada para especificar la estructura JSON deseada, el autor encadena los componentes prompt, LLM y parser. Esto elude inteligentemente la falta de funcionalidad de salida estructurada integrada en Llamafile. Se proporciona un ejemplo práctico usando Llama-3.2-1B-Instruct-Q8_0.llamafile, junto con un enlace al código fuente completo.

Desarrollo salida JSON

El programador de gráficos Xor crea shaders impresionantes en menos de 280 caracteres

2025-06-26
El programador de gráficos Xor crea shaders impresionantes en menos de 280 caracteres

Xor, un programador de gráficos, es apasionado por crear programas de shaders GLSL compactos y compartirlos en Twitter. Utiliza técnicas de 'code golf' para comprimir efectos visuales complejos, como galaxias simuladas y rastreadores de rayos voxel, en menos de 280 caracteres. Esto no solo desafía sus habilidades de codificación, sino que también lo ha conectado con una comunidad vibrante de artistas y programadores. Xor detalla su proceso creativo y consejos de code golf, animando a otros a experimentar.

Desarrollo

Líneas de código: una métrica fallida - Una anécdota del equipo Lisa

2025-06-26

A principios de 1982, el equipo Lisa de Apple rastreaba la productividad de los ingenieros mediante líneas de código. Bill Atkinson, el creador de QuickDraw, consideró esta métrica absurda, priorizando el código conciso y eficiente. Optimizó el cálculo de región de QuickDraw, logrando un aumento de velocidad seis veces mayor, mientras reducía el código en 2000 líneas. En el formulario de productividad, infamemente reportó '-2000'. La gerencia sabiamente dejó de usar esta métrica fallida.

La puesta de sol de 32 bits de Fedora amenaza a la popular distribución de juegos para dispositivos portátiles Bazzite

2025-06-26
La puesta de sol de 32 bits de Fedora amenaza a la popular distribución de juegos para dispositivos portátiles Bazzite

La propuesta de Fedora Linux de abandonar el soporte de 32 bits ha generado controversia, amenazando particularmente a la popular distribución de juegos para dispositivos portátiles Bazzite. El creador de Bazzite, Kyle Gospodnetich, se opone firmemente al cambio, argumentando que acabaría con proyectos como Bazzite y dañaría la imagen pública de Fedora. Señala que, incluso con paquetes Steam construidos, los casos de uso básicos se romperían y Flatpak no resolvería los problemas con la dependencia de Bazzite de la arquitectura de 32 bits para el modo Steam Big Picture. Actualmente, es improbable que la propuesta se apruebe para Fedora 44, pero idealmente, Valve portaría el cliente Steam a 64 bits, resolviendo muchos problemas. El problema también afecta a la captura de juegos OBS Studio y FEX.

Desarrollo soporte de 32 bits

Ray Tracer CUDA supera a Vulkan/RTX en 3x

2025-06-26
Ray Tracer CUDA supera a Vulkan/RTX en 3x

Este artículo detalla el proceso del autor al crear un ray tracer basado en CUDA que supera una implementación Vulkan/RTX, a veces en más del triple, en hardware idéntico. Comenzando con un puerto CUDA ingenuo, el autor optimizó sistemáticamente el renderizador, abordando la recursión, la presión de registros, los diseños de memoria y las ineficiencias de ramificación. Se emplearon técnicas como pilas explícitas, estructura de matrices, terminación temprana de rayos y ruleta rusa, lo que resultó en una reducción del tiempo de fotograma de 2,5 segundos a 9 milisegundos. El artículo profundiza en los cuellos de botella de rendimiento de CUDA y ofrece estrategias prácticas de optimización. Los puntos de referencia muestran las ganancias significativas de rendimiento logradas en una GPU RTX 3080.

Desarrollo

Crea un lector de texto a voz con resaltado de oraciones en JavaScript

2025-06-26
Crea un lector de texto a voz con resaltado de oraciones en JavaScript

Este artículo te guía en la creación de una herramienta web simple que utiliza la API SpeechSynthesis de JavaScript para la funcionalidad de texto a voz (TTS) y el resaltado dinámico de oraciones. Explica cómo controlar la reproducción del habla, establecer parámetros de voz y rastrear eventos del habla. El artículo también detalla la implementación del resaltado a nivel de oración usando CSS y JavaScript, culminando en un lector interactivo totalmente funcional con botones de reproducción, pausa, reanudación, detención y selección de voz. Se proporciona el código completo HTML, CSS y JavaScript.

Iroh: Revolución en la comunicación de red para conexiones más rápidas y sencillas

2025-06-26
Iroh: Revolución en la comunicación de red para conexiones más rápidas y sencillas

Iroh es un nuevo framework de comunicación de red basado en el protocolo QUIC, que permite el marcado por clave pública y la detección y mantenimiento automáticos de la conexión más rápida. Iroh intenta conexiones directas, recurriendo a servidores de retransmisión públicos si es necesario, con monitoreo continuo para una velocidad óptima. Ofrece protocolos preconstruidos como iroh-blobs para la transferencia de archivos grandes e iroh-gossip para construir redes de publicación-suscripción escalables, simplificando el desarrollo. Escrito principalmente en Rust, Iroh también proporciona enlaces FFI para otros lenguajes.

LM Studio 0.3.17: Soporte MCP y mejoras multilingües

2025-06-26
LM Studio 0.3.17: Soporte MCP y mejoras multilingües

LM Studio 0.3.17 introduce soporte para el Protocolo de Contexto de Modelo (MCP), permitiendo a los usuarios conectar varios servidores MCP y usarlos con modelos locales. Esta versión también agrega soporte para 11 idiomas nuevos, corrige numerosos errores y mejora la interfaz de usuario con un nuevo tema 'Solarized Dark'. El MCP permite a los modelos de lenguaje grandes acceder a herramientas y recursos; los usuarios deben tener precaución al instalar servidores MCP de fuentes no confiables.

Desarrollo

Howdy: Inicio de sesión facial estilo Windows Hello para Linux

2025-06-26
Howdy: Inicio de sesión facial estilo Windows Hello para Linux

Howdy trae a Linux un inicio de sesión con reconocimiento facial similar a Windows Hello. Utilizando sus emisores de infrarrojos integrados y cámara, proporciona una autenticación conveniente. Integrando con PAM, funciona en todos los lugares donde normalmente usarías una contraseña: inicio de sesión, pantalla de bloqueo, sudo, su, etc. Howdy admite Debian/Ubuntu, Arch Linux, Fedora y openSUSE, con instrucciones de instalación detalladas que cubren paquetes .deb, AUR, Fedora COPR y compilación desde la fuente. Importante: La seguridad de Howdy no es absoluta y no debe usarse como su único método de autenticación.

Desarrollo

Crea aplicaciones interactivas de IA directamente en la aplicación Claude

2025-06-26
Crea aplicaciones interactivas de IA directamente en la aplicación Claude

Anthropic ha lanzado la capacidad de construir, alojar y compartir aplicaciones interactivas con tecnología de IA directamente dentro de la aplicación Claude. Los desarrolladores ahora pueden iterar más rápidamente en sus aplicaciones de IA sin preocuparse por las complejidades y los costos de escalado. Claude crea artefactos que interactúan a través de su API, convirtiéndolos en aplicaciones de IA compartibles donde el uso se factura en la suscripción de Claude del usuario, no en la del desarrollador. Claude escribe automáticamente el código, gestionando la ingeniería de prompts, el manejo de errores y la lógica de orquestación. Las funciones incluyen el uso de una API de Claude dentro de los artefactos, el procesamiento de archivos, la creación de interfaces de usuario React enriquecidas y la bifurcación/personalización de artefactos. Las limitaciones actuales incluyen la ausencia de llamadas a API externas, la falta de almacenamiento persistente y una API de finalización basada en texto. Esta función beta está disponible para usuarios de los planes Gratuito, Pro y Max.

Ingeniería inversa de un controlador Linux para el Nanoleaf Pegboard Desk Dock

2025-06-26
Ingeniería inversa de un controlador Linux para el Nanoleaf Pegboard Desk Dock

El autor compró un Nanoleaf Pegboard Desk Dock, un concentrador USB con LED RGB y ganchos para dispositivos, y decidió escribir un controlador Linux para él, ya que solo admite Windows y macOS. Después de obtener la documentación del protocolo del proveedor, el autor usó Rust y la biblioteca libusb para crear un controlador de espacio de usuario. El artículo detalla el proceso, incluyendo el uso de lsusb para obtener información del dispositivo, manejar interfaces USB y usar reglas udev para permisos de usuario. El autor creó con éxito un controlador simple para controlar los LED RGB del Desk Dock y manejar las interrupciones del dispositivo. Se superaron desafíos como la ocupación del controlador del kernel y el manejo de interrupciones, lo que llevó a una comprensión más profunda de la escritura de controladores de dispositivos USB simples. Si bien es una prueba de concepto simple, destaca que escribir controladores de dispositivos básicos no es tan difícil como parece.

Desarrollo
1 2 51 52 53 55 57 58 59 214 215