Newsletter Blog Cristian Palau

Python

Building a search engine in Python

  • Building a search engine in Python : En este post, Alex Molas explica la creación de un motor de búsqueda desde cero utilizando Python. El autor comparte el código en su repositorio de GitHub (microsearch). Esta implementación, aunque no es para producción, es un ejemplo práctico que muestra cómo funciona un motor de búsqueda..

Pydantic: Simplificando la Validación de Datos en Python

  • Pydantic: Simplificando la Validación de Datos en Python : En este artículo de Real Python se discute el poder de Pydantic, la biblioteca de análisis, validación y serialización de datos más popular de Python. En este tutorial práctico, aprenderás cómo hacer que tu código sea más robusto, confiable y fácil de depurar con Pydantic.

Mejores Prácticas de Seguridad en Python para Desarrolladores Web

Python en 2024

  • Python en 2024 : Michael Kennedy, conocido por TalkPython, presentó esta ponencia en PyCon Filipinas. Aborda temas como las tendencias de Python en código, asyncio, Flask y Django, eliminación del GIL y más.

Nueva versión: Python 3.11.9

  • Nueva versión: Python 3.11.9 : Python 3.11.9 es la última versión de Python 3.11, con mejoras y correcciones de errores. Incluye nuevas características como PEP 657, PEP 654, PEP 673, PEP 646, PEP 680, PEP 675, PEP 655, entre otros.

Nuevas versiones: Python 3.12.3 and 3.13.0a6

  • Nuevas versiones: Python 3.12.3 and 3.13.0a6 : Python 3.13.0a6 es la última versión alpha antes de la restructuración de algunas funciones, incluyendo mejoras como la colorización de trazas de excepciones, un JIT experimental, recolector de basura incremental, entre otros.

Optimización del framework de Verificación de Django

  • Optimización del framework de Verificación de Django : El autor Adam Johnson explora las mejoras realizadas en el framework de verificación de Django para acelerar su rendimiento en proyectos grandes. Este framework actúa como un linter específico que se ejecuta al iniciar comandos de Django, brindando protección contra errores de configuración.

Código F-String que uso cada día

  • Código F-String que uso cada día : Pawel Jastrzebski explora el código f-string que utiliza a diario en Python. Aunque es una herramienta común, a veces es difícil recordar la sintaxis de formato.

Clean Code in Python

  • Clean Code in Python : En el artículo de NIK TOMAZIC habla sobre la importancia de escribir código limpio en Python, facilitando su lectura. Se mencionan herramientas útiles para lograr este objetivo.

Shape typing en Python

  • Shape typing en Python : Jim explora cómo Python ha avanzado en tipos estáticos, mostrando un ejemplo de multiplicación de matrices con especificación de formas de entrada y salida. Introduce el concepto de ‘Mat[N, M]’ para garantizar la seguridad de tipos en operaciones.

Python es muy Portable

  • Python es muy Portable : Gautham Venkatasubramanian describe un ejecutable de Python de prueba construido en Cosmopolitan Libc, permitiendo su ejecución en seis sistemas operativos. Detalla el proceso de compilación, solución de errores y la posibilidad de agregar módulos de la biblioteca estándar. A pesar de algunas limitaciones, destaca la conveniencia de tener una aplicación que funcione en diferentes sistemas operativos.

Ejemplos de Gráficos en Python

  • Ejemplos de Gráficos en Python : Python Graph Gallery ofrece cientos de ejemplos de gráficos fundamentales para inspirar a desarrolladores. Desde mapas hasta gráficos circulares, cada visualización es una obra maestra lista para su publicación.

PEP 744 – Compilación JIT

  • PEP 744 – Compilación JIT : El PEP 744 introduce la compilación JIT en CPython, representando un cambio significativo en la forma en que se ejecuta el código Python. Brandt Bucher explica las decisiones de diseño, el estado actual de la implementación y los planes futuros. Se destaca la generación de un compilador JIT de alta calidad a partir de la misma DSL utilizada para el resto del intérprete.

Operadores lógicos en Python

  • Operadores lógicos en Python : En el artículo de Maame Afia Fordjour se explica cómo se utilizan los operadores para realizar operaciones lógicas y aritméticas en Python y como actúan sobre valores y variables.

