Category: Desarrollo

Retis: Rastreo de Paquetes en la Pila de Red de Linux

2024-12-19

Retis es una herramienta que utiliza sondas eBPF para rastrear paquetes en la pila de red de Linux. Interactúa con rutas de control y datos como Open vSwitch y Netfilter, lo que la hace útil para depurar problemas de red, explorar la pila de red de Linux o probar funciones de red. Ofrece filtrado y rastreo de paquetes, recuperando metadatos e información contextual además del propio paquete. No requiere compilación en el sistema objetivo y tiene capacidades de posprocesamiento, como reconstruir el recorrido de un paquete. Fácil de usar, con perfiles predefinidos y soporte para sondas y filtros personalizados, Retis ofrece flexibilidad y facilidad de uso.

Botan: Kit de Criptografía C++ Moderno

2024-12-19

Botan es una potente biblioteca de criptografía C++ de código abierto, lanzada bajo la licencia BSD simplificada permisiva. Su objetivo es ser la mejor opción para criptografía en C++, ofreciendo herramientas para implementar diversos sistemas como el protocolo TLS, certificados X.509, cifras AEAD modernas, soporte de hardware PKCS#11 y TPM, hash de contraseñas y esquemas criptográficos post-cuánticos. Incluye un enlace Python y varios otros enlaces de idiomas están disponibles. La biblioteca se acompaña de una interfaz de línea de comandos con muchas funciones. La versión más reciente es la 3.6.1 y está disponible a través de muchas distribuciones, incluyendo Fedora, Debian, Arch y Homebrew.

Desarrollo

Trofaf: Un generador de blogs estático simple y en vivo en Go

2024-12-19

Trofaf es un generador de blogs estático simple y en vivo escrito en Go. Solo necesita tres directorios (posts, public, templates) y genera un sitio web estático a partir de archivos markdown y front matter, actualizándose automáticamente cuando se detectan cambios. Ofrece opciones de línea de comandos para la personalización y prioriza la simplicidad sobre las funciones extensas, lo que lo hace ideal para los usuarios que buscan una solución de blog sencilla.

Lanzamiento de Fish Shell 4.0: Reescrito en Rust para un Rendimiento Mejorado

2024-12-19

Fish shell, un shell de línea de comandos conocido por su facilidad de uso y funciones inteligentes, ha lanzado la versión 4.0. El cambio más significativo es la reescritura completa de la base de código de C++ a Rust, lo que resulta en una mejor eficiencia de computación moderna. La versión 4.0 también cuenta con muchas características nuevas, como atajos de teclado más naturales y una búsqueda de historial mejorada, diseñadas para hacer la experiencia de la línea de comandos más fácil y agradable. Para garantizar la estabilidad, el proyecto ha lanzado una versión beta pública invitando a todos los usuarios a participar en las pruebas.

Desarrollo

Preocupaciones de un Desarrollador Senior: Desconexión Creciente con la Generación Más Joven

2024-12-19

Un desarrollador veterano con 25 años de experiencia expresa una creciente desconexión con los desarrolladores web más jóvenes. Observa una falta de comprensión con respecto a los métodos tradicionales de desarrollo web (aplicaciones que no son de una sola página) y confusión entre los frameworks de JavaScript y JavaScript puro. Esto lleva a una reflexión sobre los niveles de abstracción en evolución en la educación en programación y el enfoque en habilidades específicas. Usando un programa de juegos para desarrolladores como ejemplo, destaca que algunas preguntas de 'ciencia de la computación' enfatizan excesivamente detalles específicos de JavaScript, descuidando principios computacionales más amplios. Esto no es una crítica a los desarrolladores más jóvenes, sino una observación y preocupación sobre las tendencias del sector, y una reflexión sobre la creciente especialización en el campo de la programación.

Desarrollo brecha generacional

Universidad renueva el plan de estudios de programación: Enfoque en el diseño explícito y sistemático

