Newsletter Blog Cristian Palau

Python

Instalar y Ejecutar Aplicaciones de Python Usando pipx

  • Instalar y Ejecutar Aplicaciones de Python Usando pipx : En este tutorial de REAL PYTHON, descubrirás cómo utilizar pipx para instalar y ejecutar paquetes de Python como aplicaciones independientes en entornos aislados. Con pipx, el Índice de Paquetes de Python (PyPI) se convierte en un mercado de aplicaciones para programadores de Python.

¿Por qué se multiplican de forma extraña las listas en Python?

Automatización del Patrón Saga

  • Automatización del Patrón Saga : Descarga esta guía técnica gratuita de TEMPORAL TECHNOLOGIES para aprender a automatizar el Patrón Saga con Temporal, la plataforma de ejecución duradera de código abierto. El Patrón Saga te permite gestionar el estado en transacciones distribuidas, simplificando su construcción y mantenimiento.

Nuevas dependencias en línea en pipx 1.4.2

  • Nuevas dependencias en línea en pipx 1.4.2 : Henry Schreiner presenta la nueva característica experimental de pipx 1.4.2 que aprovecha PEP 723 para especificar dependencias dentro de un script de Python. Descubre cómo se ve esta función y cómo pipx la utiliza.

PEP 738 Aceptado: Agregar Android como una Plataforma Compatible

  • PEP 738 Aceptado: Agregar Android como una Plataforma Compatible : El PEP 738 propone agregar Android como una plataforma compatible en CPython, con el objetivo inicial de lograr soporte de Nivel 3 en Python 3.13. Escrito por Malcolm Smith, se basa en PEP 730 sobre iOS. Se destaca la importancia de brindar soporte a plataformas móviles populares para garantizar la relevancia de Python. Se detallan aspectos técnicos y de implementación para Android. Fuente: GitHub Python PEPs.

PEP 742 Estrechando tipos con TypeIs

  • PEP 742 - Estrechando tipos con TypeIs : El PEP 742 propone la introducción de una nueva forma especial, TypeIs , para permitir la anotación de funciones que pueden usarse para estrechar el tipo de un valor, similar a isinstance() . El autor Jelle Zijlstra explica cómo TypeIs puede estrechar el tipo tanto en las ramas if como else de una condición. Se busca mejorar la limitada funcionalidad de typing.TypeGuard . Fuente: PYTHON ENHANCEMENT PROPOSALS (PEPS)

Django Bugfix Release Issued: 5.0.4

  • Django Bugfix Release Issued: 5.0.4 : Se ha lanzado la versión de corrección de errores 5.0.4 de Django. Natalia Bidart informa sobre el cierre del soporte extendido de Django 3.2 y la necesidad de actualizar a la versión 4.2 o posterior. Se alienta a los usuarios a descargar el paquete de lanzamiento desde la página de descargas o desde el Índice de Paquetes de Python. (Autor: DJANGO SOFTWARE FOUNDATION)

Aplicando Convenciones en Proyectos de Django con Introspección

  • Aplicando Convenciones en Proyectos de Django con Introspección : En el artículo de Luke Plant se destaca la importancia de las convenciones de nombres en el código y propone utilizar scripts para validar su cumplimiento. A través de la introspección, es posible escribir reglas para detectar código que no sigue las convenciones establecidas. Aunque se presentan ejemplos con campos de Django, el concepto es aplicable a cualquier código Python.

Creando un Chatbot LLM Personalizado con Documentos y Datos

  • Creando un Chatbot LLM Personalizado con Documentos y Datos : En este artículo de Real Python, Calvin Hendryx-Parker explora cómo personalizar un chatbot LLM para abordar una colección de documentos y datos. Se discuten herramientas y técnicas para construir incrustaciones en una base de datos vectorial, centrándose en el desarrollo de una interfaz de chat impulsada por un modelo de lenguaje grande (LLM).

Funciones anónimas en Python

  • Funciones anónimas en Python : Jake Edge explora en este artículo la historia y el razonamiento actual en contra de las funciones anónimas de varias líneas, similares a las de JavaScript, en la comunidad de Python.

Cómo configurar hooks pre-commit

  • Cómo configurar hooks pre-commit : Mantener la calidad del código puede ser un desafío, sin importar el tamaño del proyecto o la cantidad de colaboradores. Stefanie Molin comparte en este artículo una guía paso a paso para instalar y configurar hooks pre-commit en tu proyecto.

Cómo corregir errores de código en Python con estas buenas prácticas

Nueva Iniciativa Abierta para Estándares de Ciberseguridad

  • Nueva Iniciativa Abierta para Estándares de Ciberseguridad : La Fundación de Software Python se ha unido con la Fundación de Software Apache, la Fundación Eclipse y otros grupos de código abierto para formar un grupo dedicado a iniciativas de ciberseguridad en la comunidad de código abierto. - PYTHON SOFTWARE FOUNDATION

Por qué prefiero Django en lugar de FastAPI