Programación concurrente con Python

  • Programación concurrente con Python : Azanul Haque explora la programación concurrente en Python, que permite gestionar múltiples tareas aparentemente al mismo tiempo. Aprovechando la capacidad de cambiar rápidamente entre ellas, se logra la ilusión de paralelismo, mejorando la capacidad de respuesta y el rendimiento en cargas de trabajo ligadas a E/S.

Java

Cómo usar correctamente Excepciones en Java

  • Cómo usar correctamente Excepciones en Java : Maarten Balliauw explora cómo manejar excepciones en Java, destacando la importancia de manejarlas efectivamente para construir aplicaciones robustas. Describe las categorías de excepciones en Java, cómo utilizar bloques try…catch para manejar excepciones, la limpieza de recursos con try…with…resources, la propagación de excepciones y la re-lanzamiento de excepciones. También comparte las mejores prácticas para el manejo de excepciones en Java.

Java 23: Se anuncian oficialmente las nuevas características

  • Java 23: Se anuncian oficialmente las nuevas características : El artículo de CoderOasis anuncia las nuevas características del Java Development Kit 23 (JDK), destacando la API Vector, Stream Gatherers y tipos primitivos en patrones. Se espera que la versión se lance el 19 de septiembre. Se menciona también la mejora en el manejo de memoria y la eliminación de métodos de nivel medio en Java CodeBuilder. Además, se incluyen ejemplos de código para ilustrar las nuevas funcionalidades.

Explorando Stream Gatherers en Java 22

  • Explorando Stream Gatherers en Java 22 : Tukasz Rola continúa la exploración de los Stream Gatherers en Java 22, detallando los recolectores integrados como fold, mapConcurrent, scan, windowFixed y windowSliding. Muestra ejemplos prácticos de cada uno, demostrando su funcionalidad y versatilidad en el API de Stream de Java.

Importancia de las pruebas unitarias en el diseño de código

  • Importancia de las pruebas unitarias en el diseño de código : Mark Andreev explica en su artículo la importancia del diseño de código bien estructurado y las pruebas unitarias para su mantenimiento. Un código bien diseñado es la base de cualquier sistema de software, facilitando su comprensión, modificación y extensión, y haciéndolo resistente a los cambios del entorno empresarial.

JEP 476: Declaraciones de Importación de Módulos

  • JEP 476: Declaraciones de Importación de Módulos : Mejora el lenguaje de programación Java con la capacidad de importar de manera concisa todos los paquetes exportados por un módulo. Esto simplifica la reutilización de bibliotecas modulares, sin necesidad de que el código de importación esté en un módulo. Esta característica de vista previa fue propuesta por Jim Laskey & Gavin Bierman.

Guía del programador para JDK Flight Recorder

Java Withers

  • Java Withers : JEP 468 propone una solución que puede surgir al modelar estado mutable con registros inmutables: creación de registros derivados, también conocidos como expresiones withers. Esto facilitará y hará más conciso crear una copia de una instancia de registro mientras se cambian solo algunos componentes.

50 Preguntas y Respuestas para preparar una entrevista de trabajo en Java

  • 50 Preguntas y Respuestas para preparar una entrevista de trabajo en Java : Como menciona Soma, en este artículo se recopilan 50 preguntas y respuestas de entrevista de Java para practicar. Se abarcan conceptos de POO, fundamentos de Java, framework de colecciones en Java, programación multihilo, utilidades de concurrencia, debugging de aplicaciones Java, algoritmos, estructuras de datos, patrones de diseño, JVM, etc.

Lanzamiento alfa de Hibernate 7

  • Lanzamiento alfa de Hibernate 7 : El artículo escrito por Steve Ebersole anuncia el lanzamiento de la versión 7.0.0.Alpha1 de Hibernate, que incluye nuevas características, mejoras y correcciones. Destaca la migración a Jakarta Persistence 3.2, el requisito de Java 17, un nuevo XSD para mapeo y validaciones más estrictas del modelo de dominio. Se recomienda consultar la Guía de Migración para más detalles.