2024-12-19

El departamento de informática de la Northeastern University ha desarrollado un plan de estudios de programación único que enfatiza el diseño de programas explícito y sistemático, en lugar de centrarse en los lenguajes de programación de moda. El plan de estudios comienza con un lenguaje de enseñanza simple, introduciendo gradualmente los principios de diseño a los estudiantes antes de aplicarlos a lenguajes industriales. Este enfoque fomenta el razonamiento lógico y las habilidades para resolver problemas de software grandes y complejos. El plan de estudios también destaca los aspectos sociales de la programación, fomentando la programación en parejas para mejorar la comunicación y la colaboración. Este método no solo mejora las perspectivas laborales de los estudiantes, sino que también sienta una base sólida para sus futuras carreras.

Desarrollo diseño de programa

Descubrimiento arqueológico revela 14 enfoques de seguridad de memoria, revolucionando la programación

2024-12-19

Un ingeniero de software desenterró un texto antiguo en una ciudad maya, revelando 14 enfoques sorprendentes de seguridad de memoria que van mucho más allá de la comprensión actual de los lenguajes de programación. Estos métodos incluyen técnicas tradicionales como la verificación de préstamos, el conteo de referencias y la recolección de basura, junto con innovaciones sin precedentes, como la gestión de memoria basada en regiones, las referencias generacionales y el conteo de referencias lineal. Este descubrimiento no solo amplía nuestra comprensión de la seguridad de memoria, sino que también presagia la dirección futura de los lenguajes de programación, con el potencial de revolucionar el desarrollo de software.

Teclado Revolucionario: Diseño Dinámico Basado en Cadenas de Markov

2024-12-19

¿Cansado de los diseños de teclado estáticos? ¡El proyecto MarkovKeyboard revoluciona la escritura! Utiliza un algoritmo de cadena de Markov para ajustar dinámicamente el diseño del teclado según tus hábitos de escritura, acercando las teclas usadas con frecuencia a la fila de inicio. Esta biblioteca de Emacs actualiza el diseño con cada pulsación de tecla. Aunque actualmente solo admite letras, se adapta dinámicamente. Puedes usar un modelo preentrenado o entrenar tus propios datos para un diseño personalizado.

Firenvim: Integra Neovim en tu navegador para una edición mejorada

2024-12-19

Firenvim es una extensión de navegador que integra perfectamente el editor Neovim en Chrome, Firefox y otros navegadores. Con un simple clic en cualquier textarea, puedes editar instantáneamente el contenido de la página web usando las potentes funciones de Neovim. Guarda los cambios con ':w' y cierra el editor con ':q'. La instalación es sencilla y las amplias opciones de personalización te permiten ajustar el comportamiento del plugin, incluyendo la selección de elementos, las configuraciones de adquisición automática, las opciones de línea de comandos y mucho más. Firenvim ofrece funciones avanzadas como el disparo manual, la desactivación temporal, la configuración personalizada, el manejo de caracteres especiales y la interacción con la página web. Sin embargo, ten en cuenta que pueden surgir problemas de compatibilidad con ciertos sitios web.

Desarrollo edición de código

Proyecto de código abierto yadm en GitHub: Otro gestor de archivos de configuración

2024-12-19

yadm es un gestor de archivos de configuración (dotfiles) basado en Git, que admite archivos alternativos específicos del sistema o archivos con plantillas, y que cifra datos privados utilizando herramientas como GnuPG y OpenSSL. Ofrece inicialización y ganchos personalizables para ejecutar scripts personalizados antes y después de cualquier operación. Las funciones incluyen agregar, confirmar, cifrar y descifrar archivos, y crear configuraciones específicas del sistema operativo. Dirección del proyecto: https://github.com/yadm-dev/yadm

Reservoirs Lab: GUI ligera para base de datos vectorial Postgres

2024-12-19