Lista de verificación de accesibilidad en mi software

  • Lista de verificación de accesibilidad en mi software : Sarah Aberemane presenta una lista de verificación para garantizar la accesibilidad en tu software, eliminando barreras que limitan la participación de algunas personas. Esta lista te ayuda a determinar si tu código web cumple con las pautas aceptadas de accesibilidad de contenido web.

Comparación entre PyTorch y Tensorflow para Deep Learning en Python

Python Project-Local Virtualenv Management Redux

Probando Rye

  • Probando Rye : Hamuko decidió probar Rye, un nuevo sistema de gestión de paquetes para Python.

SentenceTransformers: Framework en Python para embeddings de texto e imágenes

  • SentenceTransformers: Framework en Python para embeddings de texto e imágenes : SentenceTransformers es un framework de Python para embeddings de texto e imágenes, descrito por Nils Reimers. Permite calcular embeddings en más de 100 idiomas, útiles para similitud textual, búsqueda semántica o minería de datos. Basado en PyTorch y Transformers, ofrece modelos preentrenados y la posibilidad de ajustar los propios. Contacto: Tom Aarsen. Instalación simple con pip.

Transcripción y subtitulado de videos con Whisper, FFmpeg y Python

  • Transcripción y subtitulado de videos con Whisper, FFmpeg y Python : El artículo de Editframe te guía en la transcripción y subtitulado de videos usando OpenAI Whisper y FFmpeg en Python. El autor explica cómo configurar el entorno, transcribir el video con Whisper, y agregar subtítulos con FFmpeg. Estas herramientas son clave para mejorar la accesibilidad y el compromiso del espectador en videos. ¡Una guía imprescindible para creadores de contenido! - Editframe

Los clientes de bibliotecas son mejores cuando no tienen API

  • Los clientes de bibliotecas son mejores cuando no tienen API : El autor Cal Paterson explica en su artículo cómo los clientes de bibliotecas son más efectivos sin una API explícita. En lugar de usar una API, propone utilizar directamente Pandas, Polars o Dask para interactuar con csvbase. Todo esto es posible gracias a fsspec, una biblioteca de interfaz de sistema de archivos estándar. Cal invita a probar csvbase-client y contribuir al proyecto en GitHub.

Introducción a Tree-sitter

  • Introducción a Tree-sitter : Tree-sitter, por Shreshth Goyal, genera parsers basados en un lenguaje y proporciona información sobre el código tal como lo ve el motor. Convierte el código desordenado en un mapa claro y estructurado, revelando las relaciones entre las diferentes partes. Este mapa, conocido como Árbol de Sintaxis Abstracta (AST), actúa como un plano visual que facilita la comprensión del código complejo.

Implementando búsqueda semántica de imágenes con Amazon Titan y Supabase Vector

  • Implementando búsqueda semántica de imágenes con Amazon Titan y Supabase Vector : Yuri explora cómo Amazon Bedrock, un servicio totalmente gestionado, ofrece una selección de modelos base de alto rendimiento de empresas líderes en IA. Cada modelo es accesible a través de una API común que implementa un amplio conjunto de funciones para ayudar a construir aplicaciones de IA generativa con seguridad, privacidad y responsabilidad en mente.

La Filosofía de Diseño de Tablas grandes

  • La Filosofía de Diseño de Tablas grandes : El artículo ‘La Filosofía de Diseño de Tablas Grandes’ escrito por Rich Iannone y Michael Chow, explora la evolución de las tablas a lo largo de la historia y la importancia de su diseño efectivo. Desde la antigüedad hasta la era moderna, las tablas han sido cruciales para presentar información. El artículo destaca cómo Great Tables busca resolver el dilema de las tablas con un enfoque innovador en Python.

Hy: Un dialecto de Lisp integrado en Python

  • Hy: Un dialecto de Lisp integrado en Python : Hy, un lenguaje de programación en la familia Lisp, se implementa como una sintaxis alternativa para Python. Permite acceder directamente a las funciones integradas de Python y bibliotecas de terceros, mientras se mezclan estilos de programación imperativos, funcionales y orientados a objetos. Para instalarlo, usa pip3 install --user hy y ejecuta programas con hy myprogram.hy . Ejemplos en el tutorial. Autor: Desconocido.

Prediciendo Eclipses Solares con Python

  • Prediciendo Eclipses Solares con Python : Erik Bernhardsson comparte cómo predecir eclipses solares con Python. Utiliza Astropy para calcular la posición del sol y la luna en el cielo, encontrando eclipses al calcular la separación angular entre ambos. Mediante optimización de caja negra, logra determinar la ubicación de un eclipse total. Finalmente, encuentra todos los eclipses del 2020-2030, mostrando un enfoque eficiente y productivo en ~100 líneas de Python.

Building a data tool: Python vs. JavaScript

  • Building a data tool: Python vs. JavaScript : Gerard Clos compara Python y JavaScript para construir herramientas de datos. Destaca la amplia comunidad y soporte de Python, mientras que JavaScript ofrece un ecosistema extenso y moderno para aplicaciones web. Latitude eligió Sveltekit y JavaScript por su experiencia en frontend. Aunque el tiempo dirá si fue la elección correcta, están satisfechos hasta ahora. Latitude es un marco de análisis integrado de código abierto. (70 palabras)