JEP 473: Stream Gatherers (Second Preview)

  • JEP 473: Stream Gatherers (Second Preview) : Mejora el API Stream para admitir operaciones intermedias personalizadas. Viktor Klang explica que esta actualización permitirá transformar datos de formas no alcanzables con las operaciones intermedias integradas. Se propone re-previsualizar el API en JDK 23 para obtener más experiencia y retroalimentación. El objetivo es hacer las canalizaciones de stream más flexibles y expresivas, sin cambiar el lenguaje de programación Java.

Llamando a Gemma con Ollama, TestContainers y LangChain4j

  • Llamando a Gemma con Ollama, TestContainers y LangChain4j : Guillaume Laforge nos presenta cómo llamar a Gemma, el modelo de lenguaje de Google, con Ollama y LangChain4j. Explica cómo ejecutar Gemma localmente con Ollama, y cómo containerizarlo con TestContainers para facilitar su uso en Java. La integración con LangChain4j permite usar modelos compatibles con Ollama en aplicaciones Java. Una solución innovadora para aplicaciones Java potenciadas por IA.

Uso correcto de las nuevas características de Java 21

  • Uso correcto de las nuevas características de Java 21 :^Jonathan Vila, destaca la importancia de utilizar correctamente las nuevas funcionalidades de Java 21 para mejorar el rendimiento y la claridad del código. Se presentan 11 reglas clave, como el uso de ‘Math.clamp’ y ‘switch’ en lugar de ‘if-else’, junto con recomendaciones sobre el uso de Virtual Threads. Se enfatiza la importancia de herramientas como SonarLint para garantizar un código eficiente y legible.

Introducción a BLD

  • Introducción a BLD : Ethan McCue presenta BLD, una nueva herramienta build de proyectos para el ecosistema Java. A diferencia de Maven y Gradle, BLD es simple y se ejecuta directamente con código Java. Además, se pueden agregar dependencias, escribir pruebas y comandos personalizados. Una alternativa interesante a considerar.

Hibernate se traslada a la Fundación Commonhaus

  • Hibernate se traslada a la Fundación Commonhaus : Hibernate se une a proyectos como Jackson, OpenRewrite, Morphia y JBang en la Fundación Commonhaus, con el objetivo de abrir espacio a otras empresas y grupos en el proyecto. La transición busca superar la percepción de que Hibernate está dominado por una sola compañía.

Spring Tips: el Lenguaje de expresions de Spring

Mastering Java Message Service: A Jakarta EE Developer’s Guide

Guía del programador para JDK Flight Recorder

  • Guía del programador para JDK Flight Recorder : Joakim Nordström nos presenta en Inside Java una guía del programador para JDK Flight Recorder, una herramienta de perfilado y resolución de problemas de bajo costo integrada en la Máquina Virtual de Java. Nordström explora el API de programación de JFR, mostrando cómo crear eventos específicos de la aplicación y utilizar el API como fuente de datos para infraestructuras personalizadas.

Foojay Podcast #47: Inteligencia Artificial y Aprendizaje Automático con Java

  • Foojay Podcast #47: Inteligencia Artificial y Aprendizaje Automático con Java : El artículo de foojay .io presenta el podcast #47 donde se discute sobre Inteligencia Artificial y Aprendizaje Automático con Java. El autor, Frank Delporte, Java Champion y desarrollador, explora cómo programar IA con Java y las implicaciones futuras. Se mencionan proyectos como LangChain4j y TornadoVM, junto con la evolución de Java para manejar mejor la IA.

Nuevas versiones de Hibernate Search 7.1.1.Final/7.0.1.Final/6.2.4.Final

  • Nuevas versiones de Hibernate Search 7.1.1.Final/7.0.1.Final/6.2.4.Final : Hibernate Search, la librería que integra Hibernate ORM con Apache Lucene o Elasticsearch, ha lanzado las versiones 7.1.1.Final, 7.0.1.Final y 6.2.4.Final. Estas actualizaciones incluyen correcciones menores en la documentación, compatibilidad con nuevas versiones de Elasticsearch y OpenSearch, y algunas correcciones de errores. Para más detalles, visita hibernate.org. El autor de este artículo es Marko Bekhta.

Spring Framework 6.1.6, 6.0.19 and 5.3.34 Disponibles Ahora con Correcciones para CVE-2024-22262

