Category: Desarrollo

Pangolin: Proxy inverso tunelizado de confianza cero autohospedado

2025-07-11
Pangolin: Proxy inverso tunelizado de confianza cero autohospedado

Pangolin es un servidor proxy inverso tunelizado autohospedado con control de identidad y acceso, diseñado para exponer de forma segura recursos privados en redes distribuidas. Actúa como un concentrador central, conectando redes aisladas, incluso las que están detrás de firewalls restrictivos, a través de túneles encriptados, permitiendo un acceso fácil a servicios remotos sin abrir puertos. Utilizando WireGuard, Pangolin ofrece funciones robustas, incluyendo autenticación centralizada (SSO, TOTP), control de acceso basado en roles y opciones de implementación flexibles. Amplía su funcionalidad con plugins de Traefik. Los casos de uso incluyen la omisión de restricciones de puertos, la implementación de aplicaciones empresariales y la gestión de redes de IoT. Una alternativa autohospedada a Cloudflare Tunnels.

Desarrollo confianza cero

Cuello de botella de PostgreSQL LISTEN/NOTIFY: Lecciones del procesamiento de millones de horas de reuniones

2025-07-11
Cuello de botella de PostgreSQL LISTEN/NOTIFY: Lecciones del procesamiento de millones de horas de reuniones

Recall.ai procesa millones de horas de datos de reuniones cada mes. Su base de datos PostgreSQL sufrió caídas debido a escrituras de alta concurrencia. La investigación reveló que la función LISTEN/NOTIFY adquiere un bloqueo global de la base de datos durante el commit de la transacción, serializando todos los commits y creando un cuello de botella. La migración de esta lógica a la capa de aplicación resolvió el problema.

Desarrollo

Google DeepMind lanza GenAI Processors: Simplificando el desarrollo de aplicaciones de LLM

2025-07-11
Google DeepMind lanza GenAI Processors: Simplificando el desarrollo de aplicaciones de LLM

Google DeepMind ha lanzado GenAI Processors, una biblioteca de Python de código abierto diseñada para simplificar el desarrollo de aplicaciones complejas de Modelos de Lenguaje Grandes (LLM). La biblioteca utiliza una interfaz Processor para abstraer varias etapas de procesamiento de datos y maneja la entrada multimodal mediante el procesamiento de flujo asíncrono, lo que permite la ejecución concurrente para una mayor capacidad de respuesta y eficiencia. GenAI Processors se integra con la API de Gemini y proporciona ejemplos para construir aplicaciones en tiempo real, como la transcripción en vivo y los agentes conversacionales.

Desarrollo

Constructor de formularios con IA y envíos ilimitados

2025-07-10
Constructor de formularios con IA y envíos ilimitados

Este constructor de formularios impulsado por IA permite envíos ilimitados y ofrece un constructor de formularios con IA, exportación CSV/JSON, soporte prioritario y creación móvil. También incluye análisis avanzados, análisis con IA y funciones futuras como colaboración en equipo, dominios personalizados, marcado de respuestas, integraciones, soporte mejorado de webhooks, constructor de lógica, obtención de datos de API, campos de entrada de tiempo, cargas de archivos y opciones avanzadas de personalización de formularios.

Red Hat lanza RHEL gratuito para desarrolladores empresariales

2025-07-10
Red Hat lanza RHEL gratuito para desarrolladores empresariales

Red Hat ha lanzado Red Hat Enterprise Linux para Desarrolladores Empresariales, una distribución Linux de nivel empresarial gratuita diseñada para brindar a los desarrolladores acceso rápido y fácil al mismo sistema operativo utilizado en entornos de producción para desarrollo y pruebas empresariales. Los desarrolladores obtienen acceso directo y de autoservicio, evitando la aprobación de TI, con hasta 25 implementaciones de instancias. Esto tiene como objetivo reducir la fricción entre los equipos de desarrollo y operaciones y abordar las crecientes amenazas a la seguridad de la cadena de suministro de software. Incluye contenido de desarrollador firmado y curado, como lenguajes de programación, herramientas de código abierto y bases de datos, así como la herramienta de desarrollo de contenedores de Red Hat, Podman Desktop.

Desarrollo

Tududi: Gestión de Tareas Simplificada