Java

La importancia de Spring para Jakarta EE - y viceversa

  • La importancia de Spring para Jakarta EE - y viceversa : El artículo de Ivar Grimstad destaca la relación entre Spring y Jakarta EE en el ecosistema Java empresarial. Spring, creado como alternativa ligera a J2EE, se integra con múltiples especificaciones de Jakarta EE. Ambas tecnologías se complementan, ofreciendo estándares y características esenciales para el desarrollo Java empresarial. La colaboración entre ellas garantiza un ecosistema competitivo y vibrante. - Ivar Grimstad

A summary of Jakarta Persistence 3.2

  • A summary of Jakarta Persistence 3.2 : En ‘A summary of Jakarta Persistence 3.2’, Gavin King destaca las mejoras en la API de Jakarta Persistence, como la configuración programática, exportación de esquemas, métodos de manejo de excepciones, opciones más seguras, metamodelo estático, mejoras en JPQL y anotaciones de mapeo, integración con CDI, entre otros. Estas actualizaciones representan un gran avance en la seguridad de tipos y serán implementadas en Hibernate 7.0. (Autor: Gavin King)

JEP 466: API de archivos de clase (Segunda vista previa, Java 23)

  • JEP 466: API de archivos de clase (Segunda vista previa, Java 23) : Proporciona una API estándar para analizar, generar y transformar archivos de clase Java. Esta API de vista previa fue propuesta por Brian Goetz en JDK 22 y ahora se presenta una segunda vista previa con refinamientos. El objetivo es migrar componentes de JDK a esta API estándar y eliminar la dependencia de la biblioteca ASM de terceros. La API se enfoca en la inmutabilidad, estructura en árbol, navegación impulsada por el usuario y transformaciones emergentes. (Autor: Brian Goetz)

Restaurando el Equilibrio con Patrones Primitivos - Inside Java Newscast #66

Dynamic Constants: Oxymoron or Promising JVM Feature?

  • Dynamic Constants: Oxymoron or Promising JVM Feature? : El artículo discute si las Constantes Dinámicas son una característica prometedora en la JVM. Escrito por Evgeny Mandrikov, se adentra en los posibles beneficios y desafíos de esta funcionalidad en el desarrollo de aplicaciones Java.

YETI: Un nuevo lenguaje de programación funcional en la JVM

  • YETI: Un nuevo lenguaje de programación funcional en la JVM : YETI es un lenguaje de programación funcional al estilo ML creado por Chrisichris. Con inferencia de tipos, listas lazy, coincidencia de patrones y fácil integración con Java. Aunque su desarrollo activo no está planeado, sigue siendo útil para experimentar y probar cosas en la plataforma Java. Además, ofrece soporte para sintaxis en editores como Vim, Netbeans y Emacs.

Eclipse JKube 1.16 Goes GA

  • Eclipse JKube 1.16 Goes GA : Eclipse JKube 1.16, escrito por Nikos Vaggalis, facilita el despliegue de aplicaciones Java en un clúster de Kubernetes. La nueva versión incluye estrategias de construcción de imágenes de contenedores con Cloud Native Buildpacks, una función de Helm Lint para verificar los charts generados y soporte para etiquetas recomendadas por Kubernetes. JKube ayuda a los desarrolladores Java a adentrarse en Kubernetes de manera sencilla.

Una inmersión en los sockets TCP y cómo bloquean

  • Una inmersión en los sockets TCP y cómo bloquean : En este artículo de Concurrency Deep Dives, se explora cómo los sockets TCP son la base de la programación de E/S en Java/Scala. El autor, sin nombre, destaca que los sockets TCP son implementados por los sistemas operativos, y las APIs de Java y Scala permiten interactuar con ellos. Se discute la diferencia entre sockets bloqueantes, no bloqueantes y asíncronos, y se profundiza en cómo los sockets bloqueantes pueden bloquear el hilo de ejecución en operaciones clave como aceptar, leer y escribir datos.

El funcionamiento interno de Java: una mirada detallada

  • El funcionamiento interno de Java: una mirada detallada : Oludayo Adeoye explora cómo Java, famoso por su independencia de plataforma, se ejecuta a través de la Máquina Virtual de Java (JVM). Con el JVM instalado, los usuarios de Windows, Linux o Mac pueden correr aplicaciones Java. Descubre los detalles de cómo funciona Java en este artículo.

Diferencias en la longitud de cadenas Unicode en diferentes lenguajes de programación

Simplificando recursos REST con Java Records y Jakarta REST

  • Simplificando recursos REST con Java Records y Jakarta REST : En el artículo ‘Simplificando recursos REST con Java Records y Jakarta REST’ escrito por Luqman Saeed, se destaca la importancia de utilizar DTOs para separar entidades de base de datos de la capa de API. Java Records se presentan como una solución concisa y clara para definir DTOs, permitiendo una comunicación más segura y mantenible. La separación de responsabilidades brinda flexibilidad en la evolución de la base de datos y el contrato de la API.