Kicking off the Spring Framework 6.2 milestone phase

  • Kicking off the Spring Framework 6.2 milestone phase : Juergen Hoeller presenta el inicio de la fase de hitos 6.2 del Spring Framework. La versión 6.2.0-M1 trae mejoras en el contenedor principal, incluyendo un nuevo algoritmo de autowiring y soporte mejorado para pruebas. Esta versión es compatible con la 6.1.x y se espera su inclusión en Spring Boot 3.4 en noviembre. ¡Prueba esta nueva versión y comparte tu experiencia! Juergen Hoeller.

Lanzamiento de Spring Data 2023.1.5 y 2023.0.11

  • Lanzamiento de Spring Data 2023.1.5 y 2023.0.11 : Mark Paluch anuncia los lanzamientos de Spring Data 2023.1.5 y 2023.0.11. Estas versiones incluyen actualizaciones de dependencias, correcciones y mejoras seleccionadas en varios proyectos como Spring Data JPA, Spring Data MongoDB y Spring Data Redis, entre otros. Las próximas versiones de Spring Boot, 3.2.5 y 3.1.11, incorporarán estos lanzamientos la próxima semana.

Spring HATEOAS 2.1.5, 2.2.2 and 2.3 RC1 released

  • Spring HATEOAS 2.1.5, 2.2.2 and 2.3 RC1 released : Oliver Drotbohm anuncia la disponibilidad de Spring HATEOAS 2.1.5, 2.2.2 y 2.3 RC1, con actualizaciones del Spring Framework para corregir una CVE. Estas versiones se incluirán en el próximo lanzamiento de Spring Boot. Para más información sobre formación, certificación y eventos de la comunidad Spring, visita el sitio web de Spring.

Spring for Apache Pulsar 1.0.5

  • Spring for Apache Pulsar 1.0.5 : Chris Bono anuncia el lanzamiento de Spring for Apache Pulsar 1.0.5, disponible en Maven Central. Esta versión incluye actualizaciones de dependencias y estará en Spring Boot 3.2.5. Para más detalles, consultar las notas de la versión. VMware ofrece formación y certificación, y Tanzu Spring Runtime brinda soporte y binarios para OpenJDK™, Spring y Apache Tomcat® en una suscripción.

Quarkus 3.9.3

  • Quarkus 3.9.3 : La versión de Quarkus 3.9.3 ha sido lanzada. Incluye correcciones de errores y mejoras en la documentación. Se recomienda actualizar con ‘quarkus update’.

Dissolving Design Patterns In Design Elements

  • Dissolving Design Patterns In Design Elements : El enste artículo se analiza cómo los patrones de diseño se disuelven en elementos de diseño, destacando la importancia del libro ‘Design Patterns: Elements of Reusable Object-Oriented Software’ y la visión menos conocida de los Meta-Patrones.

Lecciones aprendidas al construir la plataforma de datos de IA/ML de LinkedIn

Go

Evolución del rendimiento de Go de la versión 1.0 a 1.22

Resultados de la Encuesta de Desarrolladores de Go del primer semestre de 2024

  • Resultados de la Encuesta de Desarrolladores de Go del primer semestre de 2024 : El equipo de Go presenta los resultados de la Encuesta de Desarrolladores de Go del primer semestre de 2024. Según la encuesta AI, los Gophers consideran que Go es un buen lenguaje para nuevos casos de uso. Se destaca la necesidad de más bibliotecas y herramientas, especialmente equivalentes a las populares de Python.

¿Es Go un lenguaje de programación orientado a objetos?

Microsoft lanza un blog sobre Go

IA y Data science

Introducing the OpenAI Batch API

  • Introducing the OpenAI Batch API : OpenAI ha lanzado la Batch API que permite realizar peticiones batch de forma asíncronas como: resúmenes, traducciones y clasificación de imágenes. Los desarrolladores solo tienen que subir un archivo con solicitudes masivas y recibirán resultados en 24 horas, con un descuento del 50% en los precios de la API.

Code Search is Hard

  • Code Search is Hard : Tom MacWright, explica los desafíos para mejorar la funcionalidad de búsqueda de código en vez de lenguaje natural, destacando la actual situación de las soluciones de búsqueda estándar para código. Propone el uso de pg_trgrm para implementar la búsqueda de trigramas en Postgres, inspirado en experiencias de Google y GitHub. Se analizan diversas opciones de herramientas de búsqueda de código.