2025-07-10
Tududi: Gestión de Tareas Simplificada

La mayoría de las aplicaciones de tareas son como paneles de control con infinitos controles y micro-opciones. Crear una nueva tarea a menudo implica navegar por un laberinto de selectores de color, niveles de prioridad y configuraciones de repetición. Tududi ofrece un enfoque diferente: flujo de trabajo simplificado. Prioriza la escritura de la tarea, centrándose en el flujo en lugar de las funciones. En lugar de presentar un conjunto de herramientas, Tududi ofrece eficiencia.

Desarrollo

Optimización extrema de un analizador de expresiones matemáticas en Rust: De 43 segundos a 0,98 segundos

2025-07-10
Optimización extrema de un analizador de expresiones matemáticas en Rust: De 43 segundos a 0,98 segundos

Este artículo detalla el proceso del autor para optimizar el tiempo de ejecución de un analizador de expresiones matemáticas basado en Rust, de 43 segundos a unos impresionantes 0,98 segundos. Mediante una serie de optimizaciones, incluyendo la evitación de asignaciones de memoria innecesarias, el procesamiento directo de flujos de bytes, la eliminación del iterador `Peekable`, la utilización de instrucciones multithreading y SIMD, y el empleo de archivos mapeados en memoria, se logró una mejora dramática en el rendimiento. El artículo explica a fondo los principios y los métodos de implementación de cada paso de optimización, respaldados por gráficos de llama y datos de rendimiento. Este es un convincente caso de estudio sobre optimización del rendimiento, que muestra una programación meticulosa y un uso inteligente de las características de Rust.

Lanzamiento de Thunderbird 140 “Eclipse”: Experiencia de correo electrónico más oscura y fluida

2025-07-10
Lanzamiento de Thunderbird 140 “Eclipse”: Experiencia de correo electrónico más oscura y fluida

¡Thunderbird 140 “Eclipse”, el último lanzamiento de soporte extendido (ESR), ya está aquí! Basado en la versión 128 e incorporando las recientes actualizaciones mensuales, esta versión cuenta con mensajes oscuros adaptativos, controles visuales mejorados y un Centro de cuentas simplificado. Los usuarios pueden personalizar fácilmente la configuración de apariencia, aprovechar las notificaciones del sistema operativo nativo y disfrutar de la adición de cuentas y la ordenación de carpetas simplificadas. Las características adicionales incluyen soporte nativo experimental de Exchange, exportación de código QR móvil, desplazamiento horizontal en la vista de tabla y miles de correcciones de errores y mejoras de rendimiento. Las actualizaciones manuales están disponibles ahora para Windows, Linux y macOS, y las actualizaciones automáticas se implementarán próximamente.

Desarrollo

cmdk: El nuevo mejor amigo de tu terminal (acceso a cualquier cosa con ⌘-k)

2025-07-10
cmdk: El nuevo mejor amigo de tu terminal (acceso a cualquier cosa con ⌘-k)

¿Cansado de los interminables comandos `cd` y `ls` en tu terminal? ¡cmdk revoluciona la navegación de archivos! Presiona ⌘-k para acceder instantáneamente a cualquier archivo o directorio en tu sistema de archivos, con previsualizaciones antes de abrir. Aprovechando fzf para la búsqueda difusa, cmdk abre archivos inteligentemente según su tipo (texto en vim, imágenes en vista previa, etc.). Instalación sencilla, funcionalidad potente: experimenta el acceso similar a Notion/Slack en tu terminal.

Desarrollo

CockroachDB 25.2: Seguridad a Nivel de Fila para un Control de Datos Mejorado

2025-07-10
CockroachDB 25.2: Seguridad a Nivel de Fila para un Control de Datos Mejorado

El lanzamiento de CockroachDB 25.2 presenta la Seguridad a Nivel de Fila (RLS), una característica potente que permite el control de acceso granular a nivel de fila directamente en la base de datos. Esto aborda las limitaciones de los permisos tradicionales a nivel de tabla, especialmente crucial para implementaciones multiinquilino y multirregión. El artículo detalla la implementación de RLS a través de casos de uso multiinquilino y multirregión, mostrando sus beneficios en el aislamiento de datos, el cumplimiento normativo y la lógica de aplicación simplificada. La combinación de RLS con la funcionalidad Regional By Row (RBR) de CockroachDB proporciona control de acceso basado en la ubicación geográfica, asegurando el cumplimiento de las leyes de residencia de datos.