Reservoirs Lab es una aplicación Electron ligera que se conecta directamente a una base de datos Postgres para visualizar incrustaciones vectoriales de alta dimensionalidad almacenadas junto con datos estructurados. Los usuarios pueden explorar sus datos de forma interactiva y ver las correlaciones entre los metadatos y la similitud semántica de las incrustaciones vectoriales. Las características incluyen la integración con Postgres, la visualización vectorial, la exploración de vecindad y un flujo de trabajo local que preserva la privacidad.

Calendario de Adviento Perl 2024: 'La Mitad de Mi Vida con Perl' de Randal Schwartz

2024-12-19

El Calendario de Adviento Perl 2024 presenta una presentación de video única de Randal Schwartz, titulada 'La Mitad de Mi Vida con Perl'. Randal, un veterano de Perl, relata su viaje con el lenguaje desde sus primeros días hasta la era moderna, incluyendo su participación en la creación de los libros Camel y Llama, y sus anécdotas humorísticas sobre cómo conquistar el foro comp.unix.questions con Perl 2. Esta es la primera vez que se incluye un video en el Calendario de Adviento Perl, ofreciendo una perspectiva nueva y atractiva sobre la historia del lenguaje.

GreptimeDB: Una inmersión profunda en el manejo de errores para proyectos Rust de gran tamaño

2024-12-19

Esta publicación del blog de GreptimeDB profundiza en sus prácticas de manejo de errores dentro de proyectos Rust de gran tamaño. Se detalla cómo construyeron una pila de errores más barata y precisa para reemplazar los seguimientos de pila del sistema, cómo organizan los errores en proyectos grandes y cómo presentan los errores de manera diferente a los registros y a los usuarios finales. GreptimeDB aprovecha el crate snafu para la gestión de errores e implementa una "pila de usuario virtual". Este enfoque resulta más eficiente y económico en cuanto a memoria que los seguimientos de pila del sistema, proporcionando mensajes de error más claros y comprensibles tanto para desarrolladores como para usuarios finales.

Desarrollo

Piccolo OS: Un pequeño sistema operativo multitarea para Raspberry Pi Pico

2024-12-19

Piccolo OS es un pequeño sistema operativo multitarea diseñado para Raspberry Pi Pico, principalmente como herramienta educativa. Demuestra los fundamentos de un sistema operativo multitarea cooperativo y la arquitectura Arm Cortex-M0+. Las tareas se programan de forma sencilla, en round-robin, utilizando punteros de pila MSP y PSP para el cambio de contexto y la transición entre los modos Thread y Handler. Si bien se ha simplificado su funcionalidad, ilustra claramente los principios centrales de un sistema operativo multitarea, lo que lo hace ideal para aprender sobre los aspectos internos de un sistema operativo.

Desarrollo sistema operativo

ScyllaDB cambia a una licencia de código fuente disponible para su base de datos

2024-12-19

ScyllaDB anunció que está cambiando su producto estrella, ScyllaDB Enterprise, de código cerrado a una licencia de código fuente disponible, ofreciendo un nivel gratuito con todas las capacidades empresariales. Esto simplifica su flujo de lanzamiento dual, proporcionando un mayor valor a la comunidad. El futuro implica un único flujo de lanzamiento, consolidando las funciones principales para mejorar el rendimiento y la eficiencia; los ejemplos incluyen la adición/eliminación de nodos 30 veces más rápida mediante streaming basado en archivos y la priorización de la carga de trabajo para equilibrar varias cargas de trabajo en un solo clúster. Si bien puede ser impopular entre algunos usuarios de código abierto, ScyllaDB cree que este cambio beneficia a la empresa y acelera el progreso en los hitos de la hoja de ruta, como Raft para datos, elasticidad de tablet optimizada y almacenamiento en niveles (S3).

Desmontando el Mito de la RAM: Optimizando el Acceso a la Memoria

2024-12-19