Nimble, un nuevo formato de archivos columnar

  • Nimble, un nuevo formato de archivos columnar : En esta charla, Yoav Helfman de Meta presenta Nimble, un nuevo formato de archivo columnar desarrollado por Meta, antes conocido como Alpha. Helfman explora las razones detrás de este nuevo formato y ofrece una visión de su funcionamiento interno.

Introducción visual a los Transformadores

  • Introducción visual a los Transformadores : En este video, se explora de manera visual los conceptos básicos de los transformadores, como sus requisitos previos y funcionamiento. Una lectura ideal para aquellos que desean comprender de forma sencilla este tema.

Lecciones después de consumir medio billón de tokens GPT

Libros de Machine Learning para Ingenieros

  • Libros de Machine Learning para Ingenieros : Descubre una lista de 11 títulos esenciales en cuatro categorías: Machine Learning & Algoritmos, Matemáticas & Estadística, Data Science & Análisis, y Herramientas & Frameworks. Estos libros, recomendados por Bill de hÓra, se centran en aplicaciones prácticas de machine learning utilizando Python y frameworks populares como Pytorch, Tensorflow y Sklearn, ideales para ingenieros de software que buscan ampliar sus conocimientos en ML.

Tutorial sobre RAG desde cero - LangChain Engineer

Embeddings: Información básica para el desarrollador de aplicaciones que quiere aprender sobre IA

General

Oh My Git: Un juego de código abierto para aprender Git

Introducing lcl.host

  • Introducing lcl.host : lcl.host, una herramienta gratuita para desarrolladores web creada por Ben Burkert. Con lcl.host, obtienes un entorno con navegador seguro en desarrollo que coincide con tu entorno de producción. Elimina problemas de activos mixtos, errores CORS y configuraciones incorrectas de cookies antes de que causen problemas en producción.

Notas sobre los mensajes de error de Git

  • Notas sobre los mensajes de error de Git : Julia Evans explora los mensajes de error de Git y comparte estrategias para entenderlos. Destaca la dificultad de mejorar los mensajes de error y ofrece consejos prácticos. Por ejemplo, al enfrentar un error al hacer git push en una rama divergente, sugiere usar git status para entender la situación. Evans también aborda mensajes de error al hacer git pull , git checkout , git switch , git rebase y git clean .

HTTP/2 y HTTP/3 en detalle

  • HTTP/2 y HTTP/3 en detalle : AlexandreHTRB, detalla la evolución de HTTP desde sus inicios en los años 90 hasta las versiones actuales. Se explican las diferencias entre HTTP/1.1, HTTP/2 y HTTP/3, destacando cómo HTTP/3 resuelve el bloqueo de línea de cabecera con QUIC sobre UDP, aunque HTTP/2 sigue siendo más eficiente en conexiones estables.

Entendiendo los índices de base de datos en PostgreSQL

  • Entendiendo los índices de base de datos en PostgreSQL : En este artículo Paweł Dąbrowski explora la importancia de los índices en las consultas a la base de datos. Se detallan los tipos de índices, como B-tree, Hash, GiST, SP-GiST, GIN y BRIN, junto con buenas prácticas para su uso y mantenimiento. Se destaca la relevancia de seleccionar el tipo de índice adecuado y mantenerlos actualizados para mejorar el rendimiento de las consultas.

Acelerando Polars DataFrames con GPU

  • Acelerando Polars DataFrames con GPU : Polars y los ingenieros de NVIDIA han llegado un acuerdo para llevar aceleración GPU a Polars. Con este acuerdo, Polars podrá aprovechar tanto la CPU como la GPU, acelerando significativamente ciertas cargas de trabajo.

SQLite en producción

La Experiencia de Usuario de los UUIDs

  • La Experiencia de Usuario de los UUIDs : Andreas Thomas explora la importancia de los identificadores únicos en las aplicaciones y propone mejoras para la experiencia del usuario. Desde hacerlos fáciles de copiar hasta añadir prefijos significativos, Thomas destaca cómo pequeños cambios pueden mejorar la usabilidad. También sugiere codificar en base58 para obtener identificadores más eficientes. Implementar estas mejoras puede hacer que la gestión de entidades sea más amigable y robusta.