Debugging Streams with Peek

  • Debugging Streams with Peek : El autor Shai Almog explora el uso de peek() para depurar Java streams, permitiendo visualizar elementos sin interrumpir las operaciones. Muestra ejemplos de código y errores comunes, destacando la importancia de usar peek() con moderación y solo para depuración temporal. Se enfatiza evitar efectos secundarios y considerar otras técnicas de depuración según la situación.

Cómo Detectar Fallos de Caché Utilizando Observabilidad

  • Cómo Detectar Fallos de Caché Utilizando Observabilidad : En este artículo de foojay.io, Saeed Zarinfam explora la importancia del caché en el diseño de sistemas y arquitectura de software. Describe cómo implementar caché en Spring Boot y cómo Digma puede ayudar a detectar fallos de caché localmente. Zarinfam destaca la evolución del caché desde los primeros días de la informática y los beneficios clave, como mejor rendimiento y experiencia de usuario mejorada.

Mejora tus pruebas parametrizadas en JUnit 5 con Records

  • Mejora tus pruebas parametrizadas en JUnit 5 con Records : El artículo escrito por A N M Bazlur Rahman explora cómo utilizar Java Records para pruebas parametrizadas en JUnit 5. Presenta un ejemplo de un evaluador de expresiones implementado con records, mostrando cómo mejorar la claridad y mantenibilidad de las pruebas. Se destacan ventajas como la claridad, la seguridad de tipos y el manejo flexible de resultados, demostrando cómo los records optimizan las pruebas en JUnit 5.

Spring Tips: Hello, Java 22!

  • Spring Tips: Hello, Java 22! : En este artículo, Josh Long presenta las novedades de Java 22 para la comunidad de Spring. Descubre las mejoras y características de esta nueva versión que impactarán en el desarrollo de aplicaciones. ¡No te lo pierdas!

High-Performance Java Persistence Newsletter, Issue 61

  • High-Performance Java Persistence Newsletter, Issue 61 : En el número 61 de la Newsletter de High-Performance Java Persistence, Vlad Mihalcea presenta Hypersistence Optimizer, una herramienta para detectar problemas de rendimiento en JPA y Hibernate. Destaca mejoras en Jakarta Persistence 3.2, opciones de indexación en PostgreSQL, y optimizaciones como Heap-Only-Tuple. También comparte un video sobre Spring Data JPA y Hibernate, y detalles sobre nuevos lanzamientos de proyectos.

Java 23: Restaurando el Equilibrio con Patrones Primitivos - Inside Java Newscast #66

Netflix’s Paul Bakker and Kavitha Srinivasan on scaling Spring Boot and Spring GraphQL

Una década de actualizaciones de JDK en OpenJDK

  • Una década de actualizaciones de JDK en OpenJDK : Desde que Oracle comenzó a desarrollar actualizaciones para el JDK con el Proyecto de Actualizaciones de JDK 7 en 2011, mucho ha sucedido en la comunidad de OpenJDK. Dalibor Topić nos cuenta cómo ha evolucionado el proceso de desarrollo y cómo funcionan las actualizaciones del JDK en la práctica hoy en día. Artículo grabado en FOSDEM 2024.

Lanzado Quarkus 3.9.2

  • Lanzado Quarkus 3.9.2 : El autor Guillaume Smet anuncia el lanzamiento de Quarkus 3.9.2, una versión de mantenimiento con correcciones de errores y mejoras en la documentación. Se recomienda actualizar con ‘quarkus update’. Quarkus es un proyecto de código abierto con licencia Apache 2.0 y cuenta con una comunidad acogedora que invita a reportar errores, contribuir con código y participar en discusiones.

Implementando la especificación Idempotency-Key en Apache APISIX

  • Implementando la especificación Idempotency-Key en Apache APISIX : El autor Nicolas Fränkel muestra cómo implementar la especificación Idempotency-Key en Apache APISIX a través de un plugin. Explica la lógica de almacenamiento en Redis, la gestión de rutas y la detección de errores. Este artículo detalla la implementación paso a paso y destaca áreas de mejora para una implementación más robusta. Fuente: A Java geek.

La Carrera para Hacer Obsoletos a los Humanos

  • La Carrera para Hacer Obsoletos a los Humanos : El autor, que ha trabajado en el campo de la inteligencia artificial, reflexiona sobre el avance de la IA en la creación de música y contenido personalizado. Plantea la posibilidad de un futuro donde las máquinas realicen tareas humanas, generando preocupación sobre la devaluación del trabajo humano y la creatividad. Se cuestiona cómo mantener la salud mental y física en un mundo dominado por la tecnología. Artículo de Pointers Gone Wild.