Cuantización de color CIELAB mejorada con la fórmula de distancia HyAB

2025-07-10

Este artículo explora un método mejorado de cuantización de color CIELAB utilizando una nueva fórmula de distancia llamada HyAB, que reemplaza la distancia euclidiana tradicional. HyAB utiliza la diferencia absoluta para la luminosidad y la distancia euclidiana para la cromaticidad, mostrando una mejor alineación con la percepción humana en los experimentos. El autor la aplica al algoritmo k-means, optimizando aún más los resultados al reemplazar el cálculo de la media del componente L por el cálculo de la mediana. Aunque HyAB puede mejorar la calidad de la imagen en algunos casos, el autor señala que el diseño general del sistema y las técnicas de posprocesamiento, como el difuminado, tienen un mayor impacto en el resultado final.

Predicción de Ramas: Clave para la Optimización del Rendimiento de la CPU

2025-07-10
Predicción de Ramas: Clave para la Optimización del Rendimiento de la CPU

Las instrucciones de bifurcación son el mecanismo principal mediante el cual una CPU toma decisiones en un programa. Esta publicación explora los tipos de instrucciones de bifurcación (condicional/incondicional, directa/indirecta) y cómo la predicción de bifurcación afecta el rendimiento de la CPU. Si bien las técnicas de predicción de bifurcación pueden mejorar significativamente la eficiencia, las bifurcaciones frecuentes aún crean cuellos de botella en el rendimiento. El artículo sugiere optimizar el código simplificando las instrucciones condicionales, insertando funciones, evitando llamadas excesivamente anidadas, utilizando bifurcaciones indirectas con precaución y utilizando instrucciones de movimiento condicional para reducir el número de instrucciones de bifurcación y mejorar el rendimiento del programa.

De Permisivo a Copyleft: Un Cambio en las Licencias de Código Abierto

2025-07-10

El autor reflexiona sobre su evolución en las preferencias de licencias de código abierto, pasando de una preferencia por licencias permisivas (como MIT) para priorizar la adopción máxima, a favorecer ahora las licencias copyleft (como GPL). Este cambio se debe a tres factores principales: el código abierto se ha generalizado, facilitando su adopción por las empresas; el espacio cripto se ha vuelto más competitivo y mercenario, haciendo insuficiente el intercambio 'amigable'; y los argumentos económicos de Glen Weyl que sugieren que promover activamente el código abierto es óptimo con retornos crecientes a escala. El autor argumenta que el copyleft, al exigir el intercambio del código fuente de obras derivadas, fomenta eficazmente la difusión del conocimiento y el intercambio tecnológico, evitando el monopolio de recursos por unos pocos.

Desarrollo

Petrichor: Reproductor de música sin conexión para macOS

2025-07-10
Petrichor: Reproductor de música sin conexión para macOS

Petrichor es un potente reproductor de música sin conexión para macOS que ofrece todas las funciones que esperarías: exploración organizada de la biblioteca de música, administración interactiva de listas de reproducción y cola de reproducción, exploración de la vista de carpetas, acceso rápido a los favoritos en la barra lateral, navegación sencilla, integración nativa de macOS (controles en la barra de menú y en el Dock, compatibilidad con el modo oscuro), búsqueda potente y listas de reproducción inteligentes. Creado por un desarrollador que echaba de menos las funciones de Swinsian y quería aprender desarrollo de aplicaciones Swift y macOS, está construido completamente con Swift y SwiftUI y utiliza una base de datos SQLite para administrar la información de los archivos de música.

Desarrollo

DNS de Horizonte Dividido Flexible con Tailscale y Pi-hole

2025-07-10
DNS de Horizonte Dividido Flexible con Tailscale y Pi-hole