Cómo configuré mi terminal para máxima productividad

  • Cómo configuré mi terminal para máxima productividad : Jordan Cutler explica la configuración de su terminal y comparte comandos que usa a diario como el gestor de plugins, los temas, los mejores plugins y la configuración del historial, así como diversas utilidades para la línea de comandos.

Estrategias de versionado de API

  • Estrategias de versionado de API : BYTEBYTEGO explora diferentes estrategias de versionado de API en este artículo. Desarrollar una API implica mucho trabajo, desde la planificación hasta la implementación. Es crucial tener una estrategia de versionado clara y fácil de entender para evitar confusiones entre los desarrolladores.

Fundamentos de Bases de Datos

  • Fundamentos de Bases de Datos : Tony Solomonik reflexiona sobre su desconocimiento de las diferencias entre bases de datos al iniciar un nuevo proyecto. Tras leer ‘Database Internals’ de Alex Petrov y ‘Designing Data-Intensive Applications’ de Martin Kleppmann, crea su propia base de datos llamada dbeel. El artículo resume los problemas fundamentales que un ingeniero de bases de datos considera, según Solomonik.

Código y proyectos

Ludic: Nuevo framework para Python con soporte Htmx integrado

  • Ludic: Nuevo framework para Python con soporte Htmx integrado : Ludic es un nuevo framework ligero para construir páginas HTML dinámicas en Python puro, creado por paveldedik. Permite integración sin problemas con htmx.org, aprovechando las características de Python 3.12. Ofrece componentes guiados por tipos, alto rendimiento con Starlette y desarrollo web asíncrono. Ideal para aplicaciones web dinámicas y seguras.

Aider: Programación IA en tu terminal

  • Aider: Programación IA en tu terminal : Aider es una herramienta de línea de comandos que te permite programar en con GPT-3.5/GPT-4 para editar código almacenado en tu repositorio git local. Aider editará directamente el código en tus archivos fuente locales y realizará commits en git con mensajes descriptivos. Puedes comenzar un nuevo proyecto o trabajar con un repositorio git existente. Aider te permite solicitar cambios en bases de código más grandes.

Monolith - Herramienta cliente para guardar páginas web completas como un solo archivo HTML

Bruno: Cliente de API de código abierto rápido y compatible con Git (alternativa a Postman)

DrawDB: Herramienta de diseño ER y generador de SQL

Sparrow: Procesamiento de datos ML y LLM

  • Sparrow: Procesamiento de datos ML y LLM : Solución de código abierto innovadora para la extracción y procesamiento eficiente de datos de diversos documentos e imágenes. Destaca por su arquitectura modular, ofreciendo servicios independientes y pipelines optimizados para un rendimiento robusto. Sparrow permite integrar y ejecutar pipelines de extracción de datos utilizando herramientas como LlamaIndex, Haystack o Unstructured, con agentes independientes como llamaindex, vllamaindex, vprocessor, haystack, fcall y unstructured-light.

Integración de Python y Excel con xlwings

  • Integración de Python y Excel con xlwings : xlwings es una biblioteca de Python que facilita la integración de Python con Excel y viceversa. Permite llamar a funciones de Python desde Excel y viceversa, simplificando la automatización de tareas.

Vanna: Chat con tu base de datos SQL

  • Vanna: Chat con tu base de datos SQL : Framework en Python de código abierto con licencia MIT, que permite la generación de consultas SQL a través de LLMs con RAG. Se detalla cómo entrenar a Vanna y cómo hacerle preguntas para obtener consultas SQL precisas.

Open Interpreter: Interfaz LLM local*

PostgreSQL Index Advisor

  • PostgreSQL Index Advisor : PostgreSQL Index Advisor es una extensión de PostgreSQL que recomienda índices para mejorar el rendimiento de las consultas. Soporta parámetros genéricos y vistas materializadas, y puede identificar tablas y columnas obfuscadas por vistas.

go-mysql-server

  • go-mysql-server : Base de datos relacional compatible con MySQL implementada en Go.

pylyzer: Analizador de código estático para Python

  • pylyzer: Analizador de código estático para Python : Analizador de código estático para Python, escrito en Rust. Proyecto que destaca por su rendimiento y análisis detallado, superando en velocidad a herramientas como pylint y pyright. Además, ofrece informes legibles y soporte LSP completo, siendo una alternativa a Ruff, enfocado en linting.