Creando Seams en los Pipelines Batch de un Mainframe

  • Creando Seams en los Pipelines Batch de un Mainframe : En ‘Creando Seams en los Pipelines Batch de un Mainframe’, Alessio Ferri y Tom Coggrave de Thoughtworks exploran cómo introducir gradualmente nuevas capacidades en sistemas mainframe mediante la creación de puntos de desvío en el flujo lógico. Se detallan estrategias como la replicación de datos, la identificación de seams internos y externos, y la migración incremental para modernizar sistemas legacy de manera segura y eficiente.

Event modelling anti-patterns explained

  • Event modelling anti-patterns explained : En el artículo ‘Event modelling anti-patterns explained’, Oskar Dudycz explica los errores comunes en el modelado de eventos, como Passive Aggressive Events o CRUD sourcing. Comparte su experiencia en la Kafka Summit 2024 y detalla malas prácticas a evitar. Destaca la importancia de conocer tanto las mejores prácticas como lo que NO hacer en el modelado de eventos. Oskar también ofrece consejos sobre diseño de arquitectura de software y cómo evitar errores en sistemas basados en eventos.

12 Herramientas de texto para desarrolladores

  • 12 Herramientas de texto para desarrolladores : El autor Anthony Goubard, desarrollador de Java desde 1995, presenta 12 herramientas de texto gratuitas en Japplis Toolbox para simplificar el trabajo de los desarrolladores. Incluyen codificación y decodificación de URL, parámetros de consulta, expresiones regulares, formato JSON y XML, exploradores de JSON y XML, conteo de caracteres, entre otras. Las herramientas están escritas en Java y son compatibles con Windows, macOS y Linux.

Go

Aprendiendo Go en 2024; De Principiante a Senior

  • Aprendiendo Go en 2024; De Principiante a Senior : Recursos para aprender Go en 2024 son abundantes y abarcan diversos medios como texto, video, podcasts, y todos los niveles de habilidad. En este artículo, Matt Boyle comparte sus marcadores de seis años para señalar algo para todos los interesados en aprender Go, desde principiantes hasta expertos.

A Visual Guide to Slices

  • A Visual Guide to Slices : En ‘A Visual Guide to Slices’, Ozan Sazak explora cómo funcionan las slices en Go, abordando su creación, manipulación con make y append, el crecimiento de la capacidad y la sintaxis de slicing para crear nuevas slices a partir de las existentes.

The Case of a Leaky Goroutine

  • The Case of a Leaky Goroutine : Descubre ‘La Fuga de una Goroutine’ por Wouter Groeneveld, quien comparte su experiencia al encontrar una ‘fábrica de goroutines interminable’ que causaba problemas en una aplicación, ofreciendo consejos para evitar situaciones similares.

Reflexiones sobre los enums en Go

Control de luces LED ZigBee desde una aplicación en Go

  • Control de luces LED ZigBee desde una aplicación en Go : Thomas Derflinger explora cómo controlar luces LED ZigBee desde una aplicación en Go. La aplicación principalmente envía mensajes MQTT y sirve una página HTML, lo que la convierte en un proyecto rápido y divertido para el fin de semana.

Mejoras en Generics de Go para Mapas y Slices

One Approach to ‘Blazing Fast’ Go Docker Builds

IA y Data science

Iniciándose con Embeddings

  • Iniciándose con Embeddings : Un embedding es una representación numérica de una pieza de información, como texto, documentos, imágenes, audio, etc. La representación captura el significado semántico de lo que se está incrustando, haciéndolo robusto para muchos tipos de aplicaciones.

Clasificación de informes de bugs con ChatGPT

  • Clasificación de informes de bugs con ChatGPT : Rafael Quintanilha explora cómo clasificar informes de errores con ChatGPT. Los programadores temen los errores, que suelen aparecer en los momentos menos oportunos, distrayéndolos de otros problemas. Quintanilha destaca la utilidad de esta herramienta en la gestión de errores.

A Data Quality-Driven View of MLOps

  • A Data Quality-Driven View of MLOps : El artículo ‘A Data Quality-Driven View of MLOps’ de Cedric Renggli y otros autores de Microsoft Research explora la importancia de la calidad de los datos en las Operaciones de Aprendizaje Automático. Destaca la optimización del modelo de ML a través de la limpieza estratégica de datos, la gestión de expectativas realistas y la selección eficiente del mejor modelo para nuevos datos mediante pruebas continuas de calidad.

3Blue1Brown on AI Transformers

  • 3Blue1Brown on AI Transformers : El artículo no proporciona información sobre inteligencia artificial o transformers. Se enfoca en los derechos de autor y la propiedad de YouTube. Escrito por 3Blue1Brown.

Introducción a los Fundamentos del Procesamiento del Lenguaje Natural: Tokens, N-Gramas y Modelos de Bag-of-Words