Este artículo desafía la idea errónea común sobre la memoria de computadora moderna, el mito de la RAM, que asume que el acceso a la memoria siempre es aleatorio y uniforme. Al analizar algoritmos de particionamiento de datos, el autor demuestra que los algoritmos lineales simples son ineficientes para conjuntos de datos grandes debido a frecuentes fallos de caché. Para abordar esto, se propone una estrategia optimizada basada en la clasificación por radix. Técnicas como la preclasificación de datos, el uso de generadores y la preasignación de memoria mejoran significativamente la eficiencia del particionamiento de datos. Los resultados experimentales muestran que el algoritmo optimizado logra una aceleración de 2,5 a 9 veces al procesar conjuntos de datos grandes.

El compilador MoonBit ahora es de código abierto: Un lenguaje de programación de alto rendimiento para WebAssembly

2024-12-19

Después de dos años de desarrollo, el compilador MoonBit, incluyendo su backend Wasm, ¡ahora es de código abierto! MoonBit pretende ser un lenguaje de programación optimizado para WebAssembly, conocido por su velocidad, compacidad y facilidad de uso. Esta versión utiliza una licencia SSPL modificada, permitiendo a los usuarios elegir libremente la licencia para sus artefactos generados y permitiendo modificaciones al compilador para fines no comerciales. El equipo eligió esta licencia para mantener la estabilidad mientras el proyecto aún está en versión beta y para evitar que grandes proveedores de la nube hagan un mal uso de su trabajo. En el futuro, MoonBit planea abrir el código de más componentes y generar ingresos a través de servicios de hosting y SDKs de hardware, con el objetivo de construir un ecosistema de comunidad vibrante.

Incorporación de Lua en Rust para el análisis estático de SQL configurable en sqleibniz

2024-12-19

sqleibniz, una herramienta de análisis estático de SQL para el dialecto SQLite, se ha mejorado con scripts Lua para una mayor capacidad de configuración y extensibilidad. El autor detalla la integración usando la biblioteca mlua en Rust, cubriendo la conversión de estructuras de datos, las llamadas a funciones Lua y el manejo de errores. Los scripts Lua permiten a los usuarios definir reglas y ganchos personalizados, permitiendo un análisis estático flexible, como diagnósticos personalizados y comprobaciones de estilo. Esto mejora significativamente la extensibilidad y la experiencia del usuario de sqleibniz.

Desarrollo Análisis estático

Sintaxis SQL sin base de datos: Presentamos Musoq

2024-12-18

Musoq es un proyecto de código abierto que permite a los desarrolladores consultar diversas fuentes de datos, como archivos, directorios e imágenes, utilizando una sintaxis similar a SQL, sin necesidad de una base de datos. Cuenta con una arquitectura de plugins que admite varias fuentes de datos, incluyendo sistemas de archivos, archivos de archivado, repositorios Git, código C#, recursos de Docker y Kubernetes, e incluso integra modelos de IA como OpenAI y Ollama para análisis avanzados. Musoq tiene como objetivo simplificar la consulta de datos, aumentando la eficiencia del desarrollador, especialmente para consultas ad-hoc en conjuntos de datos pequeños y medianos. Si bien emplea una sintaxis similar a SQL, no es totalmente compatible con SQL; priorizando una sintaxis fácil de usar y una ejecución eficiente.

Desarrollo Consulta de Datos

Solaar de código abierto: Un administrador de dispositivos Linux para dispositivos Logitech

2024-12-18

Solaar es un administrador de dispositivos Linux de código abierto para muchos teclados, ratones y otros dispositivos Logitech que se conectan de forma inalámbrica a un receptor Unifying, Bolt, Lightspeed o Nano, así como muchos dispositivos Logitech que se conectan mediante cable USB o Bluetooth. No es un controlador de dispositivo; responde a mensajes especiales de dispositivos que de otro modo serían ignorados por el sistema de entrada de Linux. Solaar admite el emparejamiento/desemparejamiento de dispositivos con receptores, la configuración de la configuración de los dispositivos, la configuración de botones personalizados y la ejecución de reglas en respuesta a mensajes especiales de los dispositivos. Las opciones de instalación incluyen paquetes precompilados y compilación de código fuente.