Redka: Redis re-implemented with SQLite

  • Redka: Redis re-implemented with SQLite : Redka es un proyecto de Anton Zhiyanov que re-implementa Redis con SQLite, manteniendo compatibilidad con la API de Redis. Permite almacenar datos que no caben en RAM, transacciones ACID, vistas SQL, servidores en proceso (API de Go) y autónomos (RESP), comandos compatibles con Redis y protocolo de cable. Actualmente en progreso, con planes detallados para la versión 1.0.

trdsql: Herramienta para Ejecutar Consultas SQL en Datos Basados en Texto

  • trdsql: Herramienta para Ejecutar Consultas SQL en Datos Basados en Texto : trdsql: Herramienta para Ejecutar Consultas SQL en Datos Basados en Texto - Noboru Saito presenta trdsql, una herramienta de línea de comandos que puede ejecutar consultas SQL (en sintaxis de Postgres o MySQL) en archivos CSV, LTSV, JSON, YAML y TBLN. También puede ser utilizado como una biblioteca dentro de aplicaciones en Go.

Huma 2.13.0: Construye APIs respaldadas por OpenAPI y JSON Schema

go-xmpp: Biblioteca Go XMPP 0.2

  • go-xmpp: Biblioteca Go XMPP 0.2 : La biblioteca Go XMPP, originalmente escrita por Russ Cox, ahora cuenta con una nueva versión 0.2. Este proyecto, liderado por Yasuhiro Matsumoto, se enfoca en facilitar la comunicación a través del protocolo XMPP en aplicaciones escritas en Go. Encuentra más información en golang.org.

Decimal 1.4

  • Decimal 1.4 : ‘Decimal 1.4’ automatización de flujos de trabajo, gestión de paquetes, seguridad, entornos de desarrollo instantáneos, inteligencia artificial para escribir código, revisión de código, planificación de trabajo y colaboración.

Wish: Make SSH apps, just like that!

  • Wish: Make SSH apps, just like that! : Wish es un servidor SSH con configuraciones predeterminadas y middlewares que facilitan la creación de aplicaciones SSH. Wish permite construir aplicaciones personalizadas utilizando Go, con middlewares como Bubble Tea para servir aplicaciones Bubble Tea sobre SSH.

Otto 0.4

  • Otto 0.4 : Otto es un intérprete de JavaScript en Go. La herramienta permite ejecutar código JavaScript desde Go, con funciones como Run, Set, Get y Call. También se mencionan limitaciones como la incompatibilidad con ‘use strict’ y algunas expresiones regulares. El proyecto cuenta con 7.8k estrellas en GitHub y una licencia MIT.

VHS: Tu grabadora de video casera para la terminal

  • VHS: Tu grabadora de video casera para la terminal : VHS es una herramienta para grabar GIFs de la terminal. Con VHS, puedes crear archivos ‘.tape’ con comandos para simular acciones en la terminal y luego generar GIFs. Puedes instalar VHS con gestores de paquetes o Docker, grabar acciones en archivos ‘.tape’ y publicar GIFs en servidores. VHS también ofrece un servidor SSH integrado para acceder a comandos y aplicaciones en el host.

Ebiten 2.7.1

  • Ebiten 2.7.1 : Ebiten 2.7.1 es una actualización del motor de juegos 2D para Go. Desarrollado por Hajime Hoshi, Ebiten permite crear juegos fácilmente en múltiples plataformas como Windows, macOS, Linux, Android, iOS, WebAssembly, Nintendo Switch y Xbox. Incluye gráficos 2D, entrada de usuario, audio y más. Licenciado bajo Apache 2.0.

Open Parse: Mejora en el análisis de archivos para LLM

  • Open Parse: Mejora en el análisis de archivos para LLM : Librería flexible y fácil de usar para analizar y dividir eficazmente documentos complejos. Se destaca su capacidad para analizar diseños de documentos visualmente y agruparlos de manera efectiva, superando las limitaciones de otras librerías de código abierto. Se enfoca en la precisión en la extracción de tablas y el soporte básico de Markdown.