La carga cognitiva en el desarrollo de software

  • La carga cognitiva en el desarrollo de software : El autor del repositorio ‘cognitive-load’ explora la importancia de reducir la carga cognitiva en proyectos de software. Destaca los efectos negativos de la complejidad cognitiva excesiva y aboga por la simplicidad en el código. Dan North menciona la diferencia entre familiaridad y simplicidad. Se presentan ejemplos prácticos de cómo reducir la carga cognitiva, como evitar acoplamiento excesivo con un framework y abusar del principio DRY. El autor enfatiza la importancia de la claridad, simplicidad y mantenibilidad en el código.

Cómo no morir despedazado; o, cómo pensar en la calidad del software

  • Cómo no morir despedazado; o, cómo pensar en la calidad del software : Aditya Athalye explora el concepto de calidad en el desarrollo de software, destacando la importancia de abordar los errores acumulativos que degradan la calidad. Propone enfoques como la colaboración de partes interesadas y ver los desafíos como oportunidades de crecimiento. Destaca que la responsabilidad de asegurar la calidad del producto recae en todas las funciones involucradas en su vida.

General

Introducing Sudo for Windows!

  • Introducing Sudo for Windows! : Jordi Adoumie presenta ‘Sudo for Windows’, una forma de ejecutar comandos elevados directamente desde una sesión de consola no elevada en Windows 11. El proyecto es de código abierto en GitHub y ofrece configuraciones como abrir en una nueva ventana, cerrar la entrada o en línea. Adoumie comparte detalles sobre su funcionamiento y próximos planes. (Autor: Jordi Adoumie)

Cómo utilizar GitHub Copilot en tu IDE: consejos, trucos y mejores prácticas

  • Cómo utilizar GitHub Copilot en tu IDE: consejos, trucos y mejores prácticas : Kedasha Kerr explora cómo la inteligencia artificial ha mejorado su flujo de trabajo con GitHub Copilot, permitiéndole avanzar más rápido en sus proyectos. Destaca la importancia de aprender a utilizar estas herramientas de IA de manera eficiente para aumentar la productividad. Un artículo imprescindible para desarrolladores en busca de optimizar su trabajo diario.

Backdoor en xz Utils: Lo que sabemos sobre la puerta trasera que casi infecta al mundo

  • Backdoor en xz Utils: Lo que sabemos sobre la puerta trasera que casi infecta al mundo : Un desarrollador de Microsoft reveló una puerta trasera intencionalmente colocada en xz Utils, una utilidad de compresión de datos de código abierto disponible en la mayoría de las instalaciones de Linux y otros sistemas operativos tipo Unix. El autor, Dan Goodin, destaca que los responsables probablemente pasaron años en este proyecto, a punto de fusionar la actualización con Debian y Red Hat, cuando un desarrollador alerta detectó algo sospechoso.

Cómo aprovechar al máximo el historial de comandos en la terminal

  • Cómo aprovechar al máximo el historial de comandos en la terminal : El autor Martin destaca en su artículo la importancia del historial de comandos en la terminal como una herramienta de productividad. Proporciona consejos para optimizar la configuración y uso del historial, centrándose en ZSH pero aplicables a Bash y otros shells. Descubre cómo convertir tu historial en un valioso repositorio de conocimiento y referencia de comandos.

Client libraries sin API: el caso de csvbase

  • Client libraries sin API: el caso de csvbase : Cal Paterson explica en su artículo cómo csvbase utiliza una biblioteca de cliente sin API, permitiendo extraer dataframes con cualquier biblioteca que utilice la interfaz del sistema de archivos estándar fsspec. fsspec, con adaptadores integrados para almacenamiento de objetos, webdav, GitHub, Dropbox, entre otros, es fundamental en este proceso de extracción de datos.

Código y proyectos

drawpyo: Genera gráficos Draw.io programáticamente

  • drawpyo: Genera gráficos Draw.io programáticamente : Drawpyo es una biblioteca de Python creada por MerrimanInd para generar gráficos de Diagrams.net/Draw.io de forma programática. Permite crear objetos de diagrama, colocar y estilizar objetos, y luego escribir el objeto en un archivo. El autor menciona que Draw.io es una excelente opción para diagramas de documentación debido a su gratuidad, ligereza y portabilidad de archivos en formato XML.

The Best Python Cheat Sheet

  • The Best Python Cheat Sheet : El respositorio de Kieranholland nos ofrece una cheat sheet de trucos densa de Python con lo esencial. Se enfoca en principios de diseño como centrarse en el núcleo de Python, ser selectiva, estar densamente empaquetada, bien enlazada y imprimible. Invita a sugerencias y feedback de los usuarios para mejorar. El autor es Kieran Holland.

REBOUND: Código N-Body de Uso Múltiple

  • REBOUND: Código N-Body de Uso Múltiple : REBOUND es un integrador N-body de código abierto desarrollado por Hanno Rein. Permite integrar la dinámica de partículas bajo la influencia de la gravedad, siendo flexible y personalizable para resolver problemas en astrofísica. Incluye integradores simétricos, de alta precisión y no simétricos, soporte para dinámica colisional, visualización en 3D y más. Todo el código es 100% de código abierto en GitHub.