Desarrollo

K8s Cleaner: Optimice sus clústeres de Kubernetes

2024-12-18

K8s Cleaner es una herramienta de limpieza de clústeres de Kubernetes diseñada para administradores. Identifica y elimina eficientemente los recursos no utilizados para mejorar el rendimiento del clúster y reducir los costos operativos. Admite todos los tipos de recursos, incluidos los CRD, y ofrece reglas predefinidas y opciones personalizables (basadas en tiempo, etiquetas o scripts Lua personalizados). Las notificaciones se envían a través de Slack, correo electrónico y más, mientras que un modo de ejecución en seco evita cambios accidentales. K8s Cleaner agiliza la gestión de recursos de Kubernetes.

Java para Programas Pequeños: Scripts y Notebooks

2024-12-18

Este artículo explora la sorprendente eficacia de Java para programas pequeños, especialmente scripts y programación exploratoria. El autor detalla cómo las características de Java, como las clases implícitas, los registros y los enums, simplifican el código, destacando la facilidad de ejecutar scripts Java sin compilación (usando JEP 330 y JEP 458). También se discute la gestión de dependencias externas con JBang. El artículo profundiza en el uso de Java en Jupyter Notebooks, reconociendo las limitaciones actuales, pero expresando esperanza para futuras mejoras en el ecosistema. La experiencia del autor automatizando tareas tediosas muestra la fortaleza de Java en comparación con alternativas como scripts bash y Python, enfatizando las ventajas del tipado estático y el soporte robusto de herramientas.

Desarrollo

BlackSheep: Un framework web ASGI rápido y ligero para Python

2024-12-18

BlackSheep es un framework web ASGI asincrónico y rápido para Python, inspirado en Flask, ASP.NET Core y el trabajo de Yury Selivanov. Ofrece una CLI para el arranque rápido de proyectos, admite la vinculación automática, la inyección de dependencias, la generación de documentación OpenAPI y varias estrategias de autenticación y autorización. BlackSheep cuenta con una amplia compatibilidad con plataformas y entornos de ejecución e incluye características como middleware, WebSocket, SSE, servicio de archivos estáticos e integración con Jinja2, lo que lo hace ideal para construir aplicaciones web de alto rendimiento.

Desarrollo Asíncrono

GitHub Copilot: Tu compañero de programación con IA

2024-12-18

GitHub Copilot es un compañero de programación con tecnología de IA que proporciona sugerencias de código en tiempo real basadas en tu código y en indicaciones de lenguaje natural. Es compatible con múltiples lenguajes de programación e IDE, ofreciendo planes gratuitos y de pago para adaptarse a diferentes necesidades. Copilot cuenta con potentes funciones de depuración y corrección de vulnerabilidades de seguridad, además de edición multiarchivo y compatibilidad multiplataforma. Si bien se ha entrenado con repositorios de código público, no copia ni pega código, sino que genera sugerencias de forma probabilística, ofreciendo un filtro de referencia de código opcional para mitigar las preocupaciones sobre derechos de autor.

Zipshare: Compartir pantalla Android sin esfuerzo para equipos de soporte

2024-12-18

Zipshare ofrece un fácil intercambio de pantalla Android, ideal para equipos de soporte interno que ayudan a empleados de tiendas o empleados sobre el terreno. No se necesita registro ni ID de reunión para la persona que comparte su pantalla, solo intercambio instantáneo — agregue su propio chat de voz o video. Una producción de Miso Software.

ISO 8583: El lenguaje secreto de las tarjetas de crédito

2024-12-18