Reader: Convierte cualquier URL en una entrada friendly para LLM

  • Reader: Convierte cualquier URL en una entrada friendly para LLM : ‘Reader’ convierte cualquier URL en una entrada friendly para LLM. Permite mejorar la salida para agentes y sistemas RAG de forma gratuita. Desarrollado por Jina AI, ahora también soporta la lectura de imágenes. Se puede utilizar en modo estándar o de streaming, y ofrece un modo JSON.

Genera tablas impresionantes en Python con Great Tables

  • Genera tablas impresionantes en Python con Great Tables : Great Tables, una herramienta para crear tablas de calidad desde Python. La filosofía se centra en trabajar con componentes de tabla cohesivos, permitiendo mezclar elementos como encabezados, pies de página, etiquetas de columnas y mucho más. Además, se destaca la posibilidad de formatear los valores de celda de diversas formas.

lenssort: Crea efectos al estilo Snapchat

  • lenssort: Crea efectos al estilo Snapchat : El autor BernardZhao presenta lenssort, un proyecto que utiliza reconocimiento facial y pixelsorting en imágenes para crear efectos estilo Snapchat. Se puede utilizar con Docker o de forma manual, requiriendo Python 3.6 >=. Incluye diferentes tipos de máscaras y parámetros para personalizar los efectos.

OpenDevin: Agente de programación de IA de código abierto

  • OpenDevin: Agente de programación de IA de código abierto : Proyecto que replica a Devin, un Agente de programación capaz de ejecutar tareas complejas y colaborar activamente en proyectos de desarrollo de software. El equipo del proyecto, liderado por la comunidad de código abierto, trabaja en mejorar las capacidades del agente, la interfaz de usuario y la evaluación del sistema.

django-pony-express: Emails basados en clases para Django

Nava: Reproducir Sonidos en Python sin dependencias

  • Nava: Reproducir Sonidos en Python sin dependencias : Nava es un proyecto creado para reproducir sonidos sin dependencias ni restricciones de plataforma. Ideal para desarrolladores, Nava es ligero y fácil de usar en sistemas operativos como Windows, macOS y Linux. Permite reproducir sonidos en formatos como .wav y .mp3, con opciones de reproducción asíncrona y en bucle.

makefile-parser-python: Un sencillo analizador de Makefile

Alternativas modernas a comandos Unix

  • Alternativas modernas a comandos Unix : Colección de alternativas modernas y más rápidas a los comandos Unix comunes. Descubre cómo mejorar tu flujo de trabajo con estas herramientas actualizadas.

AutoRAG: Encuentra un pipeline RAG óptimo para tus datos

  • AutoRAG: Encuentra un pipeline RAG óptimo para tus datos : AutoRAG es una herramienta para encontrar el pipeline RAG óptimo para tus datos. Evalúa automáticamente varios módulos RAG con tus propios datos y encuentra el mejor pipeline para tu caso de uso. Desarrollado por Marker-Inc-Korea, AutoRAG simplifica la evaluación de múltiples combinaciones de módulos RAG.

Proyecto Open-Sora-Plan: Reproducción del modelo Sora de Open AI

Call all LLM APIs using the OpenAI format

  • Call all LLM APIs using the OpenAI format : El artículo ‘Call all LLM APIs using the OpenAI format’ menciona cómo utilizar diferentes APIs LLM como Bedrock, Azure, OpenAI, Cohere, Anthropic, Ollama, Sagemaker, HuggingFace, Replicate. El autor destaca la importancia de LiteLLM para gestionar las llamadas entre proveedores como Azure, OpenAI y Cohere.

Evaluation framework for your Retrieval Augmented Generation (RAG) pipelines

Chat2DB: Un cliente SQL inteligente y versátil con capacidades de ChatGPT

Hatchet: Una cola de tareas distribuida y tolerante a fallos

  • Hatchet: Una cola de tareas distribuida y tolerante a fallos : Hatchet es una herramienta para diseñar cargas de trabajo persistentes que se recuperan de fallos. Con funciones como baja latencia, equidad, límites de velocidad y control mejorado, Hatchet es ideal para casos de uso como IA generativa, procesamiento por lotes y orquestación de flujos de trabajo.

Posts que te pueden interesar:


LinkedIn

comments powered by Disqus