Narwhals: Capa de compatibilidad entre Polars, Pandas, cuDF y más

  • Narwhals: Capa de compatibilidad entre Polars, Pandas, cuDF y más : Marco Gorelli presenta Narwhals, una capa de compatibilidad ligera y extensible entre Polars, pandas, Modin y cuDF. Permite usar un subconjunto de la API de Polars sin dependencias, con APIs lazy y eager, y soporte para expresiones Polars. Con solo 0.3 MB y cero dependencias, Narwhals es ideal para mantener la compatibilidad entre bibliotecas. Autor: Marco Gorelli.

Reduce the Size of GeoJSON Files with geojson-shave

  • Reduce the Size of GeoJSON Files with geojson-shave : El autor Ben Nour comparte en GitHub geojson-shave, una herramienta de línea de comandos para reducir el tamaño de archivos GeoJSON. Permite truncar coordenadas, eliminar espacios innecesarios y anular valores de propiedades. Se recomienda usar con precaución para no perder precisión. Se puede instalar con ‘pip install geojson-shave’.

Implementación oficial para Mini-Gemini

  • Implementación oficial para Mini-Gemini : Implementación oficial para Mini-Gemini, un proyecto que soporta modelos de lenguaje de gran tamaño con comprensión, razonamiento y generación de imágenes simultáneamente. Basado en LLaVA, el autor destaca la importancia de este repositorio. Se detallan los modelos disponibles, el proceso de instalación, entrenamiento, evaluación y ejemplos. Todo el contenido está disponible en mini-gemini.github.io.

Genera fácilmente tablas de calidad de publicación con información detallada desde Python

2-5X faster 80% less memory QLoRA & LoRA finetuning

  • 2-5X faster 80% less memory QLoRA & LoRA finetuning : Unsloth.ai logra acelerar el proceso de finetuning de modelos como Gemma y Mistral hasta 5 veces más rápido y con un 80% menos de memoria. Además, se menciona que ahora soportan ventanas de contexto más largas. Todo esto sin necesidad de cambiar de hardware. Autor: Unsloth.ai.

Open-source observability for your LLM application, based on OpenTelemetry

Open-source observability for your LLM application, based on OpenTelemetry

  • Open-source observability for your LLM application, based on OpenTelemetry : Biblioteca Anthropic Python que brinda acceso conveniente a la API REST de Anthropic desde cualquier aplicación Python 3.7+. Incluye definiciones de tipos para todos los parámetros de solicitud y campos de respuesta, y ofrece clientes síncronos y asíncronos. Se recomienda el uso de python-dotenv para manejar claves API de forma segura. El autor del artículo es GitHub.

Conductor: Plataforma de orquestación basada en eventos

  • Conductor: Plataforma de orquestación basada en eventos : Conductor es una plataforma de orquestación de eventos creada originalmente en Netflix. Conductor OSS es mantenida por el equipo de desarrolladores de Orkes junto con la comunidad de código abierto. Para participar en el desarrollo, se puede acceder al repositorio en GitHub. La última versión publicada de Netflix Conductor es la 3.15.0, que seguirá recibiendo soporte. Autor: Desconocido.

Aplicación web alojada localmente que te permite realizar diversas operaciones en archivos PDF

  • Aplicación web alojada localmente que te permite realizar diversas operaciones en archivos PDF : Stirling PDF es una herramienta robusta de manipulación de PDF basada en web, alojada localmente y utilizando Docker. Desarrollada originalmente por ChatGPT, esta aplicación web te permite realizar operaciones como dividir, fusionar, convertir, reorganizar, agregar imágenes, rotar, comprimir y más. No realiza llamadas salientes para seguimiento, asegurando la privacidad de los archivos. Tecnologías utilizadas: Spring Boot, PDFBox, LibreOffice, OcrMyPdf, HTML, CSS, JavaScript, Docker, PDF.js, PDF-LIB.js. Autor: Stirling-Tools.

Plataforma de seguridad de API de código abierto proactiva

  • Akto: Plataforma de seguridad de API de código abierto proactiva : Plataforma de seguridad de API de código abierto que ofrece pruebas en CI/CD, una biblioteca de pruebas con más de 150 pruebas y la posibilidad de agregar pruebas personalizadas. El autor destaca la exposición de datos sensibles y la importancia de mantener un inventario de APIs. Akto se integra con diversas fuentes de tráfico y ofrece cobertura para las principales categorías de seguridad. Akto es utilizado por equipos de seguridad para encontrar vulnerabilidades y problemas en tiempo de ejecución.

TimefoldAI: El optimizador IA de código abierto

  • TimefoldAI: El optimizador IA de código abierto : TimefoldAI es el sucesor de OptaPlanner, desarrollado por el equipo de OptaPlanner. Optimiza problemas como enrutamiento de vehículos, asignación de empleados, asignación de tareas y programación de mantenimiento. Descubre más en timefold.ai. Este artículo fue escrito por el equipo de TimefoldAI.