Cada vez que usas tu tarjeta o pagas en línea, estás interactuando con el protocolo ISO 8583. Este estándar, definido en 1987, define el formato de los mensajes de transacción en tiempo real entre las redes bancarias. Incluye campos principales como indicadores de tipo de mensaje, mapas de bits y elementos de datos, pero las redes varían en sus extensiones y métodos de serialización, lo que lleva a desafíos de compatibilidad. Este artículo analiza las complejidades de la estructura del ISO 8583, la codificación de campos, el manejo de mensajes anidados y demuestra cómo construir un analizador ISO 8583 robusto para manejar variaciones de red y escenarios de error.

Actualización de Castle Game Engine: Objetivo web, compatibilidad con IFC y colaboración con mORMot

2024-12-18

El equipo de Castle Game Engine anunció actualizaciones que incluyen un objetivo web (usando JS+WebAssembly para la ejecución de juegos en el navegador), compatibilidad con el formato IFC (Industry Foundation Classes) y edición colaborativa usando mORMot2. El objetivo web actualmente maneja funciones básicas y se está mejorando el soporte WebGL. La compatibilidad con IFC permite cargar, modificar y guardar modelos, con mejoras futuras planificadas. La edición colaborativa aún está en desarrollo, pero ya permite la modificación del mundo 3D y la sincronización del servidor.

Brisk: Un framework GUI C++20 multiplataforma para renderizado de alto rendimiento

2024-12-18

Brisk es un framework GUI C++20 moderno y multiplataforma diseñado para crear aplicaciones receptivas y de alto rendimiento con facilidad. Aprovechando una arquitectura MVVM y capacidades reactivas, Brisk cuenta con renderizado escalable acelerado por GPU, lo que lo hace ideal para proyectos con uso intensivo de gráficos. Admite varios backends (D3D11, D3D12, Vulkan, OpenGL, Metal, WebGPU) y presenta GUI declarativa, hojas de estilo y soporte completo para Unicode. Actualmente en desarrollo activo, se agradecen las contribuciones.

Desarrollo Framework GUI

Hadrius busca Diseñador/a UI/UX fundador/a, hasta US$ 150.000

2024-12-18

Hadrius, una startup fintech respaldada por Y Combinator, busca un Diseñador/a UI/UX fundador/a. Están utilizando IA para automatizar la administración interna de empresas financieras, previniendo futuras crisis financieras. El puesto es a tiempo completo en la ciudad de Nueva York, ofreciendo un salario de US$ 80.000 a US$ 150.000 y opciones sobre acciones del 0,01% al 0,15%. El candidato ideal es un diseñador altamente cualificado con experiencia en una empresa tecnológica centrada en el diseño, experto en Figma y apasionado por la misión de Hadrius. El equipo cuenta con ingenieros de Google, Chime y otras empresas líderes, y la empresa está experimentando un crecimiento hiperacelerado, duplicando sus ingresos cada tres meses.

Desarrollo Diseño UI/UX

Herramientas de Poder para el Liderazgo: SQL, Estadística y Decisiones Basadas en Datos

2024-12-18

Este artículo explora cómo los líderes de ingeniería pueden aprovechar SQL y métodos estadísticos para la toma de decisiones basada en datos. El autor destaca que muchos líderes de ingeniería no se sienten cómodos extrayendo e interpretando datos, recomendando aprender SQL (por ejemplo, usando DuckDB) y herramientas estadísticas. El artículo abarca estadísticas descriptivas, distribuciones, intervalos de confianza y razonamiento bayesiano, demostrando cómo calcular intervalos de confianza analizando datos de seguimiento de errores de Firefox, usando simulaciones de Monte Carlo para la estimación del tiempo del proyecto y aplicando inferencia bayesiana para actualizar las probabilidades de finalización del proyecto. El artículo enfatiza la importancia de las habilidades de análisis de datos para los líderes de ingeniería, permitiendo predicciones y decisiones más precisas.

1 3 5 6 7 8 9