Esta publicación detalla la configuración de Pi-hole para lograr un DNS de horizonte dividido utilizando Tailscale. El autor utiliza la red mesh de Tailscale para proporcionar diferentes resoluciones de DNS para clientes de LAN y Tailscale. Esto resuelve problemas de acceso causados por servicios que carecen de autenticación secundaria y bloqueo geográfico. El proceso implicó la resolución de problemas de red de Docker y la vinculación de la interfaz de Pi-hole, finalmente resueltos utilizando redes host y ajustando la configuración de Pi-hole. La solución mejora la seguridad y simplifica la administración de la red.

Desarrollo

Optimizando el Teorema del Eje Separador con Recorrido del Mapa de Gauss

2025-07-10
Optimizando el Teorema del Eje Separador con Recorrido del Mapa de Gauss

Este artículo presenta un algoritmo optimizado de detección de colisiones para poliedros convexos. Reformulando el Teorema del Eje Separador (SAT) como un problema de optimización basado en una esfera, el autor revela que el mínimo se encuentra en las intersecciones de círculos máximos en un mapa de Gauss. Un algoritmo de recorrido de grafos evita cálculos repetidos de la función de soporte, requiriendo solo una evaluación completa inicialmente. El algoritmo luego actualiza eficientemente el punto de soporte recorriendo el mapa de Gauss, lo que resulta en ganancias significativas de rendimiento. Las pruebas muestran una aceleración de 5 a 10 veces en comparación con el SAT tradicional.

Interfaces Genéricas en Go: Uso inteligente de interfaces genéricas para estructuras de árbol eficientes y adaptativas

2025-07-10

Este artículo explora el uso avanzado de interfaces genéricas en Go, en particular, cómo manejar elegantemente las restricciones de tipo al construir estructuras de datos como árboles de búsqueda binarios utilizando interfaces genéricas autorreferenciales. Utilizando una estructura de árbol como ejemplo, compara tres enfoques de implementación: usando `cmp.Ordered`, una función de comparación personalizada y una interfaz genérica autorreferencial. Finalmente, el artículo profundiza en la combinación de restricciones `comparable` para construir conjuntos ordenados y evitar las complejidades derivadas de los receptores de puntero, recomendando priorizar la simplicidad y la legibilidad en el diseño.

(go.dev)
Desarrollo

Fragmento de código Clojure: Creación de un índice de géneros de películas

2025-07-10
Fragmento de código Clojure: Creación de un índice de géneros de películas

Este fragmento de código Clojure crea elegantemente un índice de géneros de películas. Comenzando con un mapa que contiene información de películas (título, géneros y puntuación de Rotten Tomatoes), utiliza las funciones `reduce` y `zipmap` para categorizar las películas por género, produciendo finalmente un mapa donde las claves son los géneros y los valores son listas de películas pertenecientes a ese género. Este índice facilita la búsqueda de películas por género y su ordenación por calificación. Por ejemplo, permite encontrar fácilmente todas las películas de suspense y ordenarlas por su puntuación de Rotten Tomatoes. El código es conciso y eficiente, mostrando la elegancia de la programación funcional.

Desarrollo

Servidor MCP de Anna's Archive: Búsqueda y Descarga de Documentos

2025-07-10
Servidor MCP de Anna's Archive: Búsqueda y Descarga de Documentos

Este es un servidor MCP para buscar y descargar documentos de Anna's Archive. Permite buscar documentos que coincidan con términos especificados y descargar documentos específicos devueltos anteriormente por la herramienta de búsqueda. El software renuncia explícitamente al respaldo de la adquisición no autorizada de material protegido por derechos de autor y debe considerarse únicamente una utilidad. Se insta a los usuarios a respetar los derechos de propiedad intelectual. Requiere dos variables de entorno: ANNAS_SECRET_KEY (clave API) y ANNAS_DOWNLOAD_PATH (ruta de descarga).

Error de visualización del sitio web debido a JavaScript deshabilitado

2025-07-10
Error de visualización del sitio web debido a JavaScript deshabilitado

Al visitar un sitio web, apareció un mensaje: "JavaScript has been disabled in your browser." Esto resultó en una visualización anormal, mostrando solo elementos básicos como navegación, búsqueda, contenido, pie de página e información de contacto. El sitio web depende de JavaScript para su representación y funcionalidad. Se recomienda habilitar JavaScript en la configuración del navegador para una experiencia completa del sitio web.

Desarrollo