Simple Android PDF viewer based on pdf.js and content providers

  • Simple Android PDF viewer based on pdf.js and content providers : Aplicación de visor de PDF para Android basada en pdf.js y proveedores de contenido. El autor implementa un WebView sandboxed donde se alimenta el flujo de PDF sin dar acceso a contenido o archivos. Utiliza CSP para garantizar que JavaScript y estilos dentro del WebView sean estáticos. El código de renderizado de PDF es seguro en memoria, con evaluación de código dinámico deshabilitada. Fuente: GrapheneOS.

Kompute: Un marco de GPU para procesamiento de datos avanzado

CuPy: Una implementación de arrays multidimensionales compatibles con NumPy en CUDA

Jax: Transformaciones componibles de programas Python+NumPy

Introducción a cuDF: una biblioteca de DataFrame para GPU

asciigraph 0.6: Biblioteca de renderizado de gráficos ASCII

  • asciigraph 0.6: Biblioteca de renderizado de gráficos ASCII : asciigraph 0.6 es una biblioteca de larga data para renderizar gráficos de líneas básicos en texto ASCII, ideal para terminales, sin dependencias. La versión 0.6 añade soporte para agregar una leyenda a los gráficos coloreados. Escrito por Rohit Gupta.

Charcoal: Mejora en utf8.Valid sin usar SIMD

  • Charcoal: Mejora en utf8.Valid sin usar SIMD : Charcoal, desarrollado por Sugawara Yuuta, ofrece la misma API que la versión de la biblioteca estándar pero es hasta un 50% más rápido al verificar si un texto está compuesto por runas UTF-8 válidas, sin necesidad de usar SIMD.

Log 0.4: Una biblioteca de registro colorida para Go

  • Log 0.4: Una biblioteca de registro colorida para Go : Una biblioteca de registro colorida para Go, creada por Charm, que ofrece ‘registro personalizable, colorido y legible para humanos con todo incluido’. La versión 0.4 te permite personalizar los niveles de registro a tu gusto.

go-toml 2.2: Biblioteca Go para el formato TOML

  • go-toml 2.2: Biblioteca Go para el formato TOML : go-toml 2.2 es una biblioteca en Go para el formato TOML, inventado por Tom Preston-Werner, cofundador de GitHub. El autor del artículo, Thomas Pelletier, destaca la coincidencia de nombres con el creador del formato. Una combinación fantástica para trabajar con configuraciones en Go.

Creando un Motor de Raycasting 3D sobre Ebitengine

  • Creando un Motor de Raycasting 3D sobre Ebitengine : Eric H nos introduce en la creación de un motor de raycasting 3D sobre Ebitengine, una plataforma de desarrollo de juegos en 2D. Aunque Ebitengine es en 2D, el raycasting permite renderizar entornos 3D de forma sencilla utilizando primitivas 2D. Descubre más en este artículo con ejemplos visuales. ▶️ Example video.

gocron: Un paquete de cron en Golang

  • gocron: Un paquete de cron en Golang : gocron es un paquete de cron que te permite ejecutar funciones en Go en intervalos predefinidos. Puedes encontrar más información en la documentación de GitHub. El autor de este artículo es el equipo de go-co-op/gocron.

Katana 1.1: Novedades en la versión 1.1.0

  • Katana 1.1: Novedades en la versión 1.1.0 : La versión 1.1.0 de Katana trae nuevas funcionalidades como el rastreo pasivo introducido por @dogancanbakir y la opción de excluir objetivos a rastrear. Se han corregido errores como redirecciones y funcionalidades de filtro. También se han realizado cambios adicionales y se han sumado nuevos colaboradores como @beac0n5, @toufik-airane, @niudaii y @geeknik.

Gin middleware for session management

  • Gin middleware for session management : El repositorio contiene una herramienta con soporte multi-backend que incluye gestión de sesiones basadas en cookies, Redis, memcached, MongoDB, GORM, memstore y PostgreSQL. Incluye ejemplos básicos y de backend para cada tipo de sesión. Escrito por el equipo de GitHub. Se destaca la versatilidad de esta herramienta para la gestión de sesiones en aplicaciones web.

Ebitengine 2.6.7

  • Ebitengine 2.6.7 : Ebitengine (anteriormente conocido como Ebiten) es un motor de juego de código abierto para el lenguaje de programación Go. Su API simple permite desarrollar fácilmente juegos 2D desplegables en múltiples plataformas. Creado por Hajime Hoshi, cuenta con gráficos 2D, entrada de usuario, audio y más. Licenciado bajo Apache 2.0. Para más detalles, visita ebitengine.org.

NATS.go 1.34

  • NATS.go 1.34 : NATS.go 1.34 es un cliente Golang para el sistema de mensajería NATS. El artículo detalla su instalación, uso básico, JetStream, API de servicio, conexiones codificadas, autenticación con Nkeys y credenciales de usuario, TLS, uso de canales en Go, suscripciones comodín, grupos de colas, uso avanzado, compatibilidad con versiones anteriores y licencia. Escrito por el equipo de NATS.io.

Posts que te pueden interesar:


LinkedIn

comments powered by Disqus