Los LLMs tienen dificultades con el código de derecha a izquierda: el caso de q/kdb+

2025-07-09
Los LLMs tienen dificultades con el código de derecha a izquierda: el caso de q/kdb+

Los modelos de lenguaje grandes (LLMs) enfrentan desafíos al escribir código en q/kdb+, un lenguaje con un orden de evaluación de derecha a izquierda y sin precedencia de operadores. El autor demuestra que los LLMs tienen dificultades para generar código correcto siguiendo estas reglas, a menudo mezclando la sintaxis de Python y q. El artículo explora por qué los LLMs encuentran difícil la codificación de derecha a izquierda y propone Qython como solución. Qython es un lenguaje similar a Python que se compila en q, aprovechando la experiencia de los LLMs en Python para sortear las dificultades de la sintaxis única de q. Un ejemplo práctico muestra la eficacia de Qython.

Desarrollo

Ruby 3.4: Transición gradual a literales de cadena congeladas

2025-07-09
Ruby 3.4: Transición gradual a literales de cadena congeladas

Ruby 3.4 inicia una transición de varias versiones a literales de cadena congeladas por defecto. Actualmente, Ruby 3.4 ofrece advertencias optativas cuando se activan las advertencias de deprecación, garantizando la compatibilidad con versiones anteriores. Las advertencias se activarán de forma predeterminada en Ruby 3.7, y las literales de cadena congeladas se convertirán en el valor predeterminado en Ruby 4.0. Este cambio promete mejoras en el rendimiento mediante la desduplicación de cadenas, reduciendo la recolección de basura y el uso de memoria. El artículo detalla cómo activar las advertencias, solucionar problemas y migrar el código existente, abogando por un enfoque de actualización gradual.

Desarrollo Cadenas

Astro: Un framework web que redefine la velocidad

2025-07-09
Astro: Un framework web que redefine la velocidad

Lanzado en 2021, Astro es un cambio de juego en los frameworks web. Prioriza el contenido y el renderizado del lado del servidor, entregando cero JavaScript por defecto para tiempos de carga extremadamente rápidos. Su arquitectura de 'Islas' carga JavaScript solo para componentes interactivos, dejando el resto como HTML estático. Esto resulta en sitios significativamente más rápidos, mejorando el SEO y la experiencia del usuario. Es increíblemente versátil, permitiendo que integres React, Vue u otros frameworks a la perfección. Si estás construyendo sitios con mucho contenido, Astro ofrece una alternativa convincente, priorizando la velocidad y la felicidad del desarrollador.

Desarrollo desempeño

Conferencia API Platform 2025: La IA impulsa el desarrollo de APIs

2025-07-09
Conferencia API Platform 2025: La IA impulsa el desarrollo de APIs

La Conferencia API Platform regresa del 18 al 19 de septiembre de 2025, en Lille, Francia, ¡y en línea! Este evento de dos días muestra las últimas tendencias, mejores prácticas y estudios de caso en API Platform y su ecosistema (PHP, Symfony, JavaScript, IA, FrankenPHP, rendimiento, herramientas). Casi 30 charlas en inglés y francés lo convierten en una cita obligada para empresas innovadoras, líderes de proyectos y desarrolladores expertos. Se anima especialmente a participar a los desarrolladores, CTO y responsables de la toma de decisiones especializados en estas tecnologías. La convocatoria de ponencias está abierta hasta el 23 de marzo, y los ponentes finales se anunciarán a partir del 14 de mayo. ¡Envía tu propuesta y forma parte de esta edición de aniversario especial!

Desarrollo

La verdad sobre las APIs REST: más allá de CRUD

2025-07-09

Este artículo profundiza en la esencia del estilo arquitectónico REST, revelando su principio central: Hipermedia como el Motor del Estado de la Aplicación (HATEOAS). Muchas de las llamadas "APIs RESTful" simplemente se adhieren a las operaciones CRUD, descuidando la restricción clave de HATEOAS, lo que lleva a un fuerte acoplamiento entre el cliente y el servidor, perjudicando la mantenibilidad y la escalabilidad. A través de los argumentos y ejemplos de Roy Fielding, el artículo aclara cómo las verdaderas APIs REST guían la interacción del cliente mediante enlaces de hipermedia, permitiendo el descubrimiento dinámico de recursos y las transiciones de estado, construyendo en última instancia sistemas distribuidos débilmente acoplados y evolutivos. El artículo también analiza las compensaciones prácticas que a menudo conducen a enfoques más simples, similares a RPC.

Desarrollo

RN Maps Clustering: Biblioteca de agrupamiento de mapas React Native de alto rendimiento

2025-07-09
RN Maps Clustering: Biblioteca de agrupamiento de mapas React Native de alto rendimiento

RN Maps Clustering es una biblioteca de agrupamiento de mapas moderna, eficiente y totalmente tipada para React Native. Construida sobre supercluster, proporciona una API declarativa simple para agregar agrupamiento de marcadores hermosos y eficientes a tus componentes react-native-maps. Personaliza la representación de clústeres, maneja eventos de pulsación y disfruta de funciones como la dispersión automática de marcadores y el alto rendimiento. Mejora significativamente la eficiencia del desarrollador.

500 Millas de Correo Electrónico: Una Colección Curada de Historias Absurdas de Errores de Software

2025-07-09

500 Mile Email es una lista seleccionada de historias extrañas de errores de software, actualizada semanalmente. Desde servidores de bases de datos que misteriosamente se agotan hasta Wi-Fi que solo funciona cuando llueve y aplicaciones que se bloquean después de beber Coca-Cola, estas anécdotas son divertidas y estimulantes. El sitio presenta contribuciones de desarrolladores, ingenieros y usuarios de todo el mundo, mostrando momentos humorísticos e ingeniosos del desarrollo de software.

¿El bot de documentación LLM de Shopify: Adivinanzas en lugar de hechos?

2025-07-09
¿El bot de documentación LLM de Shopify: Adivinanzas en lugar de hechos?

El bot de documentación para desarrolladores de Shopify, impulsado por LLM, proporcionó una sintaxis Liquid incorrecta para detectar artículos de Shopify Collective en correos electrónicos de confirmación de pedidos. Si bien el bot proporcionó una respuesta rápida, el código no funcionó en la práctica porque la etiqueta de Shopify Collective se agrega después de que se genera el correo electrónico. El autor cuestiona el valor de este bot de documentación de 'adivinanzas', argumentando que el costo de un mal consejo supera con creces el beneficio de una ayuda rápida. Sugiere confiar en la documentación oficial en lugar de un bot potencialmente inexacto.

Lanzamiento de Thunderbird 140: Modo oscuro, sincronización sencilla de configuración y compatibilidad con Exchange

2025-07-09

Se ha lanzado la versión 140 del cliente de correo electrónico Thunderbird con varias características nuevas. Destaca el "modo oscuro de mensajes", que adapta el contenido de los mensajes al modo oscuro. También incluye la transferencia sencilla de la configuración del escritorio al cliente móvil Thunderbird, compatibilidad experimental con Microsoft Exchange y controles globales para el encadenamiento y el orden de clasificación de los mensajes. Esta es una versión de soporte extendido (ESR) con 12 meses de soporte, aunque Thunderbird anima a los usuarios a cambiar al canal de lanzamiento mensual. Un despliegue escalonado para los usuarios existentes ayuda a detectar errores antes del despliegue generalizado, pero las actualizaciones manuales están disponibles a través de Ayuda > Acerca de. Consulta las notas de la versión para obtener una lista completa de cambios.

Nueva herramienta de administración de suscripciones de Gmail: Despeja tu bandeja de entrada

2025-07-09
Nueva herramienta de administración de suscripciones de Gmail: Despeja tu bandeja de entrada

Google anunció una nueva función de Gmail para ayudar a los usuarios a administrar sus suscripciones y limpiar sus bandejas de entrada. La herramienta "Administrar suscripciones", que se lanzará en la web, Android e iOS, permite a los usuarios ver y cancelar la suscripción a las suscripciones no deseadas en un solo lugar. Gmail envía solicitudes de cancelación de suscripción en nombre del usuario. Esto se basa en la función de cancelación de suscripción con un clic del año pasado. El lanzamiento comienza el 10 de julio, y se espera que la disponibilidad total sea dentro de 15 días.

1 2 44 45 46 48 50 51 52 